操作系统原理

操作系统

为何要有操作系统

现代计算机系统主要是由cpu、内存、硬盘、键盘、鼠标、显示器、打印机 网络接口和其他输入输出设备组成的复杂的系统,每个程序员不可能掌握操作系统的所有细节并且管理这些部件并加以优化,所以操作系统为用户程序提供了一个更好更简单清晰的计算机模型程序员无法把所有的计算机硬件细节都了解到,操作系统来管理并且优化这些硬件

操作系统的位置


操作系统位于计算机硬件和应用软件之间,本质上也是一个软件

操作系统的功能

操作系统由操作系统内核(运行于内核态,管理计算机硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成

两部分功能:

  1. 隐藏了硬件调用接口,为程序员调用硬件提供了更简单清晰的模型(系统调用接口)
  2. 将应用程序对硬件的竞态需求变得有序化,即多路复用

操作系统的发展

1. 第一代计算机:真空管和穿孔卡片
通过成千上万根电缆接到插件版上连接成电路来控制机器的基本功能,没有程序设计语言也没有操作系统的概念

2. 第二代计算机:晶体管和批处理系统
现代操作系统的前身:再手机了批量作业后,卡片被读入磁带,随后程序依次读取次带上的作业并且运行,结果输出到第二个磁带上,然后进行下一个作业

3. 第三代计算机:集成电路和多道程序设计
360是第一个采用了(小规模)芯片(集成电路)的主流机型,与采用晶体管的第二代计算机相比,性价比有了很大的提高。这些计算机的后代仍在大型的计算机中心里使用,此乃现在服务器的前身,这些服务器每秒处理不小于千次的请求。
第三代计算机有了多道技术,实现了解决多个程序竞争或者共享同一个资源:
空间上的复用:将内存分为几部分,每个部分放入一个程序,这样,同一时间内存中就有了多道程序。
时间上的复用: 当一个程序在等待I/O时,另一个程序可以使用cpu,如果内存中可以同时存放足够多的作业,则cpu的利用率可以接近100%
第三代计算机的操作系统仍然是批处理 分时操作系统:第三代计算机广泛采用了必须的保护硬件(程序之间的内存彼此隔离)之后,分时系统才开始流行,UNIX和Linux诞生

  1. 第四代计算机:多道技术

多道技术

处理来自多个程序发起的多个共享资源的请求

多路复用两种实现方式

  1. 时间上复用,当一个资源在时间上复用,不同程序或者用户轮流使用它,当第一个程序获取该资源使用结束后,再轮到第二个、第三个
  2. 空间上复用,每个客户都获取一个大的资源中的一小部分戏院,从而减少排队等待资源的时间。(多个程序同时进入内存,硬件层面提供的保护机制来确保各自的内存是分开的,切由操作系统控制)

时间上复用和空间上复用便是多道技术

原文地址:https://www.cnblogs.com/cx2c/p/6885220.html