the linux process manager the internals of scheduling interrupts and signals

848 1.5K 0
the linux process manager the internals of scheduling interrupts and signals

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

[...]... process manager, indeed the whole operating system It is quite a sizeable structure and takes a whole chapter to describe properly This gives an indication of the level of detail of the book As there are many of these structures in existence at the same time, their organisation and manipulation is the subject matter of Chapter 3 The Linux Process Manager The Internals of Scheduling, Interrupts and Signals. .. range of agents outside the running process that may interrupt it at unpredictable times, and the process manager must be able to handle these interruptions The need for seven chapters to cover this is due mainly to the complexity of the interrupt hardware on the i386 architecture Chapter 10 introduces the topic of interrupts and exceptions and gives an overview of how the process manager handles them... delivering these signals to the process The signal handler itself is user-level code, and so to actually run it the kernel must temporarily drop into user mode and then return to kernel mode when it finishes The description of the mechanics of this takes up the whole of Chapter 19 The remainder of the book deals with a number of miscellaneous topics that come under the heading of the process manager Certainly,... services Process manager Memory manager Input–output manager Filesystems Figure 1.1 Network Outline architecture of a Linux system The Linux Process Manager The Internals of Scheduling, Interrupts and Signals # 2003 John Wiley & Sons, Ltd ISBN: 0 470 84771 9 John O’Gorman 2 Introduction 1.1 Overview of the process manager A process is the unit of work in a computer system As a first cut, a process can... users of the book Overview of contents The introduction lives up to its name It zooms in from operating systems, through Linux, to introduce the Linux process manager It introduces the GCC compiler as well as giving the absolute ‘minimum necessary’ on initialisation of the process manager Linux represents processes by means of a data structure called a task_struct This is at the heart of the whole process. .. interrupt, the heartbeat of the whole system Closely allied to this is the timing of other events and maintaining the time of day As well as its own internal work, the process manager also provides services to user processes, on request Foremost among these is the facility to create new processes and to terminate them when no longer required by the user Other services allow processes to communicate among themselves,... compiler about the location of each of the operands used in the assembly code Each one is described by an operand constraint string, followed by the C expression representing that operand A colon separates the assembler template from the first output operand, and another separates the last output operand from the first input operand An operand constraint string specifies whether the operand is read, or... be handled immediately The CPU suspends whatever it is doing, switches control to a block of code specially tailored to deal with the specific event, and then returns seamlessly to take up whatever it was doing beforehand The whole procedure is known as interrupt handling and is the responsibility of the process manager Interrupts originate from many sources, and the most important of these is the timer... Intentionally Left Blank Preface Linux is growing in popularity Because it is open source, more and more people are looking into the internals There are a number of books that undertake to explain the internals of the Linux kernel, but none of them is really satisfactory The reason for this is that they all attempt to do too much They set out to give an overview of the whole of the kernel and consequently are... action’ When the instructions that make up a program are actually being carried out, there is a process The process manager is the part of the operating system that is responsible for handling processes, and there is quite a lot involved in that, as can be seen from the size of the book, or from the brief resume given here ´ It must keep track of which processes actually exist in the system There is a . w0 h1" alt="" The Linux Process Manager This Page Intentionally Left Blank The Linux Process Manager The internals of scheduling, interrupts and signals John O’Gorman University of Limerick, Limerick,. indication of the level of detail of the book. As there are many of these structures in existence at the same time, their organisation and manipulation is the subject matter of Chapter 3. The Linux Process. structures 41 3.2 The hash table for task structures 46 3.3 Setting up the initial process 50 3.4 The idle thread 56 The Linux Process Manager. The Internals of Scheduling, Interrupts and Signals John

Ngày đăng: 06/07/2014, 15:32

Mục lục

  • 1.3.3 Starting and the idle process

  • 2.7 Volatile environment and input ¨C output

  • 3.1.3 Searching the process list

  • 3.2 The hash table for task structures

    • 3.2.1 The process hash table

    • 3.2.3 Insert a into the hash table

    • 3.2.4 Remove a from the hash table

    • 3.2.5 Finding a using the hash table

    • 3.3 Setting up the initial process

      • 3.3.1 The of the initial process

      • 3.3.2 The of the initial process

      • 3.3.3 Resource limits for the initial process

      • 3.3.4 The field of the initial process

      • 3.4.2 Initialise the idle thread

      • 3.4.3 The default idle function

      • 4 Wait queues

        • 4.1 Wait queue data structures

          • 4.1.1 Declaring and initialising wait queue entries

          • 4.2 Wait queue insertion and deletion

            • 4.2.1 Adding an entry to a wait queue

            • 4.2.2 Removing an entry from a wait queue

            • 4.2.3 Checking for entries on a wait queue

            • 4.3 Generic list handling

              • 4.3.1 Declaring and initialising list entries

              • 4.5.2 Putting a process to sleep interruptibly

              • 4.5.3 Sleeping interruptibly with a timeout

Tài liệu cùng người dùng

Tài liệu liên quan