1.什么是操作系统?
- 操作系统主要用于管理和控制计算机硬件与软件资源。
- 计算机存在很多输入输出设备,端口,处理器,如果程序员必须了解这些东西才能编程那么将会大大降低开发效率,所以操作系统就是代替程序员去了解并管理这些复杂的硬件操作系统,程序员就可以安心的开发应用软件并通过操作系统间接的使用这些硬件。操作系统本质也是软件,但其又位于软件与硬件之间,操作系统隐藏了硬件之间复杂的接口,为程序员提供更简单、清晰的接口,有了这些就不必考虑操作硬件的细节,专心开发应用程序。操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成。
- 操作系统由硬件保护,不能被用户修改。
2.操作系统的位置
- 操作系统位于计算机硬件与软件之间,应用程序直接与操作系统交互,用户与应用程序交互,他们都是运行于操作系统上的应用软件,需要操作系统去与硬件之间打交道,应用程序本身并没有与硬件直接交互的能力。所以操作系统之间的位置关系应为,用户接口程序--应用程序--操作系统--硬件。
- 3.操作系统的功能
- 隐藏了硬件复杂的调用接口,程序员能够更简单,更清晰的调用硬件系统的模型。不必再考虑操作硬件的细节,专心开发应用软件。简单的说就是可以直接打开文件读或写就可以了。
- 将应用程序对于硬件资源的竟态请求变的有序化。很多软件共用一套计算机硬件,操作系统的功能就是将他们的请求由无序变为有序,避免冲突。也称为多路复用。
4.操作系统的发展- 第一代计算机没有操作系统的概念,所有程序由纯粹的机器语言编写。
- 第二代计算机产生了操作系统的概念,但是是人力与计算机结合的系统,需要人参与,效率低且麻烦。与此同时产生了程序设计语言FORTRAN或汇编语言。
- 第三代计算机产生了集成电路芯片和多道程序设计。多道技术的多道指的是多个程序,解决了多个程序竞争或说共享同一个资源的有序调度问题,解决方式即多路复用,多路复用分为时间上的复用和空间上的复用。
- 空间上的复用:将内存分为几部分,每个部分放入一个程序,这样,同一时间内存就有了多道程序。
- 时间上的复用:当一个程序在等待I/O时,另一个程序可以使用CPU,如果内存中同时存放足够多的作业,则CPU利用率接近100%,类似于统筹方法。
- 空间上的复用丧失了安全性和稳定性,且第三代计算机操作系统仍然是批量处理。
- 第四代计算机,也就是现如今我们所用的计算机,解决了上述所说的所有缺点。
5.多道技术- 处理来自多个程序发起的多个共享资源的请求,简称多路复用。
- 多路复用两种实现方式为时间上的复用和空间上的复用。
- 时间上的复用:多个程序需要在CPU上运行,操作系统把CPU分给第一个程序,在运行足够长的时间或者遇到I/O阻塞,操作系统把CPU分配给下一个程序,以此类推,由于CPU切换速度很快,给用户一种并行的感觉,可以称之为伪并行。至于资源如何实现时间复用,这些都是操作系统的工作。
- 空间上的复用:每个程序或者说客户都从大的资源中获取一小部分资源,从而减少排队等待资源的时间。硬件层面提供保护确保各自的内存是分开的。
- 这两种方式结合起来叫多道技术。