COP 5611 Operating Systems Instructor Xiuwen Liu Department of Computer Science Florida State University Outline Class organization Syllabus Review of Classical Operating Systems That is operating systems designed on a particular computer A survey 01 14 19 COP5611 2 Class organization Class syllabus Class web page Comments Grading Academic honor code Programs you submitted must be your own While discussions of class materials and assignments are allowed discussion and copying of solutions is strictly prohibited Feedbacks 01 14 19 COP5611 3 Textbooks You are required to read the chapters in the textbook You can skip sections only when specified You may be tested on the materials in the textbook but not fully covered in the class I will specify those sections clearly for self studying The majority on quizzes and exams will be covered in the class 01 14 19 COP5611 4 Programming Environment Two programming assignments must be done on either linprog or program linprog consists of four linux machines program consists of four Sun workstations Doing the assignments on other machines is not allowed You may loose some of your privilege Your account may be even revoked Your program will be tested on program any submitted executable programs must be compiled and run correctly on program 01 14 19 COP5611 5 Expectations Expectations now You are expected to have known the technical issues design principles and common solutions in classical operating systems Expectations after finishing this course You are expected to understand the technical issues and solutions in distributed operating systems General expectations Working hard attitude and enthusiasm toward learning new and difficult topics 01 14 19 COP5611 6 Overview of the Course This course focuses on distributed operating systems Technical issues and solutions Chapters 5 8 I think these are the technically most difficult part We will cover those algorithms in depth Concepts and main issues Distributed resource management security and protection and fault tolerance and recovery Practical paradigms Main differences between this class and undergraduate operating system class 01 14 19 COP5611 7 Operating System An operating system is a layer of software on a bare machine that performs two basic functions Resource management To manage resources so that they are used in an efficient and fair manner User friendliness 01 14 19 COP5611 8 Hardware Advances Advances in OS are mainly driven by the advances in hardware Early stage From 1945 modern computers were invented Until about 1985 computers were large and expensive They were operated mainly independently and used for scientific computation by experts Modern stage Powerful microprocessors Advanced network technology The amount of improvement over the half century is truly staggering and totally unprecedented A price performance gain about 1012 01 14 19 COP5611 9 A Comparison for Fun Suppose that cars had improved at the same rate during the same time period how much would this car cost today 01 14 19 COP5611 10 A Brief History 01 14 19 COP5611 11 Genesis of Modern OS 01 14 19 COP5611 12 von Neumann Architecture 01 14 19 COP5611 13 S1 bus Dest bus S2 bus C o n t r o l ALU A B R0 r1 registers C ia PC u n i t IR psw MAR MDR Memory MAR memory address register MDR memory data register IR instruction register Major Components of an OS 01 14 19 COP5611 15 Design Approaches A good operating system design must separate policies from mechanisms Policies refer to what should be done Mechanisms refer to how it should be done The separation contributes greatly to flexibility Policies make use of underlying mechanisms and are likely to change 01 14 19 COP5611 16 The Layered Approach In this approach the OS is divided into several layers The functions are vertically apportioned into these layers Each layer has well defined functionality and input output interfaces with the two adjacent layers 01 14 19 COP5611 17 Structure of THE Operating Systems 01 14 19 COP5611 18 Depiction of Windows XP Architecture 01 14 19 COP5611 19 The Kernel Approach In this approach a kernel is a collection of primitive facilities over which the rest of operating system is built using the functions provided by the kernel This approach provides considerable flexibility because the policy and optimization decisions are not made at the kernel level 01 14 19 COP5611 20 Components of a Linux System This is often called monolithic kernel The kernel is a big monolithic kernel consisting of all the services provided by the operating systems 01 14 19 COP5611 21 A Typical Microkernel OS 1 11 01 14 19 COP5611 22 The Virtual Machine Approach In this approach a virtual machine software on the bare hardware gives the illusion that all machine hardware is at the sole disposal of each user A user can run a single user OS on this virtual machine A user can also run other operating systems 01 14 19 COP5611 23 Why Advanced Operating Systems Most efforts before 1980 were focused on socalled classical operating systems Stand alone computers with a single processor With the availability of cheap powerful microprocessors and significant advances in communication technology a few powerful computers can provide an enormous computing power with lower cost This raises many technical issues that were not presented in classical operating systems 01 14 19 COP5611 24 Survey This survey consists of a few questions The purpose is to give me a better knowledge of your background so that I may do a better job It will not be used for any grading Next time we will talk about Chapter 4 regarding distributed operating systems 01 14 19 COP5611 25
View Full Document