对于现代计算机来说,操作系统需要研究的内容主要有一下几个方面:进程/线程的调度、内存管理、文件管理、磁盘管理和I/O。
计算机的主要功能是计算,提到计算,首先要明确几个概念:
- 对于某个问题的描述叫做模型
- 解决某个问题的过程叫做算法
- 具体的执行过程叫做计算
- 计算用的工具叫做计算器
计算机就是用来计算的工具,而操作系统就是计算机的一部分。早期的计算工具尽可能比较简陋,也可能是纯手工计算,也可能是通过类似算盘的工具进行计算。
冯诺依曼是美籍匈牙利人,在上个世纪四十年代他通过总结计算过程,得出了一个能够自动完成计算的计算器的组成主要应该包括存储器、控制器、计算器、输入设备和输出设备,也就是大名鼎鼎的冯诺依曼计算机体系,时至今日,现代的计算机结构主要还是遵循冯诺依曼体系构建的。
但冯诺依曼知识在硬件层面上规定的计算机的组成部分,可直接让硬件面向用户进而实现计算功能那几乎是不可能的,所以就需要在硬件的基础上开发出一套操作系统,这个操作系统向下能够管理硬件资源,向上能够给用户提供简单明了的使用方法,所以,从硬件到最终用户的一个依赖露酒就是: 硬件 → 操作系统 → 应用软件 → 最终用户。
概述
概念 | 控制和管理整个计算机系统的硬件和软件资源,并合理的组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基础的系统软件 |
功能 | 向下:管理资源 ①处理机管理②存储器管理③文件管理④设备管理;向上:提供服务 ①命令接口②程序接口③GUI界面 |
目标 | 管理硬件资源,为用户提供使用更方便的功能 |
产品 | Windows/Mac/Linux/Android/IOS |
特性
特性 | 描述 |
---|---|
并发性 | 两个或多个事件在同一时间间隔内交替发生,这些事件在宏观上是同时发生,但在微观上是交替发生 |
共享性 | 即资源共享,系统中的资源可供内存中多个并发执行的进程共同使用,共享方式分为互斥共享(比如摄像头)和同时共享(网络资源) |
虚拟性 | 把一个物理实体划分成若干个逻辑上的对应物,物理实体是实际存在的,而逻辑上的对应物是用户感受到的 |
异步性 | 在多道程序环境下允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底而是走走停停的,以不可预知的速度向前推进 |
操作系统的发展与分类
种类 | 描述 |
---|---|
手工操作 | 利用手工在纸带上打孔的方式实现任务的输入和结果的输出,主要缺点是用户独占全机、人机速度矛盾导致计算机的资源利用率低下 |
单道批处理 | 引入了处理速度更快的磁带,将打孔纸带的数据提前读入磁带,然后通过一个监督程序来控制,将其输入到计算机,计算机的输出结果再反向输出到磁带上,这样就解决了人机速度的差异,提高了资源利用率,但缺点在于计算机中仍然仅能有一道程序运行,并且cpu有大量的时间在空闲等待IO操作,资源利用率仍然很低 |
多道批处理 | 一次将多道程序读入磁带,通过监督程序输入到计算机后,计算机并发的执行(此时引入了中断技术),大幅度提高了计算机的使用效率,但缺点在于由于同时处理多道程序,对于某一个用户的响应时间会变长,并且没有人机交互功能,用户只能死等 |
分时操作系统 | 计算机以时间片为单位,轮流为各个用户/作业提供服务,并且用户可以通过终端与计算机进行交互,但缺点在于分时操作系统在处理任务时所有任务都是平等的,不会区分紧急与非紧急任务 |
实时操作系统 | 能够优先响应一些紧急任务,某些紧急任务不需要时间片排队 |
其他 | 网络操作系统、分布式操作系统、个人计算机系统 |