CS 444 Introduction to Operating Systems

Slides:



Advertisements
Similar presentations
Operating System Structures
Advertisements

What is an operating system? Is it software?
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
Exploring the Internet Creating and setting up your website Instructor: Michael Krolak Instructor: Patrick Krolak See also
© 2004, D. J. Foreman 1 CS350 Operating Systems. © 2004, D. J. Foreman 2 Administrivia  Assignments ■ Homework on most chapters ■ Approximately 8 lab.
1 Homework Reading Assignment –Professional Assembly Language, pp 39-59, MP1 –Get assignment file from my web page and study it –Make and populate.
Operating Systems - Introduction S H Srinivasan
Systems Programming Course Gustavo Rodriguez-Rivera.
Introduction to windows operating system i
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
Operating Systems.
Dr. José M. Reyes Álamo 1.  Course website  Syllabus posted.
Linux Basics. What is an Operating System (OS)? An Operating System (OS) is an interface between hardware and user which is responsible for the management.
Getting Connected to NGS while on the Road… Donna V. Shaw, NGS Convocation.
1 CS 240 Programming in C and UNIX Lecturer: Bob Wilson Office: S Phone:
Ceng Operating Systems
CS110/CS119 Introduction to Computing (Java)
Chromium OS is an open-source project that aims to build an operating system that provides a fast, simple, and more secure computing experience for people.
COMP1070/2002/lec3/H.Melikian COMP1070 Lecture #3 v Operating Systems v Describe briefly operating systems service v To describe character and graphical.
Module 2 Part I Introduction To Windows Operating Systems Intro & History Introduction To Windows Operating Systems Intro & History.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
WEEK 1 COURSE INTRODUCTION INTRODUCTION TO OPERATING SYSTEMS OPERATING SYSTEM STRUCTURES Operating Systems CS3013 / CS502.
Introduction to Operating Systems Chapter 1. cs431 -cotter2 Lecture Objectives Understand the relationship between computing hardware, operating system,
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 2: Operating-System Structures Operating.
April 2000Dr Milan Simic1 Network Operating Systems Windows NT.
CT 1503 Network Operating Systems Instructor: Dr. Najla Al-Nabhan 2014.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
Operating System What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. An operating.
SAPC Hardware Pentium CPU (or 486) 4M usable memory no hard disk; boot from floppy no keyboard or monitor or mouse COM2 serial port: used for console i/o.
CS4710 Why Progam?. Why learn to program? Utility of programming skills: understand tools modify tools create your own automate repetitive tasks automate.
CMSC 104, Version 8/061L01Introduction.ppt Introduction CMSC 104 Problem Solving and Computer Programming.
1 Operating Systems: Principles and Practice Cpr E 308.
CS2204: Introduction to Unix January 19 th, 2004 Class Meeting 1 * Notes adapted by Christian Allgood from previous work by other members of the CS faculty.
Module 2 Part I Introduction To Windows Operating Systems Intro & History Introduction To Windows Operating Systems Intro & History.
Overview of Operating Systems Introduction to Operating Systems: Module 0.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Chapter 9: Networking with Unix and Linux. Objectives: Describe the origins and history of the UNIX operating system Identify similarities and differences.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
THE WINDOWS OPERATING SYSTEM Computer Basics 1.2.
System Programming Basics Cha#2 H.M.Bilal. Operating Systems An operating system is the software on a computer that manages the way different programs.
Computer Operating Systems And Software applications.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
CENG 334 – Operating Systems 01- Introduction Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.
Introduction to Operating Systems Concepts
Computer System Structures
Getting Connected to NGS while on the Road…
Chapter 5 Operating Systems.
Homework Reading Assignment Lab 1 MP1
Operating System & Application Software
Homework Reading Assignment Lab 1 Get ready for mp1
IT244 - Introduction to Linux / Unix Instructor: Bo Sheng
Chapter 2: Operating-System Structures
Computer Software CS 107 Lecture 2 September 1, :53 PM.
Chapter 3: Windows7 Part 1.
Sami Shamoon College of Engineering Introduction to Operating Systems
CS 444 Introduction to Operating Systems
What is an Operating System?
SAPC Hardware Pentium CPU (or 486) 4M usable memory
Chapter 2: System Structures
Getting Connected to NGS while on the Road…
CS-3013 Operating Systems Hugh C. Lauer
Lecture Topics: 11/1 General Operating System Concepts Processes
CS 444 Introduction to Operating Systems
Outline Chapter 2 (cont) OS Design OS structure
Outline Operating System Organization Operating System Examples
Types of Software Mrs. S. Palmer Office Administration.
System calls….. C-program->POSIX call
Lecture Topics: 11/1 Hand back midterms
Presentation transcript:

CS 444 Introduction to Operating Systems Lecturer: Dr. Ronald Cheung Office: S/3/073 Phone: 617-287-6483 Email: cheungr@cs.umb.edu

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 Required Textbooks Web: http://www.cs.umb.edu/~cheungr/cs444 Required Textbooks Modern Operating Systems, 4th Ed., A. Tanenbaum

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!

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

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

Getting Started Assume students know C programming, make, and tools such as mtip, Tutor, gdb from ulab Useful links on ulab: http://www.cs.umb.edu/ulab Professor Wilson’s CS 341 lectures: www.cs.umb.edu/~bobw/CS341

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

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 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 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: 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 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

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

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

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 syscalls.html C program runs on a Sun Sparc machine with the Solaris OS