Concurrent programming history of the development history of the operating system [A] Operating System Development

The history of operating systems

 

 

1, manual operation - punchcards - tape

  

Manual mode two characteristics:
  (1) user exclusive whole machine. The phenomenon does not occur because resources have been occupied by other users and wait, but the low utilization rate of resources.
  (2) CPU waits for manual operation. CPU utilization is not sufficient.
 The late 1950s, the emergence of human contradiction : the formation of a sharp contradiction between the slow speed of manual operation and high speed computers, the manual mode of operation has seriously damaged the utilization of system resources (the resource utilization dropped percent a few, or even lower), can not be tolerated. The only solution: get rid of people only manual operation, automatic transition job. This appeared to batch .

2, Batch - tape storage

Online Batch:

  First there is an online batch systems, input / output operations by the CPU that is processed

Offline batch processing system:

  To overcome with ease: the contradiction slow-speed host and peripherals, improve the utilization of the CPU, and the introduction of off-line batch processing system , the input / output from the host control.

Tape storage reduces the time input / output, improved cpu utilization

3, multi-channel operating system appears

The so-called multi-channel programming technology, refers to allow multiple programs at the same time and run into the memory. I.e., while the plurality of programs into memory, and allowing them alternately run in the CPU, they share a variety of hardware and software resources in the system. When a program due to the I / O request to suspend operation, CPU will immediately turn to run another road program.

Can appear multiple tasks on a single computer at the same time, improve the cpu utilization;

Be able to use the resources of multiple tasks isolation, when a task encounters an input-output operation, allowing another task using the cpu to calculate, simply switch will be a waste of time

What is the I / O?

  Input: input   

    Like Memory Access: read / recv / import / input

  Output: output

    Like memory Output: write / send / print

4, sharing operating system - round-robin

 Since the CPU speed and the continuous improvement of time-sharing techniques, a computer can be connected to a plurality of user terminals, and each user can use the computer on-line own terminal, if their machines as exclusive.

Timesharing: operating the processor time is divided into short time pieces alternately allocated to each time-slice processor online job.
  If a job can not be completed within the calculated time slice allocated to it, the job is temporarily interrupted, the processor used to give another job, and then continue its operation while waiting for one. Because the computer is fast, very fast rotation job runs, giving each user the impression that if he monopolized a computer. And each user can issue various commands to the system through the operation control his own terminal, in the case of fully interactive, run the job is completed.
The computer system having the above characteristics is called time-sharing system, which allows multiple users to use the online computer.
  Features:
  (1) Multiple sex. A plurality of users simultaneously use a single computer. Each user in turn is microscopically using a computer; macroscopically in parallel to each user.
  (2) interaction. The user may further proposed a new request to the system according to the results of the system in response to the request. This enables users with a system of man-machine dialogue mode of operation, significantly different from the batch system, therefore, time-sharing system is also known as interactive systems.
  (3) independence. The user can operate independently of each other, without disturbing each other. Systems to ensure the integrity of each user program is running, confused with each other or destruction does not occur.
  (4) Timeliness. The system can promptly respond to user input. One of the main indicators of the performance of time-sharing system response time, which means: to issue commands to the system to be the time required for the response from the terminal.
   The main objective of the time-sharing system : in response to a timely user, i.e. the user will not wait for the processing time of each command is too long.
Simultaneously sharing system may receive dozens or even hundreds of users, due to limited memory, storage method often used to change (also known as switching) mode. Not about to "turn" the work into the disk, once the "turn", and then it transferred to the memory; and the time sheet after use, turn the job saved to disk (commonly known as "roll forward", "Get out" law ), the same storage area in turn serve multiple users.
Multi-user time-sharing system is a kind of operating system of today's computer operating system is the most commonly used.
       Note: The time-division time slice operation of the system, at the time did not encounter IO operations to run out their time sheets are cut away so that the switch did not actually work to improve the efficiency of the cpu, but makes reducing the efficiency of the computer . But we have to sacrifice a little efficiency, but to achieve the effect of multiple programs implemented jointly, so you can listen to music on the computer while talking qq.

5, real-time operating systems - real-time response to user commands

 Although the multi-batch system and a time-sharing system to get a more satisfactory resource utilization and system response time, but it can not meet the needs of real-time control and real-time information processing two applications. Thus a real-time system, i.e. the system able to respond to randomly occurring external events, and the event processing is completed within a strict time.
Real-time system in a particular application often used as a control device.
    Real-time systems can be divided into two categories:
    (1) real-time control system. When the automatic flight control for an aircraft, missile or the like, requires a computer system can process the measurement data measured quickly and timely control of the aircraft or missile, or the relevant information to the decision-makers via the display terminal. When used in rolling, petrochemical industrial process control, the computer can also require timely processing of the data sent from various sensors, and controls the respective actuators.
    (2) real-time information processing system. When used to book airline tickets, asking about flights, routes, fares, etc., or when used in the banking system, information retrieval systems, require the computer to be timely and correct answer can request sent by the terminal equipment services. Such requirements of timely response weaker in the first category.
   Real-time operating system, the main features :
  (1) a timely response. Each information reception, processing and transmission of process analysis must be completed within a strict time limit.
  (2) high reliability. Redundancy measures to be taken, before and after the two-stage system work, as well as the necessary security measures.
Sharing - now popular PC, server are using this mode of operation, i.e. the operation of the CPU time slice is divided into several different computing process each request linux system 
in real time - typically a microcontroller, PLC, etc., such as the elevator down control, the operation keys and the like for the real-time processing requirements
Time-sharing system and compare real-time systems

 

 

