• Home
  • Textbooks
  • Operating System Concepts Essentials
  • The Linux System

Operating System Concepts Essentials

Abraham Silberschatz, Peter B. Galvin, Greg Gagne

Chapter 15

The Linux System - all with Video Answers

Educators


Chapter Questions

Problem 1

Dynamically loadable kernel modules give flexibility when drivers are added to a system, but do they have disadvantages too? Under what circumstances would a kernel be compiled into a single binary file, and when would it be better to keep it split into modules? Explain your answer.

Check back soon!

Problem 2

Multithreading is a commonly used programming technique. Describe three different ways to implement threads, and compare these three methods with the Linux clone() mechanism. When might using each alternative mechanism be better or worse than using clones?

Check back soon!
01:22

Problem 3

The Linux kernel does not allow paging out of kernel memory. What effect does this restriction have on the kernel’s design? What are two advantages and two disadvantages of this design decision?

Adam Conner
Adam Conner
Numerade Educator

Problem 4

Discuss three advantages of dynamic (shared) linkage of libraries compared with static linkage. Describe two cases in which static linkage is preferable.

Check back soon!

Problem 5

Compare the use of networking sockets with the use of shared memory as a mechanism for communicating data between processes on a single computer. What are the advantages of each method? When might each
be preferred?

Check back soon!

Problem 6

At one time, UNIX systems used disk-layout optimizations based on the rotation position of disk data, but modern implementations, including Linux, simply optimize for sequential data access. Why do they do so? Of what hardware characteristics does sequential access take advantage? Why is rotational optimization no longer so useful?

Check back soon!

Problem 7

What are the advantages and disadvantages of writing an operating system in a high-level language, such as $C$ ?

Check back soon!
01:10

Problem 8

In what circumstances is the system-call sequence fork() exec () most appropriate? When is vfork () preferable?

James Kiss
James Kiss
Numerade Educator

Problem 9

What socket type should be used to implement an intercomputer file-transfer program? What type should be used for a program that periodically tests to see whether another computer is up on the network? Explain your answer.

Check back soon!

Problem 10

Linux runs on a variety of hardware platforms. What steps must Linux developers take to ensure that the system is portable to different processors and memory-management architectures and to minimize the amount of architecture-specific kernel code?

Check back soon!

Problem 11

What are the advantages and disadvantages of making only some of the symbols defined inside a kernel accessible to a loadable kernel module?

Check back soon!

Problem 12

What are the primary goals of the conflict-resolution mechanism used by the Linux kernel for loading kernel modules?

Check back soon!
01:10

Problem 13

Discuss how the clone() operation supported by Linux is used to support both processes and threads.

Patina Herring
Patina Herring
Numerade Educator
00:59

Problem 14

Would you classify Linux threads as user-level threads or as kernel-level threads? Support your answer with the appropriate arguments.

James Kiss
James Kiss
Numerade Educator
02:16

Problem 15

What extra costs are incurred in the creation and scheduling of a process, compared with the cost of a cloned thread?

Ameer Said
Ameer Said
Numerade Educator

Problem 16

The Linux scheduler implements soft real-time scheduling. What features necessary for certain real-time programming tasks are missing? How might they be added to the kernel?

Check back soon!
02:06

Problem 17

Under what circumstances would a user process request an operation that results in the allocation of a demand-zero memory region?

Adam Conner
Adam Conner
Numerade Educator

Problem 18

What scenarios would cause a page of memory to be mapped into a user program's address space with the copy-on-write attribute enabled?

Check back soon!

Problem 19

In Linux, shared libraries perform many operations central to the operating system. What is the advantage of keeping this functionality out of the kernel? Are there any drawbacks? Explain your answer.

Check back soon!
View

Problem 20

The directory structure of a Linux operating system could include files corresponding to several different file systems, including the Linux /proc file system. How might the need to support different file-system types affect the structure of the Linux kernel?

James Kiss
James Kiss
Numerade Educator

Problem 21

In what ways does the Linux setuid feature differ from the setuid feature in standard Unix?

Check back soon!

Problem 22

The Linux source code is freely and widely available over the Internet and from CD-ROM vendors. What are three implications of this availability for the security of the Linux system?

Check back soon!