CS 444 Introduction to Operating Systems Lecturer Dr

  • Slides: 18
Download presentation
CS 444 Introduction to Operating Systems Lecturer: Dr. Ronald Cheung Office: M-3 -0201 -06

CS 444 Introduction to Operating Systems Lecturer: Dr. Ronald Cheung Office: M-3 -0201 -06 Phone: 617 -287 -6483 Email: ronald. cheung@umb. edu Class Website: www. cs. umb. edu/~cheungr/cs 444

Course Objectives • This course will teach you details of the operating system •

Course Objectives • This course will teach you details of the operating system • It will cover topics: – Processes and threads – Deadlocks – Memory management – I/O systems – File systems – Real-time operating systems (if time permits)

Introduction • Syllabus and Lecture Notes – Web: http: //www. cs. umb. edu/~cheungr/cs 444

Introduction • Syllabus and Lecture Notes – Web: http: //www. cs. umb. edu/~cheungr/cs 444 • Required Textbooks – Modern Operating Systems, 4 th Ed. , A. Tanenbaum

Introduction • HW assignments – Assignment write-ups will be on my website – HW

Introduction • HW assignments – Assignment write-ups will be on my website – HW will be done on the LINUX machine by student groups (2 students to a group) – The executable will be downloaded to the tutor VM and debugged remotely • Homework is an Individual Group Effort – You can answer questions for each other as long as you acknowledge any help that you receive from others – BUT DON’T HAVE OR LET ANYONE ELSE DO YOUR HOMEWORK FOR YOU! – Exams will definitely have programming questions – If I discover any cheating, I’ll follow school policy!

Getting Started • UNIX Account – Apply for a cs 444 account • Install

Getting Started • UNIX Account – Apply for a cs 444 account • Install VMWare Workstation 15 for PC or VMWare Fusion 12 for MAC – Download the corresponding. exe or. dmg and. txt files from /nobackup/faculty/cheungr/ – Install it on your PC or MAC using the license key provided • Remote access from your home – login on “users. cs. umb. edu” using ssh 2 or putty – Then cd cs 444 – You can edit your files and compile a program for the tutor – Download the executable to the tutor VM and debug

Getting Started • Putty (Officially Recommended by Systems Staff) – – http: //www. chiark.

Getting Started • Putty (Officially Recommended by Systems Staff) – – http: //www. chiark. greenend. org. uk/~sgtatham/putty/ Download, Un. ZIP and Execute Installer as directed Use Putty configured for SSH 2 instead of TELNET Use PSCP or PSFTP for secure ftp

Getting Started • Assume students know C programming, make, and tools such as mtip,

Getting Started • Assume students know C programming, make, and tools such as mtip, Tutor, gdb • Useful links: – Professor Cheung’s CS 341 lectures: www. cs. umb. edu/~cheungr/cs 341

Components of a Computer System Spread sheet Compilers Web Browser Editors Games Command Interpreter

Components of a Computer System Spread sheet Compilers Web Browser Editors Games Command Interpreter Operating System Application programs System programs Machine Language Microarchitecture Physical Devices Hardware • Operating system runs in kernel (supervisory) mode – Protected from user tempering by hardware • Other software runs in user mode – users are free to modify if he/she so chooses • Boundary between Operating Systems and User mode programs is blurred

What is an Operating System? • Programming at machine language level primitive and awkward.

What is an Operating System? • Programming at machine language level primitive and awkward. Operating Systems provide: – a clean abstract set of services to access hardware resources that is easier to program – Management of these resources

A Bottom-up View • OS manages all pieces of a complex system • Provides

A Bottom-up View • OS manages all pieces of a complex system • Provides an orderly and controlled allocation and access of hardware resources • Arbitrates which application has access to what resources at what time

Timeline of OS Milestones Apple DOS 3. 1 UNIX CP/M 1970 OS/2 PC- Apple

Timeline of OS Milestones Apple DOS 3. 1 UNIX CP/M 1970 OS/2 PC- Apple DOS MAC 1980 BSD UNIX Windows NT 98 Windows 3. 0 1990 GNU Ne. XT Step Windows 1. 01; Atari ST MAC OS X 2000 Windows Vista 2010 Windows 95 XP 7 LINUX Windows ME, 2000 source: http: //www. computerworld. com/s/article/9129498/Timeline_40_years_of_OS_milestones

Categories of Operating Systems • Server OS (UNIX, Windows Server, Linux) – serves multiple

Categories of Operating Systems • Server OS (UNIX, Windows Server, Linux) – serves multiple users • PC OS (Mac OS, Windows) – serves a single user • Real-time OS (Vx. Works, p. SOS) – completes tasks within a given time budget • Embedded OS (Android OS, Apple i. OS) – fits into small hand held device

System Calls • What is a System Call? – Interface between user programs and

System Calls • What is a System Call? – Interface between user programs and the operating system – User program transfers control to the operating system using a trap instruction. Once it completes the work, it returns the program to user space – System calls vary from one operating system to another

Types of System Calls • UNIX/LINUX- POSIX (International standard 9945 -1) – Process Management

Types of System Calls • UNIX/LINUX- POSIX (International standard 9945 -1) – Process Management – File management – Directory Management – Miscellaneous • Windows Win 32 API About 100 calls� Several 1000 calls – Compatible among Windows versions – Many are library calls (user mode to user mode)

User Memory Layout Solaris UNIX 0 reserved 0 x 00010000 0 x 00020000 0

User Memory Layout Solaris UNIX 0 reserved 0 x 00010000 0 x 00020000 0 x. FFFF Win 32 0 reserved code data C lib Dll stack 0 x 7 FFFFFFF Important powers of 2: 1 G=230, 1 M=220, 1 K=210 0 x. FFFF = 232 -1 = 4 G-1 stack

Dynamic Link Library(DLL) • Also known as dynamic library • code can be called

Dynamic Link Library(DLL) • Also known as dynamic library • code can be called by a program that is not stored in the program’s executable file • brought to memory at runtime via dynamic linkage to user’s program • calls to library are direct since it is in user memory

Example of UNIX System Calls • See debugging session captured in www. cs. umb.

Example of UNIX System Calls • See debugging session captured in www. cs. umb. edu/~cheungr/cs 444/syscal ls. htm • C program runs on a Sun Sparc machine with the Solaris OS

Not understanding OS Software Amelio and Apple’s board recruited Amelio in late 1995 to

Not understanding OS Software Amelio and Apple’s board recruited Amelio in late 1995 to replace CEO Jim Buckley, on whose watch the company posted a loss of more than $69 million. Amelio left his role as CEO of Apple-supplier National Semiconductor—which he is credited with turning around—to take the lead at Apple in February 1996. One hundred days into his tenure, Amelio announced that his strategy was “many small steps” rather than any big moves; that he planned to focus on “megatrends, ” like the Internet, and that he was raising the stakes on competitors by upping the amount of memory in the Macintosh computer to 12 megabytes. In December 1996, Amelio announced that Apple was buying Ne. XT, the company that Jobs had gone on to create, for $400 million, and Jobs was coming back into the fold. Seventeen months after being hired, Amelio was ousted.