Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 444 Introduction to Operating Systems

Similar presentations


Presentation on theme: "CS 444 Introduction to Operating Systems"— Presentation transcript:

1 CS 444 Introduction to Operating Systems
Lecturer: Dr. Ronald Cheung Office: S/3/073 Phone:

2 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)

3 Introduction Syllabus and Lecture Notes Required Textbooks
Web: Required Textbooks Modern Operating Systems, 4th Ed., A. Tanenbaum

4 Introduction HW assignments Homework is an Individual Group Effort
Assignment write-ups will be on my website HW will be done on the ulab UNIX machine by student groups (2 students to a group) The executable will be downloaded to the SAPC 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!

5 Getting Started UNIX Account Apply for a cs444 account Edit your .cshrc file in your home to add “load module ulab” (set up environment to compile programs that can run on SAPCs) Install VMWare Workstation 10 for PC or VMWare Fusion 8 for MAC Download the corresponding .exe or .dmg and .txt files from /nobackup/blade71/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 ssh2 or putty Then ssh ulab and cd cs444 You can edit your files and compile a program for the SAPC Download the executable to the SAPC VM and debug

6 Getting Started Putty (Officially Recommended by Systems Staff)
Download, UnZIP and Execute Installer as directed Use Putty configured for SSH2 instead of TELNET Use PSCP or PSFTP for secure ftp

7 Getting Started Assume students know C programming, make, and tools such as mtip, Tutor, gdb from ulab Useful links on ulab: Professor Wilson’s CS 341 lectures:

8 Components of a Computer System
Physical Devices Microarchitecture Machine Language Operating System Compilers Editors Command Interpreter Spread sheet Web Browser Games Hardware System programs Application programs 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

9 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

10 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

11 Timeline of OS Milestones
Apple DOS 3.1 Windows NT Windows 98 OS/2 Apple MAC Windows Vista PC-DOS Windows 3.0 MAC OS MAC OS X UNIX CP/M 1970 1980 1990 2000 2010 Windows 95 NeXT Step Windows XP Windows 7 BSD UNIX GNU LINUX Windows ME, 2000 Windows 1.01; Atari ST source:

12 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 (VxWorks, pSOS) completes tasks within a given time budget Embedded OS (Blackberry OS, Apple iOS) fits into small hand held device

13 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

14 Types of System Calls UNIX/LINUX- POSIX (International standard ) Process Management File management Directory Management Miscellaneous Windows Win32 API Compatible among Windows versions Many are library calls (user mode to user mode) About 100 calls Several 1000 calls

15 User Memory Layout Important powers of 2: 1G=230, 1M=220, 1K=210
reserved code data stack 0x 0x 0xFFFFFFFF 0x7FFFFFFF Solaris UNIX Win 32 C lib Dll Important powers of 2: 1G=230, 1M=220, 1K=210 0xFFFFFFFF = = 4G-1

16 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

17 Example of UNIX System Calls
See debugging session captured in syscalls.html C program runs on a Sun Sparc machine with the Solaris OS


Download ppt "CS 444 Introduction to Operating Systems"

Similar presentations


Ads by Google