Operating System Concepts. Small footprint operating systems, such as those driving the handheld devices that the baby dinosaurs are using on the cover, are just one of the cutting-edge applications you'll find in Silberschatz, Galvin, and Gagne's Operating System Concepts, Seventh Edition. By staying current, remaining relevant.
Each computer system includes a basic set of programs called the operating system. The most important program in the set is called the kernel. It is loaded into RAM when the system boots and contains many critical procedures that are needed for the system to operate. The other programs are less crucial utilities; they can provide a wide variety of interactive experiences for the user—as well as doing all the jobs the user bought the computer for—but the essential shape and capabilities of the system are determined by the kernel. The kernel provides key facilities to everything else on the system and determines many of the characteristics of higher software. Hence, we often use the term 'operating system' as a synonym for 'kernel.'
The operating system must fulfill two main objectives:
- Interact with the hardware components, servicing all low-level programmable elements included in the hardware platform.
- Provide an execution environment to the applications that run on the computer system (the so-called user programs).
Some operating systems allow all user programs to directly play with the hardware components (a typical example is MS-DOS ). In contrast, a Unix-like operating system hides all low-level details concerning the physical organization of the computer from applications run by the user. When a program wants to use a hardware resource, it must issue a request to the operating system. The kernel evaluates the request and, if it chooses to grant the resource, interacts with the proper hardware components on behalf of the user program.
To enforce this mechanism, modern operating systems rely on the availability of specific hardware features that forbid user programs to directly interact with low-level hardware components or to access arbitrary memory locations. In particular, the hardware introduces at least two different execution modes for the CPU: a nonprivileged mode for user programs and a privileged mode for the kernel. Unix calls these User Mode and Kernel Mode , respectively.
In the rest of this chapter, we introduce the basic concepts that have motivated the design of Unix over the past two decades, as well as Linux and other operating systems. While the concepts are probably familiar to you as a Linux user, these sections try to delve into them a bit more deeply than usual to explain the requirements they place on an operating system kernel. These broad considerations refer to virtually all Unix-like systems. The other chapters of this book will hopefully help you understand the Linux kernel internals.
A multiuser system is a computer that is able to concurrently and independently execute several applications belonging to two or more users. Concurrently means that applications can be active at the same time and contend for the various resources such as CPU, memory, hard disks, and so on. Independently means that each application can perform its task with no concern for what the applications of the other users are doing. Switching from one application to another, of course, slows down each of them and affects the response time seen by the users. Many of the complexities of modern operating system kernels, which we will examine in this book, are present to minimize the delays enforced on each program and to provide the user with responses that are as fast as possible.
Multiuser operating systems must include several features:
- An authentication mechanism for verifying the user's identity
- A protection mechanism against buggy user programs that could block other applications running in the system
- A protection mechanism against malicious user programs that could interfere with or spy on the activity of other users
- An accounting mechanism that limits the amount of resource units assigned to each user
To ensure safe protection mechanisms, operating systems must use the hardware protection associated with the CPU privileged mode. Otherwise, a user program would be able to directly access the system circuitry and overcome the imposed bounds. Unix is a multiuser system that enforces the hardware protection of system resources.
In a multiuser system, each user has a private space on the machine; typically, he owns some quota of the disk space to store files, receives private mail messages, and so on. The operating system must ensure that the private portion of a user space is visible only to its owner. In particular, it must ensure that no user can exploit a system application for the purpose of violating the private space of another user.
All users are identified by a unique number called the User ID, or UID. Usually only a restricted number of persons are allowed to make use of a computer system. When one of these users starts a working session, the system asks for a login name and a password. If the user does not input a valid pair, the system denies access. Because the password is assumed to be secret, the user's privacy is ensured.
To selectively share material with other users, each user is a member of one or more user groups , which are identified by a unique number called a user group ID . Each file is associated with exactly one group. For example, access can be set so the user owning the file has read and write privileges, the group has read-only privileges, and other users on the system are denied access to the file.
Any Unix-like operating system has a special user called root or superuser . The system administrator must log in as root to handle user accounts, perform maintenance tasks such as system backups and program upgrades, and so on. The root user can do almost everything, because the operating system does not apply the usual protection mechanisms to her. In particular, the root user can access every file on the system and can manipulate every running user program.
All operating systems use one fundamental abstraction: the process. A process can be defined either as 'an instance of a program in execution' or as the 'execution context' of a running program. In traditional operating systems, a process executes a single sequence of instructions in an address space; the address space is the set of memory addresses that the process is allowed to reference. Modern operating systems allow processes with multiple execution flows — that is, multiple sequences of instructions executed in the same address space.
Multiuser systems must enforce an execution environment in which several processes can be active concurrently and contend for system resources, mainly the CPU. Systems that allow concurrent active processes are said to be multiprogramming or multiprocessing .[*] It is important to distinguish programs from processes; several processes can execute the same program concurrently, while the same process can execute several programs sequentially.
On uniprocessor systems, just one process can hold the CPU, and hence just one execution flow can progress at a time. In general, the number of CPUs is always restricted, and therefore only a few processes can progress at once. An operating system component called the scheduler chooses the process that can progress. Some operating systems allow only nonpreemptable processes, which means that the scheduler is invoked only when a process voluntarily relinquishes the CPU. But processes of a multiuser system must be preemptable; the operating system tracks how long each process holds the CPU and periodically activates the scheduler.
Unix is a multiprocessing operating system with preemptable processes . Even when no user is logged in and no application is running, several system processes monitor the peripheral devices. In particular, several processes listen at the system terminals waiting for user logins. When a user inputs a login name, the listening process runs a program that validates the user password. If the user identity is acknowledged, the process creates another process that runs a shell into which commands are entered. When a graphical display is activated, one process runs the window manager, and each window on the display is usually run by a separate process. When a user creates a graphics shell, one process runs the graphics windows and a second process runs the shell into which the user can enter the commands. For each user command, the shell process creates another process that executes the corresponding program.
Unix-like operating systems adopt a process/kernel model . Each process has the illusion that it's the only process on the machine, and it has exclusive access to the operating system services. Whenever a process makes a system call (i.e., a request to the kernel, see Chapter 10), the hardware changes the privilege mode from User Mode to Kernel Mode, and the process starts the execution of a kernel procedure with a strictly limited purpose. In this way, the operating system acts within the execution context of the process in order to satisfy its request. Whenever the request is fully satisfied, the kernel procedure forces the hardware to return to User Mode and the process continues its execution from the instruction following the system call.
As stated before, most Unix kernels are monolithic: each kernel layer is integrated into the whole kernel program and runs in Kernel Mode on behalf of the current process. In contrast, microkernel operating systems demand a very small set of functions from the kernel, generally including a few synchronization primitives, a simple scheduler, and an interprocess communication mechanism. Several system processes that run on top of the microkernel implement other operating system-layer functions, like memory allocators, device drivers, and system call handlers.
Although academic research on operating systems is oriented toward microkernels , such operating systems are generally slower than monolithic ones, because the explicit message passing between the different layers of the operating system has a cost. However, microkernel operating systems might have some theoretical advantages over monolithic ones. Microkernels force the system programmers to adopt a modularized approach, because each operating system layer is a relatively independent program that must interact with the other layers through well-defined and clean software interfaces. Moreover, an existing microkernel operating system can be easily ported to other architectures fairly easily, because all hardware-dependent components are generally encapsulated in the microkernel code. Finally, microkernel operating systems tend to make better use of random access memory (RAM) than monolithic ones, because system processes that aren't implementing needed functionalities might be swapped out or destroyed.
To achieve many of the theoretical advantages of microkernels without introducing performance penalties, the Linux kernel offers modules . A module is an object file whose code can be linked to (and unlinked from) the kernel at runtime. The object code usually consists of a set of functions that implements a filesystem, a device driver, or other features at the kernel's upper layer. The module, unlike the external layers of microkernel operating systems, does not run as a specific process. Instead, it is executed in Kernel Mode on behalf of the current process, like any other statically linked kernel function.
The main advantages of using modules include:
Because any module can be linked and unlinked at runtime, system programmers must introduce well-defined software interfaces to access the data structures handled by modules. This makes it easy to develop new modules.
Even if it may rely on some specific hardware features, a module doesn't depend on a fixed hardware platform. For example, a disk driver module that relies on the SCSI standard works as well on an IBM-compatible PC as it does on Hewlett-Packard's Alpha.
A module can be linked to the running kernel when its functionality is required and unlinked when it is no longer useful; this is quite useful for small embedded systems.
Once linked in, the object code of a module is equivalent to the object code of the statically linked kernel. Therefore, no explicit message passing is required when the functions of the module are invoked.[*]
[*] Some multiprocessing operating systems are not multiuser; an example is Microsoft Windows 98.
[*] A small performance penalty occurs when the module is linked and unlinked. However, this penalty can be compared to the penalty caused by the creation and deletion of system processes in microkernel operating systems.
![Concepts Concepts](/uploads/1/2/4/8/124880520/341312767.jpg)
Operating System Concepts by Silberschatz 9th International Soft Ed Same Book
Format: Hardcover$20.37 shippingLanguage: EnglishCustoms services and international tracking providedOperating System Concepts Silberschatz Galvin Gagne 8th Edition Hardcover
Good pre-owned condition. No marked pages, no underlining, highlighting, stains, odors, writing or missing pages. Few pages fold marks, otherwise are in very good condition. Front and back cover have normal wear from stacking.Top Rated PlusWas: Previous Price$29.50Format: HardcoverType: TextbookLanguage: EnglishCustoms services and international tracking providedOperating System Concepts-9th ed.-2014
Operating System Concepts-9th ed.-2014. Condition is Like New. Shipped with USPS Media Mail. No writing no tears Strong binding See pictures for detailsFormat: Paperback$18.35 shippingLanguage: EnglishCustoms services and international tracking providedApplied Operating System Concepts with Windows 200
by Abraham Silberschatz | PaperbackFormat: Paperback$6.98 shippingLanguage: EnglishOperating System Concepts Essentials, Silberschatz, Galvin, Gagne
Used book, in very good conditionLanguage: English$20.16 shippingCustoms services and international tracking providedOperating System Concepts by Abraham Silberschatz, Greg Gagne and Peter B....
Operating System Concepts by Abraham Silberschatz, Greg Gagne and Peter B..... Condition is Acceptable. Shipped with USPS Media Mail.Format: Hardcover$23.77 shippingLanguage: EnglishCustoms services and international tracking providedOperating System Concepts by Abraham Silberschatz; James L. Peterson
by Abraham Silberschatz; James L. Peterson | HC | GoodTop Rated Plus$9.99 shippingFormat: HardcoverLanguage: EnglishOperating System Concepts by Abraham Silberschatz; Peter Baer Galvin
Format: Hardcover$14.46 shippingLanguage: EnglishCustoms services and international tracking providedOperating System Concepts (ExLib) by Abraham; Peter Baer Galvin Silberschatz
by Abraham; Peter Baer Galvin... | PB | VeryGoodTop Rated Plus$9.99 shippingFormat: PaperbackLanguage: EnglishOperating System Concepts By Abraham Silberschatz,Peter B. Galv .9780201504804
Publisher: Addison-Wesley ISBN 13: 9780201504804. Author: Abraham Silberschatz, Peter B. Galvin ISBN 10: 0201504804. Edition: 4th List Price: -. Will be clean, not soiled or stained.From United Kingdom$2.39 shippingFormat: HardcoverLanguage: EnglishOperating System Concepts by Abraham Silberschatz, Greg Gagne... (pdf)
PdfFormat: Hardcover$2.00 shippingLanguage: EnglishSilberschatz- Operating System Concepts 7th Edition Paperback Chinese/English
Silberschatz- Operating System Concepts 7th Edition Paperback Chinese/English. Condition is Good. Shipped with USPS Media Mail. The majority of the book is in English though some of the publishers information and preface is in ChineseSubject: English$19.86 shippingFormat: PaperbackLanguage: EnglishCustoms services and international tracking providedOperating System: Concepts and Techniques: By M Naghibzadeh
Format: Paperback$18.32 shippingLanguage: EnglishCustoms services and international tracking providedOperating System Concepts (6th) by Silberschatz, Galvin and Gagnr 2002
This is a hardcover copy of Operating System Concepts (6th Edition) by Silberschatz, Galvin, and Gagne. It is in excellent condition with no signs of wear.Format: Hardcover$16.97 shippingLanguage: EnglishCustoms services and international tracking providedOperating System Concepts with Java
by Greg Gagne; Abraham Silberschatz;... | HC | GoodTop Rated Plus$9.99 shippingFormat: HardcoverLanguage: EnglishOperating System Concepts (World Student) By Abraham Silberschatz, Peter Baer G
Author: Abraham Silberschatz, Peter Baer Galvin ISBN 10: 0201542625. Binding: Kindle Edition Language: english. Edition: 5th Ed List Price: -. Publisher: Addison-Wesley Longman, Amsterdam ISBN 13: 9780201542622.From United Kingdom$2.39 shippingFormat: PaperbackLanguage: EnglishOperating System Concepts by Abraham Silberschatz
by Abraham Silberschatz | HC | LikeNewTop Rated Plus$9.99 shippingFormat: HardcoverLanguage: EnglishPDF - Operating System Concepts 9th Edition by Abraham Silberschatz
NOTE: This is a PDF version, NOT a physical book.Customs services and international tracking provided$18.18 shippingOperating System Concepts by Abraham Silberschatz, Peter Baer Galvin and Greg...
Format: Hardcover$21.93 shippingLanguage: EnglishCustoms services and international tracking providedOpenVMS Operating System Concepts: By David Miller
Format: Paperback$20.18 shippingLanguage: EnglishCustoms services and international tracking providedOperating System Concepts (Addison-Wesley series i
by James L. Peterson, Abraham Silberschatz | HardcoverFormat: Hardcover$6.98 shippingLanguage: EnglishOperating system concepts
by James Lyle Peterson | HardcoverFormat: Hardcover$6.98 shippingLanguage: EnglishStudyguide For Operating System Concepts By Abraham Silberschatz, Isbn 978047...
Format: Paperback$18.60 shippingLanguage: EnglishCustoms services and international tracking providedOperating System Concepts with Java by Abraham Silberschatz, Peter Baer...
Format: Hardcover$24.03 shippingLanguage: EnglishCustoms services and international tracking providedOperating System Concepts, 6th Edition
by Abraham Silberschatz, Peter B. Galvin, Greg Gagne,Format: Hardcover$6.98 shippingLanguage: EnglishApplied Operating System Concepts By Greg Gagne, Peter B. Galvin, Peter Galvin,
Author: Greg Gagne, Peter B. Galvin, Peter Galvin, Avi Silberschatz ISBN 10: 0471365084. Edition: 1 List Price: -. Will be clean, not soiled or stained.From United Kingdom$2.39 shippingFormat: HardcoverLanguage: EnglishLinux with Operating System Concepts, , Fox, Richard, Good, 2014-08-28,
Authors : Fox, Richard. First Edition : False. Condition : Good. Product Category : Books. Publisher : Routledge.Format: Paperback$14.95 shippingLanguage: EnglishSelected Chapters From Operating System Concepts 9780470927205 - LIKE NEW
Most boxes have been opened for inspection and photos. INCLUDES WHAT IS IN THE PICTURE.Language: English$21.92 shippingCustoms services and international tracking providedOperating System Concepts by Abraham Silberschatz; Peter Baer Galvin
by Abraham Silberschatz; Peter Baer... | HC | LikeNewTop Rated Plus$9.99 shippingFormat: HardcoverLanguage: EnglishSelected Chapters From Operating System Concepts- LIKE NEW
Most boxes have been opened for inspection and photos. INCLUDES WHAT IS IN THE PICTURE.Format: Paperback$21.92 shippingLanguage: EnglishCustoms services and international tracking providedOperating System Concepts Essentials
by Greg Gagne; Peter B. Galvin;... | PB | VeryGoodTop Rated Plus$9.99 shippingFormat: PaperbackLanguage: EnglishOperating System Concepts
by James L. Peterson; Abraham Silberschatz | HC | GoodTop Rated Plus$9.99 shippingFormat: HardcoverLanguage: EnglishOperating System Concepts Abraham Silberschatz
We simply strive to provide students and professionals with the best prices on books and textbooks available online. We want your order to arrive hassle free so that you will want to keep using us for all of you book and textbook needs.Customs services and international tracking provided$15.84 shippingOperating System Concepts Sixth Edition (Windows XP Update)
by Peter Baer Galvin, Greg Gagne... | PB | AcceptableTop Rated Plus$9.99 shippingLanguage: English
Showing slide {CURRENT_SLIDE} of {TOTAL_SLIDES} - Hot this week in Operating System Concepts
Showing slide {CURRENT_SLIDE} of {TOTAL_SLIDES} - Make an Offer
- Operating System Concepts by Silberschatz 9th International Soft Ed Same Book+$20.37 shippingMake Offer - Operating System Concepts by Silberschatz 9th International Soft Ed Same Book
- $32.00Make Offer - Operating System Concepts-9th ed.-2014
- Operating System Concepts Essentials, Silberschatz, Galvin, Gagne+$20.16 shippingMake Offer - Operating System Concepts Essentials, Silberschatz, Galvin, Gagne
- Operating System Concepts by Abraham Silberschatz, Greg Gagne and Peter B....+$23.77 shippingMake Offer - Operating System Concepts by Abraham Silberschatz, Greg Gagne and Peter B....
- Operating System Concepts by Abraham Silberschatz; Peter Baer Galvin+$14.46 shippingMake Offer - Operating System Concepts by Abraham Silberschatz; Peter Baer Galvin
- Applied Operating System Concepts First Edition with Windows 2000 Fifth Edition+$17.08 shippingMake Offer - Applied Operating System Concepts First Edition with Windows 2000 Fifth Edition
- Silberschatz- Operating System Concepts 7th Edition Paperback Chinese/English+$19.86 shippingMake Offer - Silberschatz- Operating System Concepts 7th Edition Paperback Chinese/English
- Operating System Concepts (6th) by Silberschatz, Galvin and Gagnr 2002+$16.97 shippingMake Offer - Operating System Concepts (6th) by Silberschatz, Galvin and Gagnr 2002
- Operating System Concepts by Abraham Silberschatz, Peter Baer Galvin and Greg...+$21.93 shippingMake Offer - Operating System Concepts by Abraham Silberschatz, Peter Baer Galvin and Greg...
- Operating System Concepts by Abraham Silberschatz and Peter B. Galvin (1994, Ha…+$55.40 shippingMake Offer - Operating System Concepts by Abraham Silberschatz and Peter B. Galvin (1994, Ha…
- $49.994d 17hMake Offer - Operating System Concepts Tenth 10th Edition