operating systems operating systems cmpsc 473 cmpsc 473
play

Operating Systems Operating Systems CMPSC 473 CMPSC 473 Operating - PowerPoint PPT Presentation

Operating Systems Operating Systems CMPSC 473 CMPSC 473 Operating Systems Structure Operating Systems Structure January 24, 2008 - Lecture January 24, 2008 - Lecture 3 3 Instructor: Trent Jaeger Instructor: Trent Jaeger Last class:


  1. Operating Systems Operating Systems CMPSC 473 CMPSC 473 Operating Systems Structure Operating Systems Structure January 24, 2008 - Lecture January 24, 2008 - Lecture 3 3 Instructor: Trent Jaeger Instructor: Trent Jaeger

  2. • Last class: – Computer architecture support for systems • Today: – Operating Systems Structures and Basics

  3. Interlude • Recap of OS goals – Resource management • Memory, Devices – Scheduling – Security – Services to programs/applications

  4. Functionality Expected from a Modern OS

  5. Libertarian View • Everyone should get to do whatever they want – As long as they let others live • Processes should feel they have the entire computer – Infinite CPU, RAM, … – No threat of someone harming them

  6. Socialistic View • To each according to his needs – Co-operative existence enforced by govt/OS – Fair allocation of resources

  7. OS as a Communist Govt. • Centralized control and monitoring • Allocate resources efficiently • Misbehavior => Termination

  8. Theory vs. Practice • Performance – Efficient and fair resource allocation, illusion of unlimited resources • Isolation – Protect everyone from each other and from the OS • How to do this efficiently? – Hardware support

  9. Operating System Approaches • Monolithic – Everything in one program – Lacks structure • Kernel – Core services • Management of Abstractions • Microkernel – Core concepts • Fundamental objects; Management in servers • Exokernel – No abstractions; interface to hardware

  10. Monolithic OS • Management in kernel

  11. Microkernel OS • All management is outside kernel – Servers

  12. Monolithic Systems

  13. Operating System Layers

  14. System Layers • Application • Libraries (in application process) • System Services • OS API • Operating system kernel • Hardware

  15. Applications to Libraries • Application Programming Interface – Library functions (e.g., libc) • Examples – printf of stdio.h • All within the process’s address space – Static and Dynamic linking

  16. Applications to Services • Maintain the system software configuration – E.g., cron • Provide syntactic sugar for using resources – E.g., printing, network, files, etc. • UNIX man pages, sections 1 and 8

  17. Libraries to System • System call interface – UNIX man pages, section 2 – Examples • open, read, write, unistd.h • Special files – Drivers, /proc, sysfs

  18. System to Hardware • Software-hardware interface • OS kernel functions – Concepts == Managers -- Hardware – Files == drivers -- devices – Address space == virtual memory -- memory – Instruction Set == process model -- CPU • OS provides abstractions of devices and hardware objects (files)

  19. System Call Overview

  20. System Call Handling

  21. System Call Handling • Procedure call in user process • Initial work in user mode (libc) • Trap instruction to invoke kernel (int 0x80) • Preparation (e.g., sys_read, mmap2) • I/O command (read from disk) • Wait (disk is slow) • Completion (interrupt handling) • Return-from-interrupt instruction • Final work in user mode (libc) • Ordinary return instruction

  22. Resource Manager • OS is a resource manager – Devices, Time, Space, Power, etc. • OS provides abstractions for resources – Files, sockets, etc. • Resource allocation • Resource management

  23. Two Processes and an OS • Access to persistent data – File on a disk • Allocation – Each allocates an abstract resource (file) – E.g., OS allocates physical resource on disk • Management – Processes may access own files – E.g., OS protects access to disk via protecting access to file abstraction

  24. Two Processes and an OS • OS competes with the processes for resources – E.g., OS uses disk to swap • Allocation – Kernel maps memory to disk – How does the kernel know disk blocks to use? • Management – System memory is managed in cache, virtually, physically, on disk, … – Kernel must keep all of these straight

  25. Summary • Operating systems must balance many needs – Impression that each process has individual use of system – Comprehensive management of system resources • Operating system structures try to make use of system resources straightforward – Libraries – System services – System calls and other interfaces • Resources are allocated and managed by kernel – May require mapping between different representations

  26. • Next time: Processes

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend