operating systems overview - androbenchcsl.skku.edu/uploads/swe3004s15/1-intro.pdf ·...
TRANSCRIPT
![Page 1: OPERATING SYSTEMS OVERVIEW - AndroBenchcsl.skku.edu/uploads/SWE3004S15/1-intro.pdf · 2015-03-03 · What is an Operating System? ! A program that acts as an intermediary between](https://reader030.vdocuments.us/reader030/viewer/2022040515/5e71c54c8928e141ca1158b2/html5/thumbnails/1.jpg)
OPERATING SYSTEMS OVERVIEW
Operating Systems 2015 Spring by Euiseong Seo
![Page 2: OPERATING SYSTEMS OVERVIEW - AndroBenchcsl.skku.edu/uploads/SWE3004S15/1-intro.pdf · 2015-03-03 · What is an Operating System? ! A program that acts as an intermediary between](https://reader030.vdocuments.us/reader030/viewer/2022040515/5e71c54c8928e141ca1158b2/html5/thumbnails/2.jpg)
What is an Operating System?
¨ A program that acts as an intermediary between a user of a computer and computer hardware
¨ Operating system goals ¤ Execute user programs ¤ Make computer systems convenient to use ¤ Use computer hardware in an efficient manner
![Page 3: OPERATING SYSTEMS OVERVIEW - AndroBenchcsl.skku.edu/uploads/SWE3004S15/1-intro.pdf · 2015-03-03 · What is an Operating System? ! A program that acts as an intermediary between](https://reader030.vdocuments.us/reader030/viewer/2022040515/5e71c54c8928e141ca1158b2/html5/thumbnails/3.jpg)
Computer System Structure
¨ Computer system can be divided into four components ¤ Hardware – provides basic computing resources
n CPU, memory, I/O devices ¤ Operating systems
n Controls and coordinates use of hardware among various applications and users
¤ Application programs – define the ways in which the system resources are used to solve the computing problems of the users n Word processors, compilers, web browsers, database systems,
video games ¤ Users
n People, machines, other computers
![Page 4: OPERATING SYSTEMS OVERVIEW - AndroBenchcsl.skku.edu/uploads/SWE3004S15/1-intro.pdf · 2015-03-03 · What is an Operating System? ! A program that acts as an intermediary between](https://reader030.vdocuments.us/reader030/viewer/2022040515/5e71c54c8928e141ca1158b2/html5/thumbnails/4.jpg)
Four Components of a Computer System
![Page 5: OPERATING SYSTEMS OVERVIEW - AndroBenchcsl.skku.edu/uploads/SWE3004S15/1-intro.pdf · 2015-03-03 · What is an Operating System? ! A program that acts as an intermediary between](https://reader030.vdocuments.us/reader030/viewer/2022040515/5e71c54c8928e141ca1158b2/html5/thumbnails/5.jpg)
What Operating Systems Do
¨ Depends on the point of view ¨ Users want convenience, ease of use and good
performance ¤ Don’t care about resource utilization
¨ But shared computer such as mainframe or minicomputer must keep all users happy
¨ Users of dedicate systems such as workstations have dedicated resources but frequently use shared resources from servers
¨ Handheld computers are resource poor, optimized for usability and battery life
¨ Some computers have little or no user interface, such as embedded computers in devices and automobiles
![Page 6: OPERATING SYSTEMS OVERVIEW - AndroBenchcsl.skku.edu/uploads/SWE3004S15/1-intro.pdf · 2015-03-03 · What is an Operating System? ! A program that acts as an intermediary between](https://reader030.vdocuments.us/reader030/viewer/2022040515/5e71c54c8928e141ca1158b2/html5/thumbnails/6.jpg)
Operating System Definition
¨ OS is a resource allocator ¤ Manages all resources ¤ Decides between conflicting requests for efficient and
fair resource use
¨ OS is a control program ¤ Controls execution of programs to prevent errors and
improper use of the computer
![Page 7: OPERATING SYSTEMS OVERVIEW - AndroBenchcsl.skku.edu/uploads/SWE3004S15/1-intro.pdf · 2015-03-03 · What is an Operating System? ! A program that acts as an intermediary between](https://reader030.vdocuments.us/reader030/viewer/2022040515/5e71c54c8928e141ca1158b2/html5/thumbnails/7.jpg)
Operating System Definition
¨ No universally accepted definition ¨ “Everything a vendor ships when you order an
operating system” is a good approximation ¤ But varies wildly
¨ “The one program running at all times on the computer” is the kernel.
¨ Everything else is either ¤ System programs ¤ Application programs
![Page 8: OPERATING SYSTEMS OVERVIEW - AndroBenchcsl.skku.edu/uploads/SWE3004S15/1-intro.pdf · 2015-03-03 · What is an Operating System? ! A program that acts as an intermediary between](https://reader030.vdocuments.us/reader030/viewer/2022040515/5e71c54c8928e141ca1158b2/html5/thumbnails/8.jpg)
Computer Startup
¨ bootstrap program is loaded at power-up or reboot ¤ Typically stored in ROM or EPROM, generally known
as firmware ¤ Initializes all aspects of system
n Memory, graphic devices and peripheral devices
¤ Loads operating system kernel and starts execution ¨ Executing bootstrap program is called booting
![Page 9: OPERATING SYSTEMS OVERVIEW - AndroBenchcsl.skku.edu/uploads/SWE3004S15/1-intro.pdf · 2015-03-03 · What is an Operating System? ! A program that acts as an intermediary between](https://reader030.vdocuments.us/reader030/viewer/2022040515/5e71c54c8928e141ca1158b2/html5/thumbnails/9.jpg)
Computer System Organization
![Page 10: OPERATING SYSTEMS OVERVIEW - AndroBenchcsl.skku.edu/uploads/SWE3004S15/1-intro.pdf · 2015-03-03 · What is an Operating System? ! A program that acts as an intermediary between](https://reader030.vdocuments.us/reader030/viewer/2022040515/5e71c54c8928e141ca1158b2/html5/thumbnails/10.jpg)
Computer System Organization
¨ One or more CPUs, device controllers connect through common bus providing access to shared memory
¨ Concurrent execution of CPUs and devices competing for memory cycles
¨ I/O devices and the CPU can execute concurrently ¨ Each device controller is in charge of a particular device type ¨ Each device controller has a local buffer ¨ CPU moves data from/to main memory to/from local buffers ¨ I/O is from the device to local buffer of controller ¨ Device controller informs CPU that it has finished its operation by
causing an interrupt
![Page 11: OPERATING SYSTEMS OVERVIEW - AndroBenchcsl.skku.edu/uploads/SWE3004S15/1-intro.pdf · 2015-03-03 · What is an Operating System? ! A program that acts as an intermediary between](https://reader030.vdocuments.us/reader030/viewer/2022040515/5e71c54c8928e141ca1158b2/html5/thumbnails/11.jpg)
OS and Architecture
¨ Mutual interaction ¤ The functionality of an OS is limited by architectural
features n Multiprocessing on DOS/8086?
¤ The structure of an OS can be simplified by architectural support n Interrupt, DMA, synchronization, etc.
¤ Most proprietary OS’s were developed with the certain architecture in mind n SunOS/Solaris for SPARC architecture n Windows for x86 architecture n iOS for ARM architecture
![Page 12: OPERATING SYSTEMS OVERVIEW - AndroBenchcsl.skku.edu/uploads/SWE3004S15/1-intro.pdf · 2015-03-03 · What is an Operating System? ! A program that acts as an intermediary between](https://reader030.vdocuments.us/reader030/viewer/2022040515/5e71c54c8928e141ca1158b2/html5/thumbnails/12.jpg)
Interrupts
¨ How does the kernel notice an I/O has finished? ¤ Polling ¤ Hardware interrupt
![Page 13: OPERATING SYSTEMS OVERVIEW - AndroBenchcsl.skku.edu/uploads/SWE3004S15/1-intro.pdf · 2015-03-03 · What is an Operating System? ! A program that acts as an intermediary between](https://reader030.vdocuments.us/reader030/viewer/2022040515/5e71c54c8928e141ca1158b2/html5/thumbnails/13.jpg)
Interrupts
¨ Interrupt handling ¤ Preserves the state of the CPU
n In a fixed location n In a location indexed by the device
number n On the system stack
¤ Determines the type n Polling n Vectored interrupt system
¤ Transfers control to the interrupt service routine (ISR) or interrupt handler
![Page 14: OPERATING SYSTEMS OVERVIEW - AndroBenchcsl.skku.edu/uploads/SWE3004S15/1-intro.pdf · 2015-03-03 · What is an Operating System? ! A program that acts as an intermediary between](https://reader030.vdocuments.us/reader030/viewer/2022040515/5e71c54c8928e141ca1158b2/html5/thumbnails/14.jpg)
Exceptions
¨ Interrupts ¤ Generated by hardware devices
n Triggered by a signal in INTR or NMI pins (x86)
¤ Asynchronous
¨ Exceptions ¤ Generated by software executing instructions
n INT instruction in x86
¤ Synchronous ¤ Exception handling is the same as interrupt handling
![Page 15: OPERATING SYSTEMS OVERVIEW - AndroBenchcsl.skku.edu/uploads/SWE3004S15/1-intro.pdf · 2015-03-03 · What is an Operating System? ! A program that acts as an intermediary between](https://reader030.vdocuments.us/reader030/viewer/2022040515/5e71c54c8928e141ca1158b2/html5/thumbnails/15.jpg)
Exceptions
¨ Further classification of exceptions ¤ Traps
n Intentional n System calls, breakpoint traps, special instructions, etc. n Return control to “next” instruction
¤ Faults n Unintentional but possibly recoverable n Page faults (recoverable), protection faults (unrecoverable), etc. n Either re-execute faulting (“current”) instruction or abort
¤ Aborts n Unintentional and unrecoverable n Parity error, machine check, etc. n Abort the current program
![Page 16: OPERATING SYSTEMS OVERVIEW - AndroBenchcsl.skku.edu/uploads/SWE3004S15/1-intro.pdf · 2015-03-03 · What is an Operating System? ! A program that acts as an intermediary between](https://reader030.vdocuments.us/reader030/viewer/2022040515/5e71c54c8928e141ca1158b2/html5/thumbnails/16.jpg)
Exceptions
¨ System calls ¤ Programming interface to the services provided by OS
n Example: the system call sequence to copy the contents of one file to another
![Page 17: OPERATING SYSTEMS OVERVIEW - AndroBenchcsl.skku.edu/uploads/SWE3004S15/1-intro.pdf · 2015-03-03 · What is an Operating System? ! A program that acts as an intermediary between](https://reader030.vdocuments.us/reader030/viewer/2022040515/5e71c54c8928e141ca1158b2/html5/thumbnails/17.jpg)
Example System Calls
¨ Important system calls (POSIX & Win32) Create a new process Wait for a process to exit CreateProcess = fork + execve Terminate execu9on Send a signal
CreateProcess WaitForSingleObject (none) ExitProcess (none)
fork waitpid execve exit kill
Process
Management
Create a file or open an exis9ng file Close a file Read data from a file Write data to a file Move the file pointer Get various file aJributes Change the file access permission
CreateFile CloseHandle ReadFile WriteFile SetFilePointer GetFileAJributesEx (none)
open close read write lseek stat chmod
File
Management
Create a new directory Remove an empty directory Make a link to a file Destroy an exis9ng file Mount a file system Unmount a file system Change the curent working directory
CreateDirectory RemoveDirectory (none) DeleteFile (none) (none) SetCurrentDirectory
mkdir rmdir link unlink mount umount chdir
File System
Management
![Page 18: OPERATING SYSTEMS OVERVIEW - AndroBenchcsl.skku.edu/uploads/SWE3004S15/1-intro.pdf · 2015-03-03 · What is an Operating System? ! A program that acts as an intermediary between](https://reader030.vdocuments.us/reader030/viewer/2022040515/5e71c54c8928e141ca1158b2/html5/thumbnails/18.jpg)
System Call Implementation
![Page 19: OPERATING SYSTEMS OVERVIEW - AndroBenchcsl.skku.edu/uploads/SWE3004S15/1-intro.pdf · 2015-03-03 · What is an Operating System? ! A program that acts as an intermediary between](https://reader030.vdocuments.us/reader030/viewer/2022040515/5e71c54c8928e141ca1158b2/html5/thumbnails/19.jpg)
System Call Implementation
count = read (fd, buffer, nbytes);
![Page 20: OPERATING SYSTEMS OVERVIEW - AndroBenchcsl.skku.edu/uploads/SWE3004S15/1-intro.pdf · 2015-03-03 · What is an Operating System? ! A program that acts as an intermediary between](https://reader030.vdocuments.us/reader030/viewer/2022040515/5e71c54c8928e141ca1158b2/html5/thumbnails/20.jpg)
Data Transfer Schemes
¨ Data transfer modes in I/O ¤ Programmed I/O (PIO)
n CPU is involved in moving data between I/O devices and memory
n Special I/O instructions VS memory-mapped I/O
¤ DMA (Direct Memory Access) n Used for high-speed I/O devices able to transmit information at
close to memory speeds n Device controller transfers blocks of data from buffer storage
directly to main memory without CPU intervention. n Only an interrupt is generated per block.
![Page 21: OPERATING SYSTEMS OVERVIEW - AndroBenchcsl.skku.edu/uploads/SWE3004S15/1-intro.pdf · 2015-03-03 · What is an Operating System? ! A program that acts as an intermediary between](https://reader030.vdocuments.us/reader030/viewer/2022040515/5e71c54c8928e141ca1158b2/html5/thumbnails/21.jpg)
I/O Operations via DMA
![Page 22: OPERATING SYSTEMS OVERVIEW - AndroBenchcsl.skku.edu/uploads/SWE3004S15/1-intro.pdf · 2015-03-03 · What is an Operating System? ! A program that acts as an intermediary between](https://reader030.vdocuments.us/reader030/viewer/2022040515/5e71c54c8928e141ca1158b2/html5/thumbnails/22.jpg)
Timers
¨ How does the OS take control of CPU from the running programs? ¤ Use a hardware timer that generates a periodic
interrupt ¤ The timer interrupt transfers control back to OS ¤ The OS preloads the timer with a time to interrupt.
n 10ms for Linux 2.4, 1ms for Linux 2.6 n (cf.) time slice
¤ Timer is privileged n Only the OS can load it