Operating System

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

1. Introduction to OS

1.1. Main Objectives

1.1.1. Convenience

1.1.1.1. OS make computer easy to use.

1.1.2. Effiency

1.1.2.1. OS allow computer system resources to use in the efficient manner.

1.1.3. Ability to evolve

1.1.3.1. OS should be built to permit effective development, testing and introduction new system function without disturb the services.

1.2. Four stages of evaluation of OS

1.2.1. Serial Processing

1.2.1.1. Scheduling

1.2.1.1.1. Time allocation may long or short it cause wasting computer time

1.2.1.1.2. Use hardcopy sign-up sheet to reserve computer time

1.2.1.2. Setup time

1.2.1.2.1. Amount of time used to setting up the program to run

1.2.2. Simple Batch Systems

1.2.3. Multiprogrammed Batch System

1.2.4. Time sharing System

1.3. Difference between tightly coupled system and loosely coupled system

1.3.1. Tightly coupled system

1.3.1.1. Processors shared memory

1.3.1.2. Communicate through shared memory

1.3.2. Loosely coupled system

1.3.2.1. Each processor has its own local memory

1.3.2.2. Communicate through communication line such as internet

1.4. Advantages of multiprocessor system

1.4.1. Increased throughput

1.4.1.1. More jobs can be done one time by increasing the number of processors

1.4.2. Economical

1.4.2.1. Two or more CPUs sharing the same peripheral compare with multiple single system.

1.4.3. Increase reliability

1.4.3.1. System still able to run when one of the processor is error (Graceful Degradation)

1.5. Different between Soft real-time and Hard real-time system

1.5.1. Soft real-time

1.5.1.1. Has associated deadline but not mandatory (Can be delay)

1.5.2. Hard real-time

1.5.2.1. Must meet its deadline otherwise it will cause unacceptable damage ( Cannot be delay )

1.6. Different between Symmetric and Asymmetric multiprocessing system

1.6.1. Symmetric multiprocessing

1.6.1.1. All processors shared memory and do the same job at the same time.

1.6.2. Asymmetric multiprocessing

1.6.2.1. Exist master-slave relationship between the processors

1.6.2.2. Each processor assigned specific task

2. Computer-System Operation

2.1. Interrupt Handling

2.1.1. When the CPU is interrupt, it stop what is doing and immediately transfer execution to the fixed location ( Interrupt Vector Table )

2.1.2. Interrupt vector provide address of the interrupt service routine for the interrupting device

2.1.3. The separate segment of code determine what action need to taken for each type of interrupt

2.1.4. The OS preserves the state of the CPU by storing registers and the program counter

2.1.5. After the interrupt is serviced, the saved return address is loaded into the program counter

2.1.6. The interrupted computation resumes

2.2. Two I/O Method

2.2.1. Synchronous

2.2.1.1. After the I/O start, the control will return to the user after the I/O completion

2.2.1.2. Wait instruction idles the CPU until the next interrupt

2.2.2. Asynchronous

2.2.2.1. After the I/O start, the control will return to the user without waiting the I/O completion

2.2.2.2. Device-status table contains entry for each I/O device indicating its type, address and state

2.3. Storage Device Hierarchy

2.3.1. register

2.3.2. cache

2.3.3. main memory

2.3.4. electronic disk

2.3.5. magnetic disk

2.3.6. optical disk

2.3.7. magnetic tapes

2.4. Dual-Mode Operation

2.4.1. definition

2.4.1.1. Provide hardware support to differentiate at least two modes of operation.

2.4.2. User mode

2.4.2.1. Certain instruction may not be executed

2.4.2.2. Certain area of memory are protected from user access

2.4.3. Kernel Mode

2.4.3.1. Privileged instruction may executed

2.4.3.2. Protected areas of memory may be accessed

2.5. Memory Protection (Calculation)

2.5.1. Base register

2.5.1.1. Hold the smallest legal physical memory address

2.5.2. Limit register

2.5.2.1. Contains the size of range

3. OS Structures

3.1. OS services

3.1.1. User Interface

3.1.1.1. Almost all OS has user interface

3.1.2. Program Execution

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

3.1.3. I/O Operation

3.1.3.1. Since user programs cannot execute I/O operation directly, the OS must provide some means to perform I/O

3.1.4. File System Manipulation

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

3.1.5. Communication

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

3.1.6. Error Detection

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

3.2. System Calls

3.2.1. File Management

3.2.2. Process Control

3.2.3. Information maintenance

3.2.3.1. EX: Request device,release device

3.2.4. Device management

3.2.4.1. EX: Get time or date, set time or date

3.2.5. Communication

3.2.5.1. Create, delete communication correction

3.2.6. Protection

3.3. Layered Approach

3.3.1. The OS is divided into number of layers, each built on top of lower layers. The bottom layer is the hardware, the highest is the user interface. OS can retain much greater control over the computer and over the applications that make use of the computer

3.3.2. Advantage : Simplicity of construction and debugging

3.3.3. Disadvantage : Less efficient

3.4. Benefit of Microkernel

3.4.1. Extensibilty

3.4.1.1. Allows the addition of new services

3.4.2. Flexibility

3.4.2.1. New features can be added and existing features can be substracted

3.4.3. Reliability

3.4.3.1. One layer remove, it still can running

3.4.4. Portability

3.4.4.1. It only change in kernel mode if want to adapt hardware

3.5. Communication Model

3.5.1. Message passing

3.5.1.1. Communication take place by means of messages exchanged between the cooperating processes

3.5.2. Shared memory

3.5.2.1. A region of memory that is shared by cooperating processes is established

3.5.2.2. Processes can exchange information by reading and writing data to the shared region