Introduction to Computer Systems and Operating Systems

Slides:



Advertisements
Similar presentations
Introduction to Operating Systems
Advertisements

OPERATING SYSTEMS Lecturer: Szabolcs Mikulas Office: B38B
Operating System.
Introduction CSCI 444/544 Operating Systems Fall 2008.
Winter 2005 CMPE 151: Network Administration Lecture 2.
Tuesday, June 06, 2006 I hear and I forget, I see and I remember, I do and I understand. -Chinese Proverb.
Winter CMPE 155 Week 2. Winter Review? Computers Operating Systems Kernels Distributed Systems.
Wednesday, June 07, 2006 “Unix is user friendly … it’s just picky about it’s friends”. - Anonymous.
OS1-1 Chapter 1 Introduction. OS1-2 Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems.
1 Introduction Chapter What is an operating system 1.2 History of operating systems 1.3 The operating system zoo 1.4 Computer hardware review 1.5.
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,
Operating Systems.
Introduction to windows operating system i
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
Cs238 Introduction to Operating Systems Dr. Alan R. Davis.
Chapter 1 Introduction 1.1 What is an operating system
1 What is an operating system? CSC330Patricia Van Hise.
1/16/2008CSCI 315 Operating Systems Design1 Introduction Notice: The slides for this lecture have been largely based on those accompanying the textbook.
1 The development of modern computer systems Early electronic computers Mainframes Time sharing Microcomputers Networked computing.
Slide 1-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1.
Operating System.
CS 6560 Operating System Design Lecture 1. Overview 1.1 What is an operating system 1.2 History of operating systems 1.3 The operating system zoo 1.4.
Operating systems CHAPTER 7.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
Operating System. Architecture of Computer System Hardware Operating System (OS) Programming Language (e.g. PASCAL) Application Programs (e.g. WORD, EXCEL)
part I, , Part I Introduction to Operating Systems First Semester, Year 2000 Wannarat Suntiamorntut Department of Computer Engineering,
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.
 Introduction to Operating System Introduction to Operating System  Types Of An Operating System Types Of An Operating System  Single User Single User.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
Chapter 1 CS 3204: Introduction. CS 3204: Operating Systems2 What is an Operating System (OS) ? Definition 1: An OS is the interface between the hardware.
Understanding Operating Systems Flynn & McHoes
Operating Systems Principles Lecture 1: Introduction 主講人:虞台文.
Chapter 1 Introduction 1.1 What is an operating system
ITEC 502 컴퓨터 시스템 및 실습 Chapter 1: Introduction. ITEC 502 컴퓨터 시스템 및 실습 Chapter 1: Introduction Mi-Jung Choi DPNM Lab. Dept. of CSE,
1 Instructor :Erdal Kose Office hours: Tuesday 9:00-9:30 pm. Mail box : 2109 Ingersoll Hall (Erdal ) Web site :
1 Introduction Chapter What is an operating system 1.2 History of operating systems 1.3 The operating system zoo 1.4 Computer hardware review 1.5.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 E-Main: Phone:
1 Introduction. 2 A computer system consists of –hardware –system programs –application programs.
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.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview Part 2: History (continued)
OPERATING SYSTEMS UNIT – I R.SOUJANYA IT Dept. UNIT I Computer System and Operating System Overview Chapter 1: IntroductionIntroduction Overview of Computer.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
U NIVERSITY OF M ASSACHUSETTS A MHERST Department of Computer Science Computer Systems Principles Introduction Emery Berger and Mark Corner University.
Chapter 1 (PART 1) Introduction to OS (concept, evolution, some keywords) Department of Computer Science Southern Illinois University Edwardsville Summer,
1 Operating Systems: Principles and Practice Cpr E 308.
Chapter 1 Introduction to Operating System Part 1
An operating system is the software that makes everything in the computer work together smoothly and efficiently. What is an Operating System?
CIS250 OPERATING SYSTEMS Chapter One Introduction.
MODERN OPERATING SYSTEMS Chapter 1 Introduction
Lecture 1: Network Operating Systems (NOS) An 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.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
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.
L ECTURE -6 Topics: Introduction to Operating system. Functions of an Operating system. Classification of Operating systems.
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.
Chapter 1 Introduction.
Operating System.
Evolution of Operating Systems
UNIV 103 CS Majors Seminar Dr. Blaise W. Liffick Fall 2017.
Operating System Introduction
Operating Systems Principles Lecture 1: Introduction
Lecture Topics: 11/1 Hand back midterms
Introduction and History
Presentation transcript:

Introduction to Computer Systems and Operating Systems CS 342 – Operating Systems İbrahim Körpeoğlu Bilkent University Computer Engineering Department CS 342, Spring 2003 Operating Systems

