* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download user mode
Survey
Document related concepts
Linux adoption wikipedia , lookup
Mobile operating system wikipedia , lookup
Distributed operating system wikipedia , lookup
Plan 9 from Bell Labs wikipedia , lookup
Library (computing) wikipedia , lookup
Copland (operating system) wikipedia , lookup
Burroughs MCP wikipedia , lookup
Windows NT startup process wikipedia , lookup
Security-focused operating system wikipedia , lookup
Process management (computing) wikipedia , lookup
Unix security wikipedia , lookup
Transcript
EE110300 電機資訊工程實習 Lecture 3 個人電腦系統 II ---- Operating Systems 資訊工程系 黃泰一 教授 1 What is an operating system? Definition An operating system is the “permanent” software that controls/abstracts hardware User applications can thus be simpler and device-independent User Applications virtual machine interface Operating System physical machine interface Architecture 2 What is an operating system? Definition (con’t) Manages resources and processes to support different user applications Provides Applications Programming Interface (API) for user applications User Application User Application Operating System Architecture 3 Modern operating systems x86 platform – Linux – Windows Mac platform – Mac OS Sun Solaris & Unix (Sun workstations) IBM AIX (mainframes) Embedded systems (special-purpose OS) – Palm, PocketPC, etc – Xbox, etc 4 Linus Torvalds 1991, Finland, Linux Project 1992, Linux Kernel 0.02 – Bash v1.08 – GCC v1.40 1997, Moves to Transmeta 1998, Linux Kernel v2.2 2001, Linux Kernel v2.4 Pronunciation: “Linn-ucks” 5 Windows 2000 & XP 1989: 10 developers left DEC VMS team and joined Microsoft Windows NT 1.0 1996: Windows NT 4.0 1999: Windows 2000 2001: Windows XP 2002: Microsoft .Net Server 6 Linux vs. Windows NT Linux is kernel only, free and open source Windows is full-loaded OS and pricy Linux requires minimum HW, Windows not Web server – (Win2K + SWC ) beats (Linux + TUX) File server & printer server – Windows supports a wider range of HW – Linux has more stable drivers 7 Operating System Interfaces 8 Software & hardware layer User Program Executable Binary user Compiler Linker compiler user mode kernel System library OS interface Operating System device drivers OS Architecture Hardware 9 Device Driver Device driver的唯一目的就是要將所 有的硬體隱藏. 他應該是整套軟體中唯一能和硬體 溝通的窗口. 他能直接讀取或寫入特定裝置控制 及狀態暫存器, 如果裝置發生中斷,那 ISR也要整合到裝置驅動程式. 10 System service call (monitor) C Programs: main() { // call printf, provided // by the C library, to // print on the screen printf(“Hello World!”); } Borland C library: Int printf(…) { // call SysOutputString, // provided by NT // system library, to // print on the screen SysOutputString(…); } NT library: Void SysOutputString(…) { // call NtOutputString, that in turn will call // video card driver to output strings to // the screen NtOutputString(…); } 11 System service call (disk) C Programs: main() { // call CreateFile // by the C library, to // create a file on disk CreateFile(“a.txt”) } Borland C library: Int CreateFile(…) { // call NtCreateFile, // provided by NT to // create a file NtCreateFile(…); } NT library: Void NtCreateFile(…) { // call NtInternalCreateFile, that in turn will // call the file system driver and the disk // driver to create a file on a disk NtInternalCreateFile(…); } 12 System service calls (network) C Programs: main() { so = createsocket(); send(so, “text”); close(so); } Borland C library: int createsocket(…) { … NtCreateSocket(…); } int send(…) { … NtSocketSend(…); } NT library: Void NtCreateSocket(…) { … NtAfdCreateSocket(…); } 13 14 Virtual computer concept Virtual C++ Computer C++ compiler LISP interpreter Operating system FORTRAN compiler Macroinstruction interpreter Operating System Command interpreter Bare machine C compiler Assembler Virtual C Computer Java compiler … 15 Importance of operating system System API are the only interface between user applications and hardware – API are designed for general-purpose, not performance driven (e.g. network applications) OS code cannot allow any bug – Any break (e.g. invalid access) causes reboot The owner of OS technology controls the software industry 16 What is Embedded System? 是電腦軟體與硬體的綜合體,亦可涵蓋 機械或其他附屬裝置;整個綜合體設計 的目的,在於滿足某種特殊功能. 例如 : PDA, 遊樂器, 衛星導航系統, 流 程管理器 等. 17 Embedded system architecture 3-layered device – Palm, PocketPC 2-layered device – XBox User Applications Embedded OS Application Hardware Hardware 18 General-purpose & embedded OS General-purpose Embedded OS Examples Linux, Windows WinCE, Palm OS Hardware General-purpose Special device OS code size Large Small Stability req. Strong Weak Develop. cost Huge Medium 19 Operating system concepts 20 Process & Thread How do different applications run on the same machine at the same time without interfering each other? – Protection between processes – Protection between a process and the OS Process: an execution of a program, consisting of a virtual address space, one or more threads, and some OS states. 21 Virtual memory (address space) page 0 0 pp 0 page 1 page 2 pp 1 vap0 vap1 x x pp 2 pp N page table pp 220 212 paging file physical memory (16MB) 232 - 1 virtual address space (4GB) page 22 Virtual memory (address space) page 0 0 pp 0 page 1 page 2 pp 1 vap0 x pp 2 vap1 pp N page table pp 220 212 paging file physical memory (16MB) 232 - 1 virtual address space (4GB) page 23 Memory manager pp 0 pp 1 PT pp 2 process VA pp N pp 212 paging file physical memory PT process VA 24 Memory manager pp 0 pp 1 PT pp 2 process VA pp N pp 212 paging file physical memory PT process VA 25 Memory manager (w/ constraint) x pp 0 pp 1 PT process VA memory manager pp 2 pp N pp 212 paging file physical memory PT process VA 26 Protection dual mode operation Can application modify its own page table? If it could, could get access to all physical memory. Dual Mode – Kernel/protected model: no restriction, can touch any physical memory page – User mode: where you program runs, can only touch part of the virtual address space Applications can enter the kernel mode through systems calls (traps) 27 Mode change: system call trap 1. System call traps to the kernel (kernel mode) 2. Kernel determines service routine required 3. Kernel services the call. 4. Control is returned to user program (user mode) 28 Thread A process starts with one thread (main thread), and can initialize more threads by CreateThread() calls A thread represents an execution stream of instructions and its CPU register context A thread is the unit used in the scheduler Kill a process kill its all threads 29 Scheduler A component in OS that decides which thread in the thread pool gets the CPU Priority-based scheduler Context switch new thread ready scheduler signal events waiting running terminating threads 30 Synchronization All threads in the same process share all global data Synchronization among these threads is necessary to maintain data integrity Resource lock is commonly used to guarantee thread mutual exclusive – abuse of such locks decreases scalability – ignorance of such locks decreases stability Deadlock issues 31 File Systems A hard disk is just a raw media storage A hard disk device driver allows OS to communicate with the hardware But, it is the responsibility of the OS to organize disk sectors/tracks for storing files – such component is called the file system E.g. A hard disk that stores NTFS information cannot be read with the FAT32 driver – example: paper with Moses code 32 Operating Systems and System Software Example: web server software 33 User-mode web server architecture Web Server web cache User Mode I/O module Kernel Mode System Cache CM FileSys Socket TCPIP network card 34 User-mode web server commons User-mode application architecture – e.g. Microsoft Internet Information Server (IIS), Netscape Enterprise Server, Apache HTTP Server, etc. Dependent on generally system API Stand-alone web content cache limited by virtual address space Time-to-live cache replacement algorithm Memory-less dynamic code execution 35 SWC web server architecture User Code User Mode TWC.LIB I/O Module Kernel Mode web cache miss System Cache CM VA<->PA SWC hit NTFS TCPIP - network card + 36 SPECWEB’99 Performance 22719 24,000 Linux + Zeus W2K + IIS 5.0 IBM-AIX + Zeus Linux + TUX W2K + SWC 20,000 Requests/Sec 16,000 21982 14400 12309 12,000 9016 5600* 4800* 8,000 4,000 1512 2694 6371 5600 4409 1638 0 UP *estimated scaling data 4P 8P 37 Kernel vs. user-based web server Increase peak capacity by five times Web cache size be limited by physical memory size Web cache be shared by both static & dynamic web requests Remove I/O overhead and Socket creation Fast TCPIP data transmission 38 Summary # persons skills control reward Apps many easy small low EOS few difficult large high A.D. 1492 Columbus discovers America --- The new and free land is on your grip!! 39