Operating System Structures

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

1. User interface

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

2. Program execution

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).

3. I/O operations

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

4. File-system manipulation

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

5. Communications

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

6. Error detection

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

7. Additional Operating System Functions

7.1. Resource allocation

7.1.1. allocating resources to multiple users or multiple jobs running at the same time.

7.2. Accounting

7.2.1. keep track of and record which users use how much and what kinds of computer resources for account billing or for accumulating usage statistics.

7.3. Protection and security

7.3.1. The owners of information stored in a multiuser or networked computer system may want to control use of that information, concurrent processes should not interfere with each other.

8. System Calls

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

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

8.2.1. Pass the parameters in registers.

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

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

8.3. Type

8.3.1. Process control

8.3.2. File management

8.3.3. Device management

8.3.4. Information maintenance

8.3.5. Communications

8.3.6. Protection

9. Communication Models

9.1. Communication may take place using either message passing or shared memory.

10. Layered Approach

10.1. 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.

10.2. With modularity, layers are selected such that each uses functions (operations) and services of only lower-level layers.

10.3. Advantage

10.3.1. Simplicity of construction and debugging

10.4. Disadvantages

10.4.1. The careful definition and interaction of the layers

10.4.2. Less efficient

11. Microkernel

11.1. Small operating system core

11.2. Contains only essential core operating systems functions

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

11.3.1. Device drivers

11.3.2. File systems

11.3.3. Virtual memory manager

11.3.4. Windowing system

11.3.5. Security services

12. Benefits of a Microkernel Organization

12.1. Extensibility

12.1.1. Allows the addition of new services

12.2. Flexibility

12.2.1. New features added

12.2.2. Existing features can be subtracted

12.3. Reliability

12.3.1. Modular design

12.3.2. Small microkernel can be rigorously tested

12.4. Portability

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

13. Operating System Design

13.1. Design and Implementation of OS not “solvable”, but some approaches have proven successful.

14. Operating System Design Goals

14.1. User goals

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

14.2. System goals

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