What is an Operating System An Operating System is a software that lies between applications (programs) and hardware that manages all the devices of a computer that provides a convenient programming interface to the programs to access and use the hardware. CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Placement of OS User programs Applications System programs System Web browsers, banking systems, … User programs Applications Compilers, editors, shells System programs System programs Operating System Machine Language Instruction set Architecture level Micro-architecture ALU, Registers, CPU,… Hardware Physical Devices IC chips, wires, power supplies, CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Abstract View of components of computer system User 1 User 2 User 3 User N Compiler Assembler Text editor System and Application Programs Web Browser Operating System Computer Hardware CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Operating System from users and systems view Users view OS as a convenient interface to the hardware OS provides system calls (OS level functions) that can be used by user applications to access the OS services. OS shields the details of hardware from applications. In this way, an OS is an extended machine or virtual machine that is easier to program for users to access and use the hardware. From computer systems perspective, OS is manager of hardware and software resources. CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

OS as extended machine The architecture of a computer is difficult to program Architecture is: instruction set, memory organization, I/O, bus structure, etc. To do some I/O work, a lot of hardware dependent work has to be done. Example: to read from a floppy or hard disk: One has to write the commands and addresses to the disk controller registers and then initiate the I/O The disk controller will find the requested data in the disk and fetch it from disk to disk controller buffer. One has to check the status of the disk controller operation whether it has finished or not. If success, the data from the disk controller buffer should be moved to the main memory (to the application buffer) If all user programs would do these messy details: The programs will be very difficult to write and they will be quite long. The programs will be hardware dependent. Therefore, an OS cares all these details and provides a nice programming interface to the applications to access the devices. CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

OS as a resource manager There a a lot of resources in a computer system CPU Memory I/O devices: network card, hard disk, serial port, USB port, floppy disk, printer, scanner, etc. If a computer system is used by multiple applications (or users), then they will compete for these resources. It is the job of the operating system to allocate these resources to the various applications so that: The resources are allocated fairly The resources are protected from cross-access Access to the resources is synchronized so that operations are correct and consistent Deadlocks are detected, resolved and avoided. CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Goals for designing OSs Convenient service interface to user programs System calls Command interface GUI Efficient resource allocation Efficiency could be in terms of time, space, fairness, protection, security, etc. Usually, there are tradeoffs in designing an OS for a specific task (embedded systems, general purpose computers, mainframe computers). Each will give more importance to some objectives than the others. GUI is very important for pocket PC OSs Efficiency is very important for mainframe OSs. CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

History of Operating Systems First generation (1945-55) Systems that use vacuum tubes and plug-boards No transistors Second generation (1955-1965) Transistors used in these systems Batch systems and mainframes Third generation (1965-1980) ICs and Multiprogramming Fourth generation (1980 – present) Personal Computers CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

