* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download 操作系统简介:历史和概念 - Lu Jiaheng's homepage
Survey
Document related concepts
Transcript
计算机科学概述 Introduction to Computer Science 陆嘉恒 中国人民大学 信息学院 www.jiahenglu.net OS Introduction, History and Concepts (操作系统简介:历史和概念) What is an Operating System? Why care about OS? (1) • Most critical software in a computer. • OS performance influences the performance of all software on a computer – How to extract the best performance out of an OS? – How to work around design flaws? Write software that takes advantage of the design of the OS Why care about OS? (2) • You need to understand enough to make informed decisions about things like: – Buying and using a personal computer: – Why do different PCs with the same CPU perform differently? – Should I get Windows XP? Windows 2000? Linux? What’s the difference? – Should I upgrade my hardware? Should I upgrade my OS? Why care about OS? (3) • If you’re going to be a software engineer then you’ll need to understand the environment offered by your OS : – What abstractions does the OS provide? E.g., the OS may (or may not) provide illusions such as infinite number of CPUs, infinite memory, single worldwide computing, etc. 3 most important things you’ll get from this class 1. Learn how to reason about costs and tradeoffs in resource management at the operating systems level 2. Become comfortable with inter-process communication primitives 3. Become comfortable with system programming for Linux environment OS File systems I/O devices Monitor Processes, threads, scheduling Memory management Bus Hardware components of a computer system Memory hierarchy A Short History of Operating Systems (操作系统历史) 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. In 1991, on the occasion of the 200th anniversary of the birth of Charles Babbage, the Science Museum in Kensington, England, constructed a complete Difference Engine from the drawings left behind by Babbage. Early Computers Babbage also thought of the concept of software And hired the first programmer (Lady Ada, Countess of Lovelace) for his analytical engine From Ada Lovelace’s notes: The analytical machine was suited for "developping [!!!] and tabulating any function whatever. . . the engine [is] the material expression of any indefinite function of any degree of generality and complexity." Ada language named in her honor 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 • Computer designer is: – – – – builder and programmer and Program from those days: operator and “sys admin” A Famous Remark (1943) • "I think there is a world market for maybe five computers." – Thomas Watson, chairman of IBM 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 $) Early Batch System – – – – 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 A Famous Remark (1957) • "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 History of Operating Systems (3) • Third generation 1965 – 1980 – Technology: Integrated circuits – 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) A Famous Remark (1977) • “There is no reason anyone would want a computer in their home.“ – Ken Olson, president, chairman and founder of Digital Equipment Corp. 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 A Famous Remark (1989) • “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 Types of Operating Systems (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) Famous Forecast (1949) • "Computers in the future may weigh no more than 1.5 tons." – Popular Mechanics, forecasting the relentless march of science, 1949 Types of Operating Systems (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 Operating Systems (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