CS 149: Operating Systems January 22 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak www.cs.sjsu.edu/~mak.

Slides:



Advertisements
Similar presentations
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc
Advertisements

Tanenbaum & Woodhull, Operating Systems: Design and Implementation, (c) 2006 Prentice-Hall, Inc. All rights reserved OPERATING SYSTEMS DESIGN.
OPERATING SYSTEM An operating system is a group of computer programs that coordinates all the activities among computer hardware devices. It is the first.
Operating System.
Introduction CSCI 444/544 Operating Systems Fall 2008.
CS 345 Computer System Overview
Winter 2005 CMPE 151: Network Administration Lecture 2.
The Legendary IBM 1401 A Major Milestone in the History of Modern Computing 2009 Summer University Seminar 1 July 27, 2009 Department of Computer Science.
Understanding Operating Systems 1 Overview Introduction Operating System Components Machine Hardware Types of Operating Systems Brief History of Operating.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 1 Introduction Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
Introduction to C++ Programming CS 117 Section 2 and KNET Sections Spring 2001 MWF 1:40-2:30.
1 Introduction to computers Overview l · Grading Policy »Cheating Rules (serious concern) »Examinations and Fixation of Timings »Quizzes »Homework Assignments.
CS 153: Concepts of Compiler Design August 25 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
CS 149: Operating Systems January 27 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak
1 The development of modern computer systems Early electronic computers Mainframes Time sharing Microcomputers Networked computing.
CS 185C: The History of Computing August 24 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak
CS 235: User Interface Design January 22 Class Meeting
CS 149: Operating Systems April 21 Class Meeting
Topics Introduction Hardware and Software How Computers Store Data
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Operating Systems CS3502 Fall 2014 Dr. Jose M. Garrido
Operating Systems.
CS 153: Concepts of Compiler Design August 24 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
OPERATING SYSTEMS DESIGN AND IMPLEMENTATION Third Edition ANDREW S. TANENBAUM ALBERT S. WOODHULL Yan hao (Wilson) Wu University of the Western.
CS 149: Operating Systems January 29 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak
CS 235: User Interface Design August 25 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
1 Operating System Overview. 2 Today’s Objectives Explain the main purpose of operating systems and describe milestones of OS evolution Explain fundamental.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 E-Main: Phone:
MODERN OPERATING SYSTEMS Chapter 1 Introduction Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 1 Introduction Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc.
CT 1503 Network Operating Systems Instructor: Dr. Najla Al-Nabhan 2014.
CY2003 Computer Operating Systems Lecture 01 Introduction Abir Hussain (JPB6.33,
1 Operating Systems: Principles and Practice Cpr E 308.
CS 152: Programming Language Paradigms January 27 Class Meeting Department of Computer Science San Jose State University Spring 2014 Instructor: Ron Mak.
Scott Marino MSMIS Kean University MSAS5104 Introduction to Programming with Data Structures and Algorithms Week 2 Scott Marino.
CMPE 226 Database Systems November 18 Class Meeting Department of Computer Engineering San Jose State University Fall 2015 Instructor: Ron Mak
CMPE 226 Database Systems October 28 Class Meeting
CIS250 OPERATING SYSTEMS Chapter One Introduction.
Computer Architecture2  Computers are comprised of three things  The physical computer  The operating system  The user and programs running on the.
MODERN OPERATING SYSTEMS Chapter 1 Introduction
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Chapter 1 Introduction  What is an operating system  History of operating systems  The operating system zoo  Computer hardware review  Operating system.
操作系统原理 OPERATING SYSTEM Chapter 1 Introduction 概 述.
Introduction Computer Organization Spring 1436/37H (2015/16G) Dr. Mohammed Sinky Computer Architecture
CS 157B: Database Management Systems II April 22 Class Meeting Department of Computer Science San Jose State University Spring 2013 Instructor: Ron Mak.
Midterm OPERATING SYSTEM. Objectives At the end of the course, the student should be able to: Define the operating system; Demonstrate the abstract view.
Generations of Computing. The Computer Era Begins: The First Generation  1950s: First Generation for hardware and software Vacuum tubes worked as memory.
CMPE 226 Database Systems April 19 Class Meeting Department of Computer Engineering San Jose State University Spring 2016 Instructor: Ron Mak
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview: Using Hardware.
1 Chapter 1 Background Fundamentals of Java: AP Computer Science Essentials, 4th Edition Lambert / Osborne.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 0: Historical Overview.
OS HISTORY Module 1.3 Richard Newman University of Florida.
Tanenbaum & Woodhull, Operating Systems: Design and Implementation, (c) 2006 Prentice-Hall, Inc. All rights reserved OPERATING SYSTEMS DESIGN.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
Computer Science 2 What’s this course all about?
2. OPERATING SYSTEM 2.1 Operating System Function
Evolution of Operating Systems
CMPE 152: Compiler Design January 25 Class Meeting
Computer Science I CSC 135.
MODERN OPERATING SYSTEMS Third Edition ANDREW S
CMPE 152: Compiler Design August 21 Class Meeting
CMPE 152: Compiler Design January 24 Class Meeting
Operating System Introduction
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
Prof. B. I. Khodanpur HOD – Dept. of CSE R. V. College of Engineering
ICS103 Programming in C 1: Overview of Computers And Programming
COP2800 – Computer Programming Using JAVA
Presentation transcript:

CS 149: Operating Systems January 22 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak Basic Info  Office hours TuTh 7:30 - 8:30 PM MH 413  Class website Green sheet Assignments Lecture notes 2

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 3 Project Teams  Assignments will be done by small project teams.  Form your own teams of 3 or 4 members each.  Choose your team members wisely! Be sure you’ll be able to meet and communicate with each other and work together well. No moving from team to team.

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak Project Teams, cont’d  Each team member will receive the same score on each team assignment and team project.  Each team to by Monday, January Your team name A list of team members and addresses  Subject: CS 149- n Team Team Name Where n is your section number (2, 3, or 8) Example: CS Team Super Coders 4

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 5 Individual Responsibilities You are personally responsible for participating and contributing to your team’s work, and for understanding each part of the work for every assignment whether or not you worked on that part.

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 6 Postmortem Assessment Report  At the end of the semester, each student will individually turn in a short (one page) report: A brief description of what you learned in the course. An assessment of your personal accomplishments for your project team. An assessment of each of your project team members. _

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 7 Your Individual Overall Class Grade  65% assignments (team scores)  15% midterm exam (individual score)  20% final exam (individual score)  Final letter grade based on the class curve.

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 8 Participation is Important  Can move your final grade up or down, especially in borderline cases.  Participation in class.  Participation in your team. As reported by the postmortem assessment reports.

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 9 Take roll!

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 10 What is an Operating System?  The layer of “system software” between the machine hardware and the application programs. Operating Systems: Design and Implementation Tanenbaum & Woodhull (c) 2006 Prentice-Hall, Inc. All rights reserved

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 11 Why Study Operating Systems?  Become a better programmer. Your applications can make better use of the underlying system. Be a systems programmer.  Become a power computer user. Understand how to invoke OS services at the command line. Be able to write shell scripts.  Become a better computer designer. Understand hardware and software tradeoffs.

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 12 Purpose of an Operating System  An extended machine or virtual machine Easier to use and program than the underlying hardware.  A resource manager Programs share resources in time and space.

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak What Resources Does an OS Manage?  CPUs process management  Main memory memory management  Data storage disk management file management  I/O devices I/O management  Networking, virtualization, security, etc. 13

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 14 Abstractions  An operating systems provides abstractions of the computer system.  Abstractions are useful for computer users and for software developers.

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 15 Abstractions, cont’d  CPU  multiple processes Process: A program that is running locally or remotely.  Physical memory  virtual memory Processes can simultaneously occupy more memory than is physically available.  Disk storage  files Don’t worry about allocating space on disk drives that are local or on a network server.

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 16 UNIX as an Example OS  In this class, we will use UNIX as an example operating system.  We will write system calls using the C language.  Install Debian Linux on your PC or Mac as a virtual machine.

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 17 VirtualBox (PC and Mac)  Challenging to set up, but very powerful. Free software from Oracle: Latest version is   Download the Debian ISO file. Debian Linux distro: Latest version is Download "small installation image" which is a.iso file. ISO: optical disk image: a.iso file

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 18 VirtualBox (PC and Mac), cont’d  Load the Debian ISO file into VirtualBox to create a Debian virtual machine (VM). You can run multiple VMs simultaneously, each with a different operating system. Subject to your disk and memory limitations.  Also install VirtualBox “guest additions”  Allows you to mount a shared folder that is accessible by both the VM and the host machine. Installation demo next Tuesday.

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 19 Operating System Generations  Generation 1 (1945 – 55) Vacuum tubes and plugboards  Generation 2 (1955 – 65) Transistors and batch systems  Generation 3 (1965 – 80) ICs and multiprogramming  Generation 4 (1980 – Present) Personal and mobile computers _

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 20 Historical Perspective  Early batch computer systems a) Programmers bring punched cards to the IBM 1401 computer system. b) The1401 reads a batch of jobs onto tape. Operating Systems: Design and Implementation Tanenbaum & Woodhull (c) 2006 Prentice-Hall, Inc. All rights reserved

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 21 Historical Perspective, cont’d  Early batch computer systems c) A computer operator carries the input tape to a “large scale” IBM d) The 7094 does the computing. Operating Systems: Design and Implementation Tanenbaum & Woodhull (c) 2006 Prentice-Hall, Inc. All rights reserved

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak  Early batch computer systems e) The operator carries the output tape to the IBM f) The 1401 prints output. 22 Historical Perspective, cont’d Operating Systems: Design and Implementation Tanenbaum & Woodhull (c) 2006 Prentice-Hall, Inc. All rights reserved

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 23 What was the IBM 1401? 1401 CPU1402 Card Read Punch 1403 Line Printer729 Tape Drive 1407 Console  A “small scale” computer system developed by IBM in the late 1950s.

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 24 Computing Before the IBM 1401  Business data processing involved applications that manipulated data records: Inventory Billing and receivables Payroll

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 25 Computing Before the IBM 1401  Data was stored in punched cards called “IBM cards” or “Hollerith cards” Named after Herman Hollerith.  80 columns per card, one character per column.  Up to 12 punched holes per column.  Alphanumeric data, often grouped into fields.

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 26 Computing Before the IBM 1401  A data processing application involved passing decks of punched cards through electromechanical “unit record” machines.  Repetitive sort, calculate, collate, and tabulate operations were programmed with hand-wired plugboard control panels. _

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 27 Plugboard Control Panel IBM 407 Accounting Machine (1949)

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 28 Programming a Plugboard “Hmm, should I pass this parameter by value or by reference?”  “Programming” was hand-wiring plugboards.

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 29 Data Processing

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 30 Data Processing  Cards were punched manually at a keypunch machine.  Or they were punched automatically by unit-record equipment under program control.

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 31 Running a Data Processing Application... ... meant passing decks of cards through a sequence of unit-record machines. Each machine was programmed via its plugboard to perform its task for the application. Each machine had little or no memory. The punched cards stored the data records The data records moved as the cards moved. An entire work culture evolved around punched cards!

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 32 A Data Processing Job  A typical “job”. Operating Systems: Design and Implementation Tanenbaum & Woodhull (c) 2006 Prentice-Hall, Inc. All rights reserved

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 33 A Data Processing Program  Data processing was all about punched cards.  My school compiler project: 3½ boxes of punched cards Each box = 2000 cards, 10 lbs.

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 34 The IBM 1401 Computer System  Memory was a limited resource. The main CPU unit contained up to 4K characters of core memory (1 character = 8 bits). You could add the IBM 1406 memory unit which contained up to 12K of additional memory Maximum memory was 16K. K = 1000 In the 1401, each core bit cost 60¢ ($3/bit in today’s dollars).

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 35 The IBM 1401 Computer System  The 1401 computer system had amazing peripherals (I/O devices) Line Printer 1402 Card Reader Punch 729 Magnetic Tape Drives Disk drives became available later.

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 36 The 1401 Architecture  11.5 microsecond clock cycle Add two decimal digits in one cycle, or Move one character between memory and a peripheral  87 KHz Today’s 4 GHz PC can add two 20-digit numbers about 1 million times faster than a A single laptop computer today has more computing power than all the 1401 systems ever installed.

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 37 How the 1401 Transformed Data Processing  It was cheap enough for small businesses.  Programs were stored in main memory. No more plugboards!  Transferred data from punched cards to magnetic tape and disk.  Customers could program their own machines. Autocoder assembly language. “High level” languages:  FORTRAN, COBOL, RPG

Computer Science Dept. Spring 2015: January 22 CS 149: Operating Systems © R. Mak 38 The 1401 Had No Operating System!  Only one program ran at a time. The program had full control of the machine.  Programmers had to know how to code instructions to read and write the I/O devices. Example: The read instruction read the contents of the next card from the card reader into memory locations Example: The print instruction printed whatever was in memory locations to the next line of the line printer. The card reader and line printer were directly connected to the CPU