目录

  • Introduction
    • ● What Is an Operating System?
    • ● History of Operating Systems
    • ● Operating System Concepts
  • Process Description and Control
    • ● Introduction to Processes
      • ● Pocess Image
      • ● Classical IPC Problems
    • ● Concurrency
      • ● Mutal Exclusion
      • ● Synchronization
      • ● Classical Co-operation Problems
  • Scheduling
    • ● Job Scheduling
    • ● Process Scheduling
    • ● Realtime Schdeduling
    • ● Deadlock
    • ● Deadlock avoidance
    • ● Deadlock detection
  • Memory Management
    • ● Swapping
    • ● Basic Memory Management
      • ● Partitionning
      • ● Paging
      • ● Segmation
    • ● Multi-level Page Table
    • ● Virtual Memory
      • ● concepts
      • ● Page Replacement Algorithm
  • Input / Output
    • ● Principles of IO Hardware
    • ● Principles of IO software
    • ● RAM Disks
  • File System
    • ● Files
    • ● Directories
    • ● File System Implementation
    • ● Physical Structure of File
  • Operating system experiment projects
    • ● Linux System Calls
    • ● Message Mechanism And Process Scheduling
    • ● Memory Management
    • ● Process Concurrence
  • 习题课(Practices)
    • ● Practice One
      • ● Practice Two
        • ● Practice Three
History of Operating Systems

History of Operating Systems

Operating systems have been evolving through the years. In the following sections we will briefly look at a few of the highlights. Since operating systems have historically been closely tied to the architecture of the computers on which they run, we will look at successive generations of computers to see what their operating systems were like. This mapping of operating system generations to computer generations is crude, but it does provide some structure where there would otherwise be none.

The first true digital computer was designed by the English mathematician Charles Babbage (1792-1871). Although Babbage spent most of his life and fortune trying to build his "analytical engine," he never got it working properly because it was purely mechanical, and the technology of his day could not produce the required wheels, gears, and cogs to the high precision that he needed. Needless to say, the analytical engine did not have an operating system.


As an interesting historical aside, Babbage realized that he would need software for his analytical engine, so he hired a young woman named Ada Lovelace, who was the daughter of the famed British poet Lord Byron, as the world's first programmer. The programming language Ada® was named after her.

(1) The First Generation (1945-55) Vacuum Tubes and Plugboards


(2) The Second Generation (1955-65) Transistors and Batch Systems


The introduction of the transistor in the mid-1950s changed the picture radically. Computers became reliable enough that they could be manufactured and sold to paying customers with the expectation that they would continue to function long enough to get some useful work done. For the first time, there was a clear separation between designers, builders, operators, programmers, and maintenance personnel.


These machines, now called mainframes, were locked away in specially airconditioned computer rooms, with staffs of specially-trained professional operators to run them. Only big corporations or major government agencies or universities could afford their multimillion dollar price tags. To run a job (i.e., a program or set of programs), a programmer would first write the program on paper (in FORTRAN or possibly even in assembly language), then punch it on cards. He would then bring the card deck down to the input room and hand it to one of the operators and go drink coffee until the output was ready.

(3) The Third Generation (1965-1980) ICs and Multiprogramming

By the early 1960s, most computer manufacturers had two distinct, and totally incompatible, product lines. On the one hand there were the word-oriented, large-scale scientific computers, such as the 7094, which were used for numerical calculations in science and engineering. On the other hand, there were the character-oriented, commercial computers, such as the 1401, which were widely used for tape sorting and printing by banks and insurance companies.


Developing, maintaining, and marketing two completely different product lines was an expensive proposition for the computer manufacturers. In addition, many new computer customers initially needed a small machine but later outgrew it and wanted a bigger machine that had the same architectures as their current one so it could run all their old programs, but faster.

Figure 1-4. A multiprogramming system with three jobs in memory.

Another major feature present in third-generation operating systems was the ability to read jobs from cards onto the disk as soon as they were brought to the computer room. Then, whenever a running job finished, the operating system could load a new job from the disk into the now-empty partition and run it. This technique is called spooling (from Simultaneous Peripheral Operation On Line) and was also used for output. With spooling, the 1401s were no longer needed, and much carrying of tapes disappeared.

(4) The Fourth Generation (1980Present) Personal Computers

With the development of LSI (Large Scale Integration) circuits, chips containing thousands of transistors on a square centimeter of silicon, the age of the microprocessor-based personal computer dawned. In terms of architecture, personal computers (initially called microcomputers) were not all that different from minicomputers of the PDP-11 class, but in terms of price they certainly were different. The minicomputer made it possible for a department in a company or university to have its own computer. The microcomputer made it possible for an individual to have his or her own computer.

          

     


(5) The Fifth Generation (2006-Present) Mobile Smartphone OS

A mobile operating system is much like the software that powers your personal computer at home or work, except that it's built for mobile devices. Both cellphones and smartphones have mobile operating systems.

Your computer is most likely running a Windows, macOS, or Linux operating system, but your smartphone's mobile operating system might be iOS, Android, Windows Mobile, BlackBerry OS, or WebOS, among others.

Mobile platforms work entirely differently from desktop ones because they are built with the intention that the menus and buttons be touched instead of clicked. They're also built for speed and ease of use. 

A cellphone's operating system is usually bland and straightforward with minimum menus and few if any ways to customize things like the virtual keyboard. Smartphone operating systems are much more sophisticated. With the addition of apps, there is almost no limit to what you can do with a smartphone including check your email, get turn-by-turn navigation instructions, make reservations at a nearby restaurant, do your Christmas shopping on the internet and many, more things. Smartphones are easy to customize and include accessibility features so even people with physical limitations can use the phones.




 Android: Android's smartphone share will hover with around 85% throughout the forecast. Volumes are expected to grow at a five-year compound annual growth rate (CAGR) of 1.7% with shipments approaching 1.36 billion in 2022. Android average selling prices (ASPs) are estimated to grow by 9.6% in 2018 to US$258, up from US$235 in 2017. IDC expects this upward trajectory to continue through the forecast, but at a softened rate from 2019 and beyond. Overall this is a positive sign that consumers are seeing the benefits of moving to a slightly more premium device than they likely previously owned.

  iOS: IDC is forecasting iOS to grow at a five-year CAGR of a minimal 0.1%, reaching volumes of 217.3 million by 2022. With the launch of larger screens and more premium models, Apple continued to lead the global premium market segment and reported 0.5% YoY growth during Q3 2018. IDC has shifted greater volumes into the 6<7-inch screen size forecast for iOS. Furthermore, these new iPhones helped the iOS have double digit ASP growth YoY in Q3 2018.