1, manual operation - punchcards - tape

  

Manual mode two characteristics:
  (1) user exclusive whole machine. The phenomenon does not occur because resources have been occupied by other users and wait, but the low utilization rate of resources.
  (2) CPU waits for manual operation. CPU utilization is not sufficient.
 The late 1950s, the emergence of human contradiction : the formation of a sharp contradiction between the slow speed of manual operation and high speed computers, the manual mode of operation has seriously damaged the utilization of system resources (the resource utilization dropped percent a few, or even lower), can not be tolerated. The only solution: get rid of people only manual operation, automatic transition job. This appeared to batch .

2, Batch - tape storage

Online Batch:

  First there is an online batch systems, input / output operations by the CPU that is processed

Offline batch processing system:

  To overcome with ease: the contradiction slow-speed host and peripherals, improve the utilization of the CPU, and the introduction of off-line batch processing system , the input / output from the host control.

Tape storage reduces the time input / output, improved cpu utilization

3, multi-channel operating system appears

The so-called multi-channel programming technology, refers to allow multiple programs at the same time and run into the memory. I.e., while the plurality of programs into memory, and allowing them alternately run in the CPU, they share a variety of hardware and software resources in the system. When a program due to the I / O request to suspend operation, CPU will immediately turn to run another road program.

Can appear multiple tasks on a single computer at the same time, improve the cpu utilization;

Be able to use the resources of multiple tasks isolation, when a task encounters an input-output operation, allowing another task using the cpu to calculate, simply switch will be a waste of time

What is the I / O?

  Input: input   

    像内存出入:read/recv/import/input

  输出:output

    像内存输出:write/send/print

4、分时操作系统--时间片轮转

 由于CPU速度不断提高和采用分时技术,一台计算机可同时连接多个用户终端,而每个用户可在自己的终端上联机使用计算机,好象自己独占机器一样。

分时技术:把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。
  若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时中断,把处理机让给另一作业使用,等待下一轮时再继续其运行。由于计算机速度很快,作业运行轮转得很快,给每个用户的印象是,好象他独占了一台计算机。而每个用户可以通过自己的终端向系统发出各种操作控制命令,在充分的人机交互情况下,完成作业的运行。
具有上述特征的计算机系统称为分时系统,它允许多个用户同时联机使用计算机。
  特点:
  (1)多路性。若干个用户同时使用一台计算机。微观上看是各用户轮流使用计算机;宏观上看是各用户并行工作。
  (2)交互性。用户可根据系统对请求的响应结果,进一步向系统提出新的请求。这种能使用户与系统进行人机对话的工作方式,明显地有别于批处理系统,因而,分时系统又被称为交互式系统。
  (3)独立性。用户之间可以相互独立操作,互不干扰。系统保证各用户程序运行的完整性,不会发生相互混淆或破坏现象。
  (4)及时性。系统可对用户的输入及时作出响应。分时系统性能的主要指标之一是响应时间,它是指:从终端发出命令到系统予以应答所需的时间。
   分时系统的主要目标:对用户响应的及时性,即不至于用户等待每一个命令的处理时间过长。
分时系统可以同时接纳数十个甚至上百个用户,由于内存空间有限,往往采用对换(又称交换)方式的存储方法。即将未“轮到”的作业放入磁盘,一旦“轮到”,再将其调入内存;而时间片用完后,又将作业存回磁盘(俗称“滚进”、“滚出“法),使同一存储区域轮流为多个用户服务。
多用户分时系统是当今计算机操作系统中最普遍使用的一类操作系统。
       注意:分时系统的分时间片工作,在没有遇到IO操作的时候就用完了自己的时间片被切走了,这样的切换工作其实并没有提高cpu的效率,反而使得计算机的效率降低了。但是我们牺牲了一点效率,却实现了多个程序共同执行的效果,这样你就可以在计算机上一边听音乐一边聊qq了。

5、实时操作系统--实时响应用户指令

 虽然多道批处理系统和分时系统能获得较令人满意的资源利用率和系统响应时间,但却不能满足实时控制与实时信息处理两个应用领域的需求。于是就产生了实时系统,即系统能够及时响应随机发生的外部事件,并在严格的时间范围内完成对该事件的处理。
实时系统在一个特定的应用中常作为一种控制设备来使用。
    实时系统可分成两类:
    (1)实时控制系统。当用于飞机飞行、导弹发射等的自动控制时,要求计算机能尽快处理测量系统测得的数据,及时地对飞机或导弹进行控制,或将有关信息通过显示终端提供给决策人员。当用于轧钢、石化等工业生产过程控制时,也要求计算机能及时处理由各类传感器送来的数据,然后控制相应的执行机构。
    (2)实时信息处理系统。当用于预定飞机票、查询有关航班、航线、票价等事宜时,或当用于银行系统、情报检索系统时,都要求计算机能对终端设备发来的服务请求及时予以正确的回答。此类对响应及时性的要求稍弱于第一类。
   实时操作系统的主要特点
  (1)及时响应。每一个信息接收、分析处理和发送的过程必须在严格的时间限制内完成。
  (2)高可靠性。需采取冗余措施,双机系统前后台工作,也包括必要的保密措施等。
分时——现在流行的PC,服务器都是采用这种运行模式,即把CPU的运行分成若干时间片分别处理不同的运算请求 linux系统
实时——一般用于单片机上、PLC等,比如电梯的上下控制中,对于按键等动作要求进行实时处理 
分时系统和实时系统比较

 

Guess you like

Origin www.cnblogs.com/youxiu123/p/11481655.html