一、为何要有操作系统?
操作系统本质上是一个应用程序,它的目的是控制硬件,服务软件。现代计算机是一个复杂的系统,如果没有操作系统,程序员开发软件就必
须了解计算机系统的每一个方面,再编写相应的软件控制这些硬件,最后再编写自己的程序。这无疑降低了程序员的开发效率,并且由于现在计算
机是一个复杂的系统,开发人员要完全掌握计算机的每一方面是很困难的,所以操作系统就应运而生。操作系统在硬件和软件之间搭起一座沟通的
桥梁,将复杂的硬件设备虚拟化、简单化,极大地增强了程序员的开发效率。
二、操作系统的位置
操作系统位于硬件与软件之间,由内核态和用户态两部分组成,它在硬件与软件之间架起了一道桥梁,隐藏了大量I/O设备的接口,给用户
提供一个简洁、实用的系统调用接口。它通过一些抽象化的概念将一些原本复杂的输入输出设备简单化。
三、操作系统的功能
1、隐藏了大量的硬件调用接口,为程序员提供更好的调用硬件资源的方法,通过抽象化的概念将一些原本复杂的输入输出设备简单化。
2、将应用程序对硬件资源的竞态请求有序化,即将应用程序对硬件资源的请求由无序变为有序。
四、操作系统的发展
最早的计算机系统是没有操作系统的。操作系统的概念是逐步发展起来的。
第一代计算机由真空管和穿孔卡片组成。
特点:没有操作系统,所以软件直接控制硬件。
优点:程序员可以随时调节程序。
缺点:浪费计算机资源。
第二代计算机
特点:批处理系统和晶体管,有了操作系统的概念,各部分之间分工明确。
优点:批处理,节约了机时。
缺点:程序出现bug,程序员不能立即调试。计算机的运行是串行的,整个流程有了人的参与,效率比较低。
第三代计算机
特点:集成电路芯片和多道程序设计。
优点:多道技术分为时间上的复用和空间上的复用,解决了第二代计算机串行的问题,提高了运行效率。采用了内存隔离,和分时系统。
五、多道技术
多道技术中的多道指的是多个程序,多道技术的实现是为了解决多个程序竞争或者共享一个资源的有序调度问题。解决方式为多路复用即时间
上的复用和空间上的复用。空间上的复用是将内存分为几部分,每个部分放入一个程序,这样就内存就可以在同一个时间拥有多个程序。时间上的
复用,当一个程序在I/O时,另一个程序可以使用cpu,如果内存中可以同时存放多个程序,则cpu的效率可以接近100%。即当一个程序运行足够长时
间,或者程序遇到了阻塞,cpu可以立即切换运行另一个程序,当这一个程序运行完毕后,cpu可以立即切换到上一个程序。由于cpu的切换速度很
快,所以给用户的感觉就是这两个程序是同时运行的,或者伪并行的。