Your SlideShare is downloading. ×
ppt slides
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

ppt slides

984
views

Published on

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
984
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • No OS
  • Programming language Ada was named after her She was the daughter of the famed British Poet Lord Byron
  • Everything running in kernel mode is part of OS. Some programs running outside of it are also part of it. Applications running in user mode.
  • - OS provides a variety of services to programmers through SYSCALLs Resource management: Time sharing: CPU, printing Space sharing: memory, disk
  • - OS provides a variety of services to programmers through SYSCALLs Resource management: Time sharing: CPU, printing Space sharing: memory, disk
  • Not until World War II Programs to grind out tables of sines, cosines, and logarithms.
  • No evidence whatsoever to prove that he really said that. First citation was on Usenet 1986. Take it easy on all those misquotes
  • Transistors changed the picture Those computers called Mainframes, with pro operators to run them.
  • Transcript

    • 1. Operating Systems Tim Ji Lecture 1
      • Outline
        • Course Information
        • History of Operating Systems
        • Basic Components of OS
      • Lab 1
      • Become familiar with Linux
      • Readings
      • Chapter 1
    • 2. 1 Course Information
      • Official Course Outline
        • On course webpage, MS Word document
      • Course Objectives/Learning Outcomes
        • Understand OS algorithms
        • Be able to write multitasking programs with a variety of inter-process communication methods
        • Be able to write scheduling, paging algorithms
      • Textbook: Tanenbaum, “Modern Operating Systems” 2 nd Edition, Prentice Hall
    • 3.  
    • 4. Course Information (2)
      • Instructor
        • Name: Tim Ji
        • Email tji AT conestogac.on.ca
        • Office: 2A503, x2230
        • Office hour: Drop by my office or by appointment
      • Grading
        • 3 tests, 20% each: 60%
        • Assignments + Labs: 40%
      • Assignments
        • Due in class at the end of lecture, 20% reduction in the assignment mark for each school day it is late.
        • The assignments must be your own work. Cheating/copying other people’s files will result in both papers receiving zero.
    • 5. Course Information (3)
      • Labs
        • Lab tasks will be demonstrated in the following week lab, and lab reports must be submitted by the end of the lab. You have 1 week to finish the lab task.
      • Course website
        • http://www.conestogac.on.ca/~tji/os
        • Announcements, assignments, lecture handouts, etc.
        • Check it out at least once per day.
      • Study to pass
        • You have to pass both the tests portion and the assignments portion
      • Assignments/Labs marking
        • Demonstrate your task in lab
        • Answer questions regarding to your own task
        • Programming style of printouts of your source code, for programming assignments/labs
    • 6. Introduction to Operating Systems
      • Topics:
        • Role and purpose of the operating system
        • History of operating system development
        • Functionality of a typical operating system
      • Learning Objectives:
        • Explain the objectives and functions of modern operating systems.
        • Describe how operating systems have evolved over time from primitive batch systems to sophisticated multiuser systems.
        • Describe the functions of a contemporary operating system with respect to convenience, efficiency, and the ability to evolve.
    • 7. Early Computers
      • First Computer
        • Charles Babbage (1791-1871) designed the first true digital computer called the analytical engine .
        • That was purely mechanical and intended to do math operations
        • The engine was supposed to be made of brass, and steam powered
        • He did not actually built the machine but inspired others in the field.
    • 8. Early Computers
      • Babbage also thought of the concept of software
      • And hired the first programmer (Lady Ada , Countess of Lovelace) for his analytical engine
    • 9. Current Computer Systems
      • A computer system consists of
        • hardware
        • system programs
        • application programs
    • 10. What is an Operating System (1)
      • Microsoft Glossary:
        • The software that controls the allocation and usage of hardware resources such as memory, central processing unit (CPU) time, hard disk space, and peripheral devices (like speakers or a mouse).
        • The operating system is the foundation software on which programs, such as Word or Excel, depend.
        • An example of an operating system is Microsoft Windows® XP.
    • 11. What is an Operating System (2)
      • Provide a service for clients - a virtual machine (top-down view)
      • An operating system is a layer of the computer system (a virtual machine) between the hardware and user programs.
        • Multiple processes
        • Multiple address spaces
        • File system
    • 12. What is an Operating System (3)
      • Resource manager (bottom-up view)
      • An operating system is a resource manager .  Resource management includes
        • Transforming resources - to provide an easier to use version of a resource
        • Multiplexing resources - create the illusion of multiple resources
        • Scheduling resources - when and who gets a resource
      • The hardware resources it manages include
        • Processors - process management system
        • Memory - memory management system
        • I/O devices - I/O system
        • Disk space - file system
    • 13. What is an Operating System (4)
      • The hardware resources are transformed into virtual resources so that an operating system may be viewed as providing a virtual computers , one to each user. A virtual machine (top down view) consists of
        • Processes - virtualization of the computer including a virtual processor that abstracts the cpu - user mode instruction set + system calls
        • Virtual memory - virtualization of physical memory
        • Logical devices - virtualization of physical devices
        • Files - virtualization of disk space
    • 14. What is an Operating System (5)
      • The general functions of an operating system
        • Allocation - assigns resources to processes needing the resource
        • Accounting - keeps track of resources - knows which are free and which process the others are allocated to.
        • Scheduling - decides which process should get the resource next.
        • Protection - makes sure that a process can only access a resource when it is allowed
      • Basic Functions
        • Process management
        • Resource management
          • Device managment
          • Memory management
          • File management
    • 15. History of Operating Systems (1)
      • First generation 1945 - 1955
        • Technology: vacuum tubes & plugboards
        • Programming: setting some switches
        • Programming language: machine language
        • Tasks: tables of sine, cosine, logarithms
        • OS: none
    • 16. A Famous Remark
      • "I think there is a world market for maybe five computers."
        • Thomas Watson, chairman of IBM - 1943
    • 17. History of Operating Systems (2)
      • Second generation 1955 – 1965
        • Technology: Transistors
        • Programming: Punched cards
        • Programming languages: FORTRAN & Assembly
        • Tasks: Scientific
        • Computer: Mainframes
        • OS: Batch system
      • Universities started to buy computers (millions $)
    • 18.
        • bring cards to IBM 1401 machine (good at card reading)
        • read cards to tape
        • put tape on IBM 7094 which does computing
        • put tape on IBM 1401 which prints output offline
      Early Batch System
    • 19. Famous Remarks
      • "I have traveled the length and breadth of this country and talked with the best people, and I can assure you that data processing is a fad that won't last out the year.“
        • The editor in charge of business books for Prentice Hall - 1957
    • 20. History of Operating Systems (3)
      • Third generation 1965 – 1980
        • Technology: ICs
        • Programming: Punched cards
        • Programming languages: FORTRAN & Assembly
        • Tasks: Scientific & commercial
        • Computers: IBM 360, DEC PDPs
        • OS: Multiprogramming/timesharing, spooling
      • OSes Developed:
        • MULTICS (father of all modern OSes)
        • UNIX (System V, BSD)
        • POSIX (by IEEE)
        • MINIX (by Tanenbaum)
        • Linux (derived from MINIX)
    • 21. Famous Remark
      • “ There is no reason anyone would want a computer in their home.“
        • Ken Olson, president, chairman and founder of Digital Equipment Corp. - 1977
    • 22. History of Operating Systems (4)
      • Fourth generation 1980-Present
        • Technology: VLSI
        • Programming: High level
        • Programming languages: C/C++, Java, ……
        • Computer: PC
        • OS: Windows, MacOS, Linux ……
      • Cheap PCs
    • 23. Famous Remark
      • “ We don't see Windows as a long-term graphical interface for the masses.“
        • A Lotus Software Development official, while demonstrating a new DOS version - 1989
    • 24. The Operating System Zoo (1)
      • Mainframe operating systems
        • Room-size computers
        • High I/O capacity
        • Offers:
          • Batch processing (no interaction, such as large reports)
          • Transaction processing (large number of small requests)
          • Timesharing (multiple users sitting in front of clients)
    • 25. Famous Forcast
      • "Computers in the future may weigh no more than 1.5 tons."
        • Popular Mechanics, forecasting the relentless march of science, 1949
    • 26. The Operating System Zoo (2)
      • Server operating systems
        • Offer services like print, file, or web
        • UNIX, Windows 2000, Linux
      • Multiprocessor operating systems
        • Parallel computing
      • Personal computer operating systems
        • Single user with a good GUI, such as Windows 98, Windows 2000, Macintosh OS, Linux
    • 27. The Operating System Zoo (3)
      • Real-time operating systems
        • E.g. industrial process control systems where each job must be completed in the specified time.
        • Hard real-time (nuclear reactor control systems) or soft-real time systems (e.g multimedia systems) depending on the acceptance of missing deadlines
      • Embedded operating systems:
        • Real-time systems with some resource constraints like memory, CPU, power.
      • Smart card operating systems
        • Extremely primitive OS running on credit card sized devices with a CPU.
    • 28. Computer Hardware
      • Components of a simple personal computer
      Monitor Bus
    • 29. CPU
      • Brain of the computer
        • ALU (Arithmetical- Logical Unit)
        • CU (Control Unit, fetch-execute-decode instructions)
      • Has a certain set of instructions it can recognize and execute
      • Basic CPU cycle
        • Fetch the next instruction
        • Decode it to determine its type and operands
        • Execute it
        • … ..
      • Programs are list of instructions executed by the CPU
      • When the computer powers up, CU of CPU starts the fetch-decode-execute cycle
      • Instructions may be OS instructions or other programs
    • 30. CPU Modes
      • A bit in PSW controls the mode
      • Kernel Mode :
        • CPU can execute every instruction in its instruction set
        • CPU can use every feature of the hardware
        • OS runs in kernel mode
      • User Mode :
        • Only a subset of instructions can be run
        • And a subset of hardware features are accessed
        • Generally all instructions involving I/O and Memory protection are disallowed in that mode
      • To obtain OS services, a user program must make a system call that traps into kernel mode and invokes the OS
      • Trap instruction switches from user mode to kernel mode and starts the operating system (system calls and errors such as division by zero causes trap instructions)
    • 31. Pipelining
      • Parallelize the fetch, decode, execute sequence
      • Three stage pipeline : While executing instruction N, decode instruction N+1, and fetch instruction N+2
      • What happens when a conditional branch occurs in an instruction?
    • 32. CPU Pipeline
      • (a) A three-stage pipeline (three instructions processed in 1 cycle)
      • (b) A superscalar CPU (with multiple execution units)
    • 33. Pipelining Instruction N+2 Instruction N+3 Instruction N + 4 One CPU Cycle Instruction N + 1 Instruction N Fetch N Decode N Fetch N+1 Execute N Decode N+1 Fetch N+2 Execute N+1 Decode N+2 Fetch N+3 Execute N+2 Decode N+3 Fetch N+4
    • 34. Memory Hierarchy (1)
      • Typical memory hierarchy
        • numbers shown are rough approximations
    • 35. Memory Hierarchy
      • Magnetic Tape :
        • Backup purposes and for storing very large data sets.
        • One dimensional, only sequential access is possible
        • Reliable (no tape crashes, or time based data corruption)
        • Was the main data storage medium of the past
      • Optic CDs:
        • Faster than tape
        • Used for permanent storage (now rewritable)
    • 36. Memory Hierarchy
      • Magnetic disks:
        • Are faster than tapes and CDs
        • They are the main storage medium these days
        • Data stored in concentric cylinders
        • Disk head moves in discrete steps
        • Each position of the disk head identifies a track (divided into multiple sectors, typically 512 bytes)
        • Rotates continuously with a certain speed (e.g. 7200 rpm)
    • 37. Memory Hierarchy
      • Disks and tapes are mechanical devices, therefore they are slow compared to (RAM and Cache)
      • Main Memory (Random Access Memory) :
        • Volatile
        • Much Much faster than magnetic disks but more expensive too
      • Cache:
        • Faster than RAM and more expensive
        • CPU requests first go to cache, and if they are there (cache hit) then fine, if not there (cache miss) then RAM is accessed
        • There can be multiple cache levels
        • Cache is divided into cache lines (usually 64 bytes at each line)
    • 38. Memory Hierarchy
      • Registers
        • They are the fastest accessible memory locations
        • Placed at the CPU.
        • They are usually of size 32 bits, or 64 bits depending on the CPU type
    • 39. Memory Hierarchy
      • Read Only Memory (ROM)
        • Write once, read many times
        • Low level I/O cards
        • Code for starting the computer
      • Electrically Erasable Rom (EEPROM)
        • Non volatile
      • Flash RAM
        • Non volatile
    • 40. Memory Hierarchy
      • CMOS (Complementary Metal Oxide Semiconductor)
        • Volatile but can be sustained with mother board battery for years.
        • May give checksum errors when being corrupted
        • Very small, 64 bytes.
        • Holds the current time and date, configuration parameters (like which disk to boot from etc.)
    • 41. Yet another famous quote!
      • "640K ought to be enough for anybody."
        • Bill Gates, 1981
    • 42. I/O Devices
      • An input device transfers data from a mechanism like keyboard, mouse, touch screen, or microphone into a CPU register. CPU will then store the data into Main Memory
      • For output devices , CPU fetches the information from main memory to its registers and transfers this information via the bus to an output device like screen, speaker, or printer.
      • Communication devices : serial and parallel ports, infrared transmitter/receivers, wireless network cards, network interface cards
    • 43. CPU DISK CONTROLLER DISK PRINTER PRINTER CONTROLLER MEMORY MEMORY CONTROLLER
      • Device controllers have microprocessors.
      • They can work in parallel.
      • They can tell CPU when they are done.
    • 44. How I/O Can Be Done
      • Three methods:
        • Busy waiting through system call
        • Interrupt
        • DMA (Direct Memory Access)
    • 45. Lab 1: Get Familiar with Linux
      • Introduction to Linux
      • Lab material is available on the course webpage
      • Follow the lab task specifications -- your marks depend on it.
    • 46. Readings
      • Tanenbaum, Chapter 1

    ×