Chapter 3 Operating System Structures

Get Started. It's Free
or sign up with your email address
Chapter 3 Operating System Structures by Mind Map: Chapter 3  Operating System  Structures

1. Operating System Services

1.1. User interface

1.1.1. Almost all operating systems have a user interface (UI)

1.2. Program execution

1.2.1. The system must be able to load a program into memory and to run that program, end execution, either normally or abnormally (indicating error)

1.3. I/O operations

1.3.1. Since user programs cannot execute I/O operations directly, the operating system must provide some means to perform I/O

1.4. File-system manipulation

1.4.1. Program capabilities to read and write files and directories, create and delete them, search them, list file Information, permission management.

1.5. Communications

1.5.1. Processes may exchange information, on the same computer or between computers over a network

1.6. Error detection

1.6.1. Ensure correct computing by detecting errors in the CPU and memory hardware, in I/O devices, or in user programs

2. Additional Operating System Functions

2.1. Resource allocation

2.2. Accounting

2.3. Protection and security

3. System Calls

3.1. System calls provide the interface between a running program and the operating system

3.1.1. Generally available as assembly-language instructions

3.1.2. Languages defined to replace assembly language for systems programming allow system calls to be made directly (e.g., C, C++)

3.2. Three general methods are used to pass parameters between a running program and the operating system

3.2.1. Pass the parameters in registers

3.2.2. Parameters stored in a block, or table, in memory, and address of block passed as a parameter in a register

3.2.3. Parameters placed, or pushed, onto the stack by the program and popped off the stack by the operating system

4. Types of System Calls

4.1. Process control

4.1.1. create process, terminate process

4.2. File management

4.2.1. create file, delete file

4.3. Device management

4.3.1. request device, release device

4.4. Information maintenance

4.4.1. set time and date

4.5. Communications

4.5.1. create/delete communication connection

4.6. Protection

4.6.1. set permission

5. Operating System Design

5.1. Start by defining goals and specifications

6. Communication Models

6.1. message passing

6.1.1. In message passing model, communication takes place by means of message exchanged between the process

6.2. shared memory

6.2.1. In shared memory, a region of memory that is shared by processor can exchanged information by reading and writing data to the shared region

7. Layered Approach

7.1. In layered approach, the operating system is divided into a number of layers (levels), each built on top of lower layers. The bottom layer (layer 0), is the hardware; the highest (layer N) is the user interface

7.2. Advantage

7.2.1. Simplicity of construction and debugging

7.3. Disadvantages

7.3.1. The careful definition and interaction of the layers

7.3.2. Less efficient

8. Microkernel

8.1. Small operating system core

8.2. Contains only essential core operating systems functions

8.3. Many services traditionally included in the operating system are now external subsystems

8.3.1. Device drivers

8.3.2. File systems

8.3.3. Virtual memory manager

8.3.4. Windowing system

8.3.5. Security services

8.4. the main function of microkernel is to provide communication facility between user program and various services

8.5. both user program and service are running on user mode

8.6. user program and services never interact directly

8.7. they communication directly by exchanging message with microkernel

9. Benefits of a Microkernel Organization

9.1. Extensibility

9.1.1. Allows the addition of new services

9.2. Flexibility

9.2.1. New features added

9.2.2. Existing features can be subtracted

9.3. Reliability

9.3.1. Modular design

9.3.2. Small microkernel can be rigorously tested

9.4. Portability

9.4.1. Changes needed to port the system to a new processor is changed in the microkernel - not in the other services

10. Operating System Design Goals

10.1. User goals

10.1.1. operating system should be convenient to use, easy to learn, reliable, safe, and fast

10.2. System goals

10.2.1. operating system should be easy to design, implement, and maintain, as well as flexible, reliable, error-free, and efficient

11. Layered Operating System

11.1. user interface

11.2. command interface

11.3. CPU scheduling

11.4. virtual memory

11.5. file system

11.6. hardware