1 / 29

Overview

Overview. This and the other PowerPoint files represent an outline only . Each student is responsible for additional details specified in the book or in class.

hija
Download Presentation

Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Overview • This and the other PowerPoint files represent an outline only. Each student is responsible for additional details specified in the book or in class

  2. The web site [http://www.os-book.com/] has a collection of practice problems and solutions. At the end of each chapter, you should download the exercises, write the solutions and then check them against the published solutions.

  3. Chapter 1: • What is an OS? • Coordinate access to resources • Make hardware usable • Allocate resources • Schedule activities • Control flow of information among hardware components. • Traffic cop

  4. What actually constitutes an OS is not that simple (see author’s comments on the second paragraph on page 6)

  5. Overview of a computer system: Fig 1.2 • Machine Language instruction format (von Neumann architecture). • Fetch-analyze-execute cycle. • Fetch an instruction and store in the Instruction register • Analyze it • Execute it, if possible • Registers: general, program counter, instruction register.

  6. Storage hierarchy: fig 1.4

  7. Types of environments • Batch • Time-sharing • Interactive • Real-Time • Single-processor • Multiprocessor

  8. Multiprocessor • Asymmetric (master-slave model) • Symmetric (processors are peers) – most common • Clustered – like multiprocessor except consists of 2 or more entire systems coupled together. Clustered may mean different things to different people.

  9. Types of OS • Single tasking • Multitasking (sometimes called timesharing) • Multiuser

  10. Interrupts vs. traps (exceptions). • Interrupt: Occurrence of an event that requires that the CPU be interrupted from what it is doing in order to execute an interrupt handling routine (e.g. completion of an I/O or a hardware failure) • Trap: an event typically caused by the CPU such as an attempt to divide by 0, numeric overflow, or illegal memory reference. Requires execution of a trap-handling routine.

  11. Dual modes (user mode; monitor, kernel, or supervisor mode) – defined by an internal CPU bit; privileged instructions. • Process: an entity capable of requesting and using computer resources. E.g. a program in execution.

  12. OS responsibilities • Process management: • Creating/deleting processes. • Process synchronization. • Interprocess Communication. • Suspending/resuming processes. • Deadlock handling:

  13. Memory management: • Allocation/deallocation of memory • What processes go into memory and where • What part of memory is occupied/available. • Static/dynamic allocation

  14. Caching (paging, hardware caching). • Security: protect memory from other processes.

  15. Scheduling • Which processes run? • For how long? • Which have higher priority? • Are they waiting for something?

  16. File management: • Create/delete files • Maintain directories • Storing files on secondary storage • File access • File security • Manage disk space (auxiliary storeage management)

  17. Goals • Consistency • Scalability • Ease of use • Efficiency • Throughput • Responsiveness

  18. Above goals are often contradictory. Ease of use often implies guis which are NOT efficient. Linux is known to be stable and efficient, but not easy to use. • Best throughput may be obtained by ignoring certain activities, which means bad response times for them.

  19. Examples • DOS • Various windows flavors • Various Unix flavors • VMS • MVS • Mac

  20. Distributed systems: collection of processors, each with its own local memory, connected by high-speed lines. • Embedded systems: Most common – embedded in consumer devices (cars, DVDs, robotic arms, cell phones, ipods, etc)

  21. Client-server computing • Peer-to-peer computing. • Can skip this stuff.

  22. Chapter 2: • Shell/command interpreter. Commands are really files (e.g. ls, rm, cat, etc.) • Interface: command line or gui. • Linux flavors have various shells: Bourne shell, C shell, Korn shell. They look alike but there are small differences. • We use the 2nd version of the Bourne shell. It’s called bash (Bourne Again Shell).

  23. System Calls: interface to service made available by the OS • API (Application programmer interface): set of functions available to the programmer. • Examples: fopen, read, write, close, fork, wait, exec, etc. • Linux command handout has those we will use in this class.

  24. Types of calls: fig 2.5 • Can skip most of the stuff on system calls – not needed for this stage of the course

  25. OS structure • Simple structure: eg - DOS allowed programs to access routines that write directly to display and drives. Vulnerable to crashes. Fig 2.10 • Kernel: most critical components; like to keep resident in memory • Layered design: Fig 2.11 and 2.12 • Basic design principle to insulate the needs of a layer from the details of the next lowest layer

  26. Microkernel: • As systems evolved, kernels grew larger. • Removes all nonessential components from the kernel and implements as system or user level programs. • Not always consensus on everything kernel should contain.

  27. Linux and Mac OS use a modular kernel. See example in Fig. 2.13 • Windows XP is a layered system of modules (Figure 22.1)

  28. Virtual machine: • Abstraction of hardware components. • Illusion of having your own machine. • Can be useful for testing OS changes/enhancements. • More secure (each application runs on it's own "machine") • IBM's VM operating system. • Server virtualization.

  29. Java – more than just a language • Language spec - the stuff you learned • API – support for graphics, I/O, database connectivity, networking, server apps, support for telephones, pagers, etc. • Virtual machine spec. Java Virtual Machine (JVM) – Fig 2.17

More Related