First generation Very big machines that fill up rooms. Very expensive. Designing, building, programming and operating the system was done by the same group of people. All programming is done in machine language. By wiring up plug-boards (meaning direct access to the hardware). . No programming languages No Operating systems. Plug-boards are replaced later with punch-cards. Programs are written on punch-cards and read by the machine. CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Second generation Transistors are used Machines become more reliable and faster Clean separation between designers, builders, operators and programmers. The machines that are produced are called mainframes. CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Second generation – Early mainframes Printer output of the job Take a job Punch cards Take an other job CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Second generation – Batch Sytems Inexpensive Computer Read the input from cards to tape Punch cards from Multiple users A series of Jobs Input Tape Mainframe Computer Do the computation Output Tape Printer Printed Output Write the output from tape to paper CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Second generation – Batch Sytems The job of the OS was: To load the next job (program) into main memory To run the program with data An example system was IBM 7094. Typical OSs: FMS (Fortran Monitor System) and IBSYS An OS was called monitor at that time. CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Typical FMS Job $SEND $RUN PROGRAM $LOAD DATA $FORTRAN FORTRAN PROGRAM $JOB, 10, 66424, IBRAHIM KORPEOGLU CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Third Generation Previously, computers were incompatible and they were designed for specific tasks: Large-scale scientific computers Commercial computers. IBM introduced System/360 family A series of software compatible machines ranging from small (1401) to powerful (7094) ones. They differed in configuration (memory size, CPU speed, etc) but not in architecture and instruction set. Could be used for scientific and commercial needs. They used Integrated circuits (small scale). Very good price/performance. Required very sophisticated software (OS and applications) that should work on all members of the family. Multiprogramming is introduced with these computers. CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Third Generation - Multiprogramming Job 1 CPU Job 2 Computer Memory Job 3 Operating System All jobs (programs) are loaded in memory A program is not partially loaded, but the whole program is loaded. Efficient CPU utilization. CPU and memory is shared among multiple programs. A job is removed from the memory when it has finished. Requires protection of memory among different jobs. Only a limited number of jobs could be loaded into memory. The other jobs had to wait. This is still a batch system. Response time as very log. No user interaction during the execution of the job. CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Third Generation – Time-sharing Working Job 1 Job 2 Job 3 CPU Thinking Job 4 Job 5 Working Operating System Only the active jobs are using the CPU. The others are using CPU when they change state and become active. The batch jobs can run in the background when the CPU is idle. Working Thinking and drinking CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Third Generation – Time-sharing First time sharing system: CTSS developed at MIT in 1962. CTSS: Compatible Time Sharing System Then MULTICS have been developed at MIT It used many ideas that have been used by subsequent operating systems. Minicomputers have been also developed as part of 3rd generation systems DEC PDP-1 (1961), which is following by PDP-11. PDP-7 was the machine that Ken Thompson at Bell Labs used to implement the first Unix operating system. Initial Unix is followed by System V Unix, BSD Unix, Linux,…. CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Fourth Generation – Personal Computers Large scale integrated circuits enabled development of machines with very small size and low price compared to the earlier ones. It became possible to buy computers for personal use. They are called personal or microcomputers. The design of the architecture was very similar to minicomputers or mainframes. CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Fourth Generation – Personal Computers In early 1980s, IBM designed IBM PCs. MS-DOS was chosen as the operating system for IBM PC. GUI was used first by Xerox PARC researchers. Apple adapted GUI from Xerox in their computers. Apple later developed Macintosh. Microsoft got influenced from success of Macintosh and produced Windows. Windows initially was just a GUI system Later, with Win95, it was incorporated within operating system. Windows 98, Windows NT, Windows 2000, Windows ME and Windows XP followed. CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Fourth Generation – Personal Computers Unix is run also in personal computers FreeBSD, Linux, Solaris are examples X-windows system is developed at MIT and used as the GUI system of Unix operating systems X-Windows system is completely a user level application, no operating system features are implemented inside X-windows. Network and distributed operating systems are developed also Network operating system users are aware that there are multiple computers sharing a network and users explicitly login and use these computers. Distributed operating system users are not aware that there are multiple computers available to them to run their programs. The system appears to them as if it is a uni-processor operating system. CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Operating System Zoo There are a wide variety of operating systems depending on the hardware system that they are running on and depending on the need of users and depending on the target application class. Mainframe operating systems They have huge I/O capacity. Very efficient resource utilization Poor GUI. Three type of jobs: batch, transaction processing, time-sharing. Examle: OS/390 CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Operating System Zoo Server Operating Systems Run on servers: very large personal computers, workstations, or mainframes. Allows the sharing of hardware and software resources. Services include: print service, web service, file service. Examples: Unix and Windows 2000. Multiprocessor operating systems Run on machines that have multiple processors running concurrently. Need for communication and connectivity. These machines are called multi-computers, parallel computers, or multiprocessors. CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Operating System Zoo Personal Computer Operating Systems Provides good GUI. Resource management and protection is less stringent if there is a single user of a computer. Examples: Windows 98, Windows 2000, Macintosh OS, Linux. Real-Time operating Systems They have time as the key parameter. An operation should complete before a well-specified deadline. There are two kinds: Hard-real time systems: a system that control robot arms in assembly lines. Miss of deadlines is intolerable. Soft-real time systems: multimedia processing systems. They can miss deadlines sometimes without affecting the functionality. Example: VxWorks CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Operating System Zoo Embedded operating systems Embedded OSs runs on systems that control devices. The systems usually may not have advanced user interface and interaction. TV sets, microware ovens, mobile telephones, pocket PCs, The system usually have very low memory, CPU, screen, etc. Examples: PalmOS, Windows CE. There are operating systems that are both embedded and real-time: The OSs for Internet routers and switches, for example. CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Next Computer Hardware Review Operating System Review What is a computer system How does it works What are components How they are interconnected. Operating System Review Structure of OS Components of OS Services that OS provides System calls. CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Course discussion Questions to ask Are slides helpful in this course or whould you prefer writing on the blackboard? Pros and cons of slides Projects Does everybody know C? How many people is familier with unix? Does everybody have unix account? How many people have PC? How many people have Unix on PC? Number of Linux users? Number of FreeBSD users? CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Course discussion Things to stress on Textbook should be read in a timely manner Every week you should be upto date with the course Don’t leave the reading before the exam. Pros: you will enjoy reading, you will understand better, You will feel much less stress during exam period Review the slides as soon as possible Ask questions In the class Out of class “Bilmemek değil Ögrenmemek kotüdür” CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University

Course discussion Things to stress on Do the homeworks You will learn for life-long if you put enough effort for doing the homeoworks and understanding the topics Doing homeworks will also be very helpful for exams. Do the programming yourself Don’t cheat. Write programs and be persistent on debugging. “Every bug that you debug will be an experience for you”. Experience is very important in programming. CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University