Syllabus Syllabus Operating System Operating System 目的: Concepts Concepts ‧ 介紹作業系統的基本概念、組成原理 ‧ 透過實習,培養學生系統程式製作的基礎 王凡 王凡 能力 ‧ 培養學生參與大型軟體製作的經驗 farn@ce.ee.ntu.edu.tw farn @ce.ee.ntu.edu.tw ‧ 培養團隊合作的能力 Dept. of Electrical Dept. of Electrical Engineering Engineering ‧ 提昇台灣學生系統程式製作能力 National Taiwan University National Taiwan University ‧ 協助建立台大作業系統教學實驗環境 感謝資工系郭大維教授慷慨借用投影片教材 感謝 SUNY-Stony Brook 的 Stoller 教授,提供 Nachos 實習資料 1 2 Syllabus Syllabus Syllabus Syllabus 對象: 對學生的課前要求: ‧對計算機資料結構的基本認識與能力 ‧ 資管系、電機系同學 ‧使用 C/C++ 語言 ‧ 對系統程式、硬體驅動程式,有興趣研究 ‧聰明、勤奮、勇於接受挑戰 的同學 ‧ 想要挑戰高難度程式製作的同學 3 4 Syllabus Syllabus Syllubas Syllubas 成績評量: ( subject to changes.) : • 授課教授 : 王凡 @ Room 435. 電機系 . • 期中考 (25%) 、 NTU.TW • 上課時間 : 9 :10-12:00, Wednesday • 期末考 (25%) 、 • 教室:管貳 202 • 作業 (20%) 、 • 教科書: Silberschatz, Galvin, and Gagne, • 學期 Nachos 計畫( 30 %) “Operating System Concept,” Sixth Edition, John Wiley & Sons, Inc., 2002. 台灣代理:新月圖書公司 台北市重慶南路一段 143 號 3 樓 02-2331-1578 、 23317856 5 6
Syllabus Syllabus Syllabus Syllabus ‧學期計畫: Nachos 作業系統實習 教師與課程網址: ‧在 PC Linux 下執行 http://cc.ee.ntu.edu.tw/~farn ‧模擬 MIPS 硬體架構 ‧目前暫訂兩個部分: 教師e m a i l : – Thread management f a r n @ c c . e e . n t u . e d u . t w – Virtual memory management 7 8 Syllabus Syllabus Syllabus Syllabus 預定課程進度 預定課程進度 課程簡介 第四章、 1. 2/19 7. 4/2 第一章 第二次學期計畫報告介紹: 2. 2/26 第二章 第一階段工作說明,t h r e a d m a n a g e m e n t 3. 3/5 第二章、第三章 第五章 4. 3/12 8. 4/9 第三章 期中考 5. 3/19 9. 4/16 第四章、 第五章、第六章 6. 3/26 10. 4/23 第一次學期報告介紹: Nachos 簡介 第六章 11. 4/30 9 10 10 Syllabus Syllabus Syllabus Syllabus 預定課程進度 預定課程進度 第六章、第七章 端午節 12. 5/7 16. 6/4 繳交學期報告第一階段工作報告 第十章 17. 6/11 第七章 期末考 13. 5/14 18. 6/18 第八章 繳交學期計畫報告 14. 5/21 19. 6/25 第三次學期報告說明:第二階段工作說 明: virtual memory 第九章 13. 5/28 11 11 12 12
Syllabus Syllabus Contents Contents ‧助教: 1. Introduction –陳佳蘊(資管碩士班一年級) 2. Computer-System –林仲輝(資管碩士班一年級) Structures ‧助教時間:每週一小時,時間、地點待宣布 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 13 13 14 14 9. Memory Management Introduction Introduction Chapter 1. Chapter 1. • What is an Operating System? Introduction Introduction – A basis for application programs – An intermediary between users and hardware • Amazing variety – Mainframe, personal computer (PC), handheld computer, embedded computer without user view Convenient vs Efficient 15 15 16 16 Computer System Computer System User View User View Components Components • The user view of the computer varies by the interface being used! User User ................. User • Examples: – Personal Computer � Ease of use compilers, Application Programs word processors, – Mainframe or minicomputer � spreadsheets, Operating System maximization of resource utilization Browsers, etc. • Efficiency and fair share – Workstations � compromise between Hardware CPU, I/O devices, individual usability & resource memory, etc. utilization • OS – a government/environment – Handheld computer � individual provider usability 17 17 18 18 – Embedded computer without user view
System View System View System Goals System Goals • Two Conflicting Goals: • A Resource Allocator – Convenience for the user! – CPU time, Memory Space, File Storage, I/O Devices, Shared Code, – Efficient operation of the computer Data Structures, and more system! • A Control Program – Safety and security • We should – Control execution of user programs – Prevent errors and misuse – recognize the influences of operating systems and computer architecture on • OS definitions – US Dept.of each other Justice against Microsoft in 1998 – and learn why’s and how ’s of OS by – The stuff shipped by vendors as an tracing their evolution and predicting OS 19 19 20 20 what they will become! – Run at all time UNIX Architecture UNIX Architecture Mainframe Systems Mainframe Systems User user user user useruser user user interface • The first used to tackle many commercial and scientific System call Shells, compilers, X, application programs, etc. interface applications! CPU scheduling, signal handling, – 0th Generation – 1940?s virtual memory, paging, swapping, – A significant amount of set-up time file system, disk drivers, caching/buffering, etc. in the running of a job – Programmer = operator Kernel interface terminal controller, terminals, to the hardware – Programmed in binary � physical memory, device controller, devices such as disks, memory, etc. assembler � (1950) high level language UNIX 21 21 22 22 Mainframe Mainframe – Batch Systems Batch Systems Mainframe Mainframe – Batch Systems Batch Systems – Spooling (Simultaneous Peripheral Operation • Batches sorted and On-Line) • loader submitted by the operator ~ Replace sequential-access devices with random-access • job sequencing device • Simple batch systems monitor • control card => Overlap the I/O of one job with the computation of – Off-line processing interpreter others ~ Replace slow input device with e.g. card � disk, CPU services, disk � printer faster units � replace card User Program readers with disks – Job Scheduling Area disks disks – Resident monitor CPU ~ Automatically transfer control card reader printer from one job to the next 23 23 24 24
Mainframe Mainframe – Multiprogrammed Multiprogrammed Mainframe – Time Mainframe Time-Sharing Sharing Systems Systems Systems Systems on-line file system virtual memory sophisticated CPU scheduling • Time sharing (or • Multiprogramming increases monitor CPU job synchronization protection & security scheduling multitasking) is a CPU utilization by organizing ...... job1 logical extension of and so on jobs so that the CPU always job2 multiprogramming! has one to execute – Early disk job3 1960 – Started in 1960s and become common in – Multiporgrammed batched 1970s. systems – An interactive (or hand- – Job scheduling and CPU on) computer system scheduling disk – Multics, IBM OS/360 – Goal : efficient use of scarce 25 25 26 26 resources Desktop Systems Desktop Systems Parallel Systems Parallel Systems • Personal Computers (PC’s) • Tightly coupled: have more than one processor in close communication – Appeared in the 1970s. sharing computer bus, clock, and – Goals of operating systems keep sometimes memory and peripheral changing devices • Less-Powerful Hardware & Isolated Environment � Poor Features • Loosely coupled: otherwise – Benefited from the development of mainframe OS’s and the dropping of hardware cost – Advanced protection features • User Convenience & Responsiveness • A Tandem fault-tolerance solution 27 27 28 28 Parallel Systems Parallel Systems Parallel Systems Parallel Systems • Advantages • Symmetric multiprocessing model: each processor runs an identical copy of the – Speedup – Throughput OS – Lower cost – Economy of Scale – More reliable – Graceful Degradation � • Asymmetric multiprocessing model: a master- slave relationship Fail Soft (detection, diagnosis, correction) ~ Dynamically allocate or pre-allocate tasks ~ Commonly seen in extremely large systems ~ Hardware and software make a difference? • A Tandem fault-tolerance solution 29 29 30 30
Recommend
More recommend