18
Figure 1.1 Interaction between applications and the operating system. 1.10 Application Bases

Figure 1.1 Interaction between applications and the operating system. 1.10 Application Bases

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Figure 1.1 Interaction between applications and the operating system. 1.10 Application Bases

Figure 1.1 Interaction between applications and the operating system.

1.10 Application Bases

Page 2: Figure 1.1 Interaction between applications and the operating system. 1.10 Application Bases

1.12.1 Core Operating System Components

• User interaction with operating system – Often, through special application called a shell– Kernel

• Software that contains core components of operating system• Typical operating system components include:

– Processor scheduler– Memory manager– I/O manager– Interprocess communication (IPC) manager– File system manager

Page 3: Figure 1.1 Interaction between applications and the operating system. 1.10 Application Bases

1.12.2 Operating System Goals

• Users expect certain properties of operating systems– Efficiency– Robustness– Scalability– Extensibility– Portability– Security– Protection– Interactivity– Usability

Page 4: Figure 1.1 Interaction between applications and the operating system. 1.10 Application Bases

Figure 1.3 Monolithic operating system kernel architecture.

1.13.1 Monolithic Architecture

Page 5: Figure 1.1 Interaction between applications and the operating system. 1.10 Application Bases

Figure 1.4 Layers of the THE operating system.

1.13.2 Layered Architecture

Page 6: Figure 1.1 Interaction between applications and the operating system. 1.10 Application Bases

Figure 1.5 Microkernel operating system architecture.

1.13.3 Microkernel Architecture

Page 7: Figure 1.1 Interaction between applications and the operating system. 1.10 Application Bases

Figure 1.6 Client/server networked operating system model.

1.13.4 Networked and Distributed Operating Systems

Page 8: Figure 1.1 Interaction between applications and the operating system. 1.10 Application Bases

• What is the difference between a purely layered architecture and a microkernel architecture?

• Which of the OS goals correspond to the following characteristics?– Users can’t access services or information w/o authorization– OS run on a variety of hardware configurations– System performance increases steadily when additional

MEM and processors are added.– The OS supports devices that were not available when it

was designed.– Hardware failure does not necessarily cause the system to

fail.

Page 9: Figure 1.1 Interaction between applications and the operating system. 1.10 Application Bases

Chapter 2 – Hardware and Software ConceptsOutline2.1 Introduction2.2 Evolution of Hardware Devices2.3 Hardware Components2.3.1 Mainboards2.3.2 Processors2.3.3 Clocks2.3.4 Memory Hierarchy2.3.5 Main Memory2.3.6 Secondary Storage2.3.7 Buses2.3.8 Direct Memory Access (DMA) 2.3.9 Peripheral Devices2.4 Hardware Support for Operating Systems2.4.1 Processor2.4.2 Timers and Clocks

Page 10: Figure 1.1 Interaction between applications and the operating system. 1.10 Application Bases

Chapter 2 – Hardware and Software Concepts

Outline (continued)2.4.3 Bootstrapping2.4.4 Plug and Play2.5 Caching and Buffering2.6 Software overview2.7 Application Programming Interfaces (APIs) 2.8 Compiling, Linking and Loading2.9 Firmware2.10 Middleware

Page 11: Figure 1.1 Interaction between applications and the operating system. 1.10 Application Bases

Objectives• After reading this chapter, you should

understand:– hardware components that must be managed by an

operating system.– how hardware has evolved to support operating

system functions.– how to optimize performance of various hardware

devices.– the notion of an application programming interface

(API).– the process of compilation, linking and loading.

Page 12: Figure 1.1 Interaction between applications and the operating system. 1.10 Application Bases

• T/F?1. OS is a resource manager, it can manage the following resources:

• processors

• memory

• secondary storage (such as hard disks)

• other I/O devices

• processes

• threads

• files

• databases

2. Most operating systems are independent from the hardware configurations, because they use device drivers to perform device-specific I/O operations.

3. Registers are high-speed memory located on processors. Data need to be loaded to registers before processors can operate on them.

4. What is a port ? What is an I/O channel?

Page 13: Figure 1.1 Interaction between applications and the operating system. 1.10 Application Bases

2.3.8 Direct Memory Access (DMA)

• DMA improves data transfer between memory and I/O devices– Devices and controllers transfer data to and from

main memory directly– Processor is free to execute software instructions– DMA channel uses an I/O controller to manage data

transfer• Notifies processor when I/O operation is complete

– Improves performance in systems that perform large numbers of I/O operations (e.g., mainframes and servers)

Page 14: Figure 1.1 Interaction between applications and the operating system. 1.10 Application Bases

Figure 2.4 Direct memory access (DMA).

2.3.8 Direct Memory Access (DMA)

Page 15: Figure 1.1 Interaction between applications and the operating system. 1.10 Application Bases

2.4 Hardware Support for Operating Systems

• What can a processor do to enforce protection?

- Execution modes- Bound registers- Interrupts and exceptions

Page 16: Figure 1.1 Interaction between applications and the operating system. 1.10 Application Bases

2.4.1 Processor• A processor implements operating system

protection mechanisms– Prevents processes from accessing privileged

instructions or memory– Computer systems generally have several

different execution modes:• User mode (user state or problem state)

– User may execute only a subset of instructions

• Kernel mode (supervisor state)– Processor may access privileged instructions and resources

on behalf of processes

Page 17: Figure 1.1 Interaction between applications and the operating system. 1.10 Application Bases

2.4.1 Processor

• Memory protection and management– Prevents processes from accessing memory that has

not been assigned to them– Implemented using processor registers modified only by

privileged instructions• Interrupts and Exceptions

– Most devices send a signal called an interrupt to the processor when an event occurs

– Exceptions are interrupts generated in response to errors

– The OS can respond to an interrupt by notifying processes that are waiting on such events

Page 18: Figure 1.1 Interaction between applications and the operating system. 1.10 Application Bases

Figure 2.7 Application programming interface (API).

2.7 Application Programming Interfaces (APIs)