Скачать презентацию EE 110300 電機資訊 程實習 Lecture 3 個人電腦系統 II Скачать презентацию EE 110300 電機資訊 程實習 Lecture 3 個人電腦系統 II

71700d92737709941a8c22162630b1ad.ppt

  • Количество слайдов: 39

EE 110300 電機資訊 程實習 Lecture 3 個人電腦系統 II ---- Operating Systems 資訊 程系 黃泰一 EE 110300 電機資訊 程實習 Lecture 3 個人電腦系統 II ---- Operating Systems 資訊 程系 黃泰一 教授 1

What is an operating system? Definition ¨ An operating system is the “permanent” software 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 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 Operating System Architecture 3

Modern operating systems ¨ x 86 platform – Linux – Windows ¨ Mac platform Modern operating systems ¨ x 86 platform – Linux – Windows ¨ Mac platform – Mac OS ¨ Sun Solaris & Unix (Sun workstations) ¨ IBM AIX (mainframes) ¨ Embedded systems (special-purpose OS) – Palm, Pocket. PC, etc – Xbox, etc 4

Linus Torvalds ¨ 1991, Finland, Linux Project ¨ 1992, Linux Kernel 0. 02 – Linus Torvalds ¨ 1991, Finland, Linux Project ¨ 1992, Linux Kernel 0. 02 – Bash v 1. 08 – GCC v 1. 40 ¨ 1997, Moves to Transmeta ¨ 1998, Linux Kernel v 2. 2 ¨ 2001, Linux Kernel v 2. 4 ¨ Pronunciation: “Linn-ucks” 5

Windows 2000 & XP ¨ 1989: 10 developers left DEC VMS team and joined 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 ¨ 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 – (Win 2 K + 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 Operating System Interfaces 8

Software & hardware layer User Program Executable Binary user Compiler Linker compiler user mode 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的唯一目的就是要將所 有的硬體隱藏. ¨ 他應該是整套軟體中唯一能和硬體 溝通的窗口. ¨ 他能直接讀取或寫入特定裝置控制 及狀態暫存器, 如果裝置發生中斷, 那 Device Driver ¨ Device driver的唯一目的就是要將所 有的硬體隱藏. ¨ 他應該是整套軟體中唯一能和硬體 溝通的窗口. ¨ 他能直接讀取或寫入特定裝置控制 及狀態暫存器, 如果裝置發生中斷, 那 ISR也要整合到裝置驅動程式. 10

System service call (monitor) C Programs: main() { // call printf, provided // by 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 Sys. Output. String, // provided by NT // system library, to // print on the screen Sys. Output. String(…); } NT library: Void Sys. Output. String(…) { // call Nt. Output. String, that in turn will call // video card driver to output strings to // the screen Nt. Output. String(…); } 11

System service call (disk) C Programs: main() { // call Create. File // by System service call (disk) C Programs: main() { // call Create. File // by the C library, to // create a file on disk Create. File(“a. txt”) } Borland C library: Int Create. File(…) { // call Nt. Create. File, // provided by NT to // create a file Nt. Create. File(…); } NT library: Void Nt. Create. File(…) { // call Nt. Internal. Create. File, that in turn will // call the file system driver and the disk // driver to create a file on a disk Nt. Internal. Create. File(…); } 12

System service calls (network) C Programs: main() { so = createsocket(); send(so, “text”); close(so); System service calls (network) C Programs: main() { so = createsocket(); send(so, “text”); close(so); } Borland C library: int createsocket(…) { … Nt. Create. Socket(…); } int send(…) { … Nt. Socket. Send(…); } NT library: Void Nt. Create. Socket(…) { … Nt. Afd. Create. Socket(…); } 13

14 14

Virtual computer concept Virtual C++ Computer C++ compiler LISP interpreter Operating system FORTRAN compiler 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 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, 遊樂器, What is Embedded System? 是電腦軟體與硬體的綜合體, 亦可涵蓋 機械或其他附屬裝置; 整個綜合體設計 的目的, 在於滿足某種特殊功能. 例如 : PDA, 遊樂器, 衛星導航系統, 流 程管理器 等. 17

Embedded system architecture ¨ 3 -layered device – Palm, Pocket. PC ¨ 2 -layered Embedded system architecture ¨ 3 -layered device – Palm, Pocket. PC ¨ 2 -layered device – XBox User Applications Embedded OS Application Hardware 18

General-purpose & embedded OS General-purpose Embedded OS Examples Linux, Windows Win. CE, Palm OS General-purpose & embedded OS General-purpose Embedded OS Examples Linux, Windows Win. CE, 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 Operating system concepts 20

Process & Thread ¨ How do different applications run on the same machine at 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 Virtual memory (address space) page 0 0 pp 0 page 1 page 2 pp 1 vap 0 vap 1 x x pp 2 pp N page table page 220 pp 212 paging file physical memory (16 MB) 232 - 1 virtual address space (4 GB) 22

Virtual memory (address space) page 0 0 pp 0 page 1 page 2 pp Virtual memory (address space) page 0 0 pp 0 page 1 page 2 pp 1 vap 0 x pp 2 vap 1 pp N page table page 220 pp 212 paging file physical memory (16 MB) 232 - 1 virtual address space (4 GB) 23

Memory manager pp 0 pp 1 PT pp 2 process VA pp N pp 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 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 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 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) 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 Thread ¨ A process starts with one thread (main thread), and can initialize more threads by Create. Thread() 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 Scheduler ¨ A component in OS that decides which thread in the thread pool gets the CPU ¨ Priority-based scheduler ¨ Context switch new thready signal events waiting scheduler running terminating threads 30

Synchronization ¨ All threads in the same process share all global data ¨ Synchronization 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 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 FAT 32 driver – example: paper with Moses code 32

Operating Systems and System Software Example: web server software 33 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 User-mode web server architecture Web Server web cache User Mode I/O module Kernel Mode System Cache CM File. Sys Socket TCPIP network card 34

User-mode web server commons ¨ User-mode application architecture – e. g. Microsoft Internet Information 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 SWC web server architecture User Code User Mode TWC. LIB I/O Module Kernel Mode web cache miss System Cache CM SWC NTFS VA<->PA hit TCPIP network card + 36

SPECWEB’ 99 Performance *estimated scaling data 37 SPECWEB’ 99 Performance *estimated scaling data 37

Kernel vs. user-based web server ¨ Increase peak capacity by five times ¨ Web 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 Apps EOS skills control reward many easy small low few difficult Summary # persons Apps EOS skills control reward many easy small low few difficult large high A. D. 1492 Columbus discovers America --- The new and free land is on your grip!! 39