1 / 8

What is an O.S.?

What is an O.S.?. Layers of a Computer System Hardware Operating System Utilities Application Programs Services typically provided by an O.S. Program Creation (editor, compiler) Program Execution Access to I/O devices Controlled access to files System Access (logging in)

yamal
Download Presentation

What is an O.S.?

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. What is an O.S.? • Layers of a Computer System • Hardware • Operating System • Utilities • Application Programs • Services typically provided by an O.S. • Program Creation (editor, compiler) • Program Execution • Access to I/O devices • Controlled access to files • System Access (logging in) • Error detection/response • Accounting • Must manage system resources • Kernel – Most frequently used items • O.S. will evolve over time • Hardware upgrades, New services, Fixes

  2. O.S. History • Serial Processing • Sign-up sheet for computer time • Each user would set up the job, run it, and collect output • Simple Batch System (mid 1950s) • Try to improve scheduling/setup time • Have a monitor that loads jobs, when a job finishes it jumps to the monitor that loads the next job. • Use JCL (Job Control Langague) to submit jobs • Desirable hardware items: • Memory protection • Timer • Privileged instructions (I/O) • Interrupts • Multiprogrammed Batch System • Several programs in memory at one time • One program can do I/O while another computes • Needs memory management, scheduling

  3. Time-Sharing Systems • Allow several users to interact with the system at the same time • Emphasizes response time over processor use • Compatible time sharing system (CTSS) – 1962 • Machine had 32K 36-bit words • Switched users every 0.2 second • Supported up to 32 users • MULTICS (1965) • Intended as the computer service for Boston • Strong influence on later systems • Good security, user interface • Note systems tend to grow over time as user requirements expand • MS-DOS 1.0 (8k, 1981) • DOS 2.0 – Subdirectories (1983) • DOS 3.1 – Networking (1984) • Windows 3.1 – Graphical interface (1990) • Windows 95 – 32-bit internals (1995) • Single-user multitasking (windows 95)

  4. O.S. Issues • Process. • Hard to define formally, but think of a running program. • Three main components: • Executable program. • Data for that program. • Context (registers, files, etc.) For the program. • O.S. Needs to maintain proper synchronization between processes (mutual exclusion, avoiding deadlock). • Main causes of errors: • Improper synchronization. • Must wait for someone else to finish. • Failed mutual exclusion. • Assigning two passengers to the same seat. • Nondeterminate program execution. • Output depends on other programs. • May be a result of misused common memory. • Deadlock. • Two processors each waiting for the other to do something.

  5. O.S. Issues • Memory management • Isolate processes from each other (shared memory may be allowed). • Should allow only appropriate accesses. • Often implemented using virtual memory. • Automatically move data between main memory and disk. • Support modular programs. • Support long-term storage. • Security • Control use of the system, access to files and other resources. • Areas of concern by O.S. Developers: • Access control. • Information flow control. • Certify above controls are correct.

  6. O.S. Issues 2 • Scheduling • Resource allocation and scheduling • Fairness/priorities/efficiency • System structure • As systems grow larger, rely on modules, layers of abstraction (table 2.4 page 78) • Electronic circuits • Instruction set • Procedures • Interrupts • Primitive processes • Local secondary storage • Virtual memory • Communications • File system • Devices • Directories • User process • Shell

  7. Modern Systems • Multithreading • Allow a process to consist of one or more threads that share memory, files, etc. • Helps with structuring programs • Microkernel • Assign only essential functions to the kernel (memory, communication) • Other items run as user processes • Symmetric multiprocessing • System may have two or more equivalent processors that share memory, I/O • Distributed operating system • Provide illusion of a single system from several entities • Object-orientated design • Easy to extend the operating system

  8. Modern Systems • Windows 2000 • Single-user multitasking • One user running multiple programs • Modified microkernal architecture • Support for DOS/Win9x programs • Uses client/server model, objects • Supports threads and SMP • Unix • Created for PDP-7 (1970), PDP-11 • Used ideas from MULTICS, CTSS • Rewritten in C, source was available • Easy to port to new systems • SVR4, Solaris 2.x, 4.4 BSD • Linux • Derived from Minix by Linus Torvalds • Handled by volunteers • Monolothic kernel • Can load/unload kernel modules

More Related