Chapter Review


[Page 573 (continued)]

Checklist

In this chapter, I described:

  • the layering of kernel subsystems

  • the difference between user mode and kernel mode.

  • the implementation of system calls and interrupt handlers

  • the physical and logical layout of the file system

  • inodes

  • the algorithm that the kernel uses for translating pathnames into inode numbers

  • the process hierarchy

  • process states


  • [Page 574]
  • how the scheduler decides to allocate the CPU

  • memory management

  • the I/O subsystem and buffering

  • interprocess communication via pipes and sockets

Quiz

1.

Why do system calls make use of kernel mode?

2.

Where is the name of a file stored?

3.

What information does the superblock contain?

4.

How does Linux avoid using bad blocks?

5.

Why is inode #2 special?

6.

What is the meaning of the term magic number?

7.

What is the meaning of the term context switch?

8.

If a signal is sent to a process that is suspended, where is it stored?

9.

What does the swapper do?

10.

What is the purpose of the task list?

11.

How does Linux copy a parent's data to its child?

12.

What is the meaning of the term "copy-on-write"?

13.

What is the purpose of the open file list?

Exercises

1.

Using ps, find the process on the system with the lowest process ID (PID). What is the process and why does it have this PID? [level: easy]

2.

Delayed writing normally causes a modified buffer to be flushed when its RAM is needed, not when its file is closed. An alternative method is to flush modified buffers when disk traffic is low, thereby making the best use of the idle time. Critique this strategy. [level: medium]

Projects

1.

Investigate some other operating systems such as Mac OS X and Windows XP. How do they compare to Linux? [level: medium]

2.

If you know object-oriented techniques, design a basic object-oriented kernel where system services are provided by a collection of system objects. How does the design of your kernel differ from the Linux kernel? [level: hard]




Linux for Programmers and Users
Linux for Programmers and Users
ISBN: 0131857487
EAN: 2147483647
Year: 2007
Pages: 339

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net