知识点
操作系统
操作系统是计算机硬件和用户(程序和人)的一个接口,它使得其他程序更加方便有效地运行,并能方便地对计算机硬件和软件资源进行访问。 两个主要设计目标
- 有效地使用硬件
- 容易地使用资源
自举过程:操作系统为其他程序提供支持。
- 批处理系统:20 世纪 50 年代,目的控制大型计算机;只保证计算机所有资源被从一个作业转换到另一个作业。
- 分时系统:多道程序,可以将多个作业同时装入内存,当该资源可用时分配给需要它的作业
- 调度:给不同的程序分配资源并决定哪一个程序什么时候使用哪一种资源
- 进程:一个作业是一个要运行的程序,一个进程则是在内存中等待分配资源的程序。
- 个人系统:单用户操作系统 如 DOS
- 并行系统:在同一计算机中安装了多个 CPU,每个 CPU 可以处理一个程序或者一个程序的一部分。
- 分布式系统:资源可以是分布式的,一个程序需要的文件可能分布在世界的不同地方。
- 实时系统:是指在特定时间限制内完成任务。
组成部分
至少具有以下 4 种功能:存储管理、进程管理、设备管理、文件管理。
计算机操作系统的一个重要职责是内存管理。避免“内存溢出”,根据内存管理分为:单道程序和多道程序
- 单道程序:大多数内存装载单一的程序,小部分装操作系统
- 多道程序:同一时刻装入多个程序并且能同时被执行。
- 分区调度:每个程序完全载入内存,并占用连续的地址。
- 分页调度:分页调度提高了分区调度的效率。在分页调度下,内存被分成大小相等的若干个部分,称为帧。程序则被分为大小相等的部分,称为页。
- 请求分页调度:在请求分页调度中,程序被分成页,但是页可以依次载人内存、运行,然后被另一个页代替
- 请求分段调度:在请求分段调度中,程序将按程序员的角度划分成段,它们载人内存中、执行,然后被来自同一程序或其他程序的模块所代替。
- 请求分页和分段调度:结合了两者的优点以提高系统效率,
虚拟内存:意味着请求分页调度、请求分段调度,或两种都有,如今几乎所有的操作系统都使用了该技术。
进程管理器
程序:程序是由程序员编写的一组稳定的指令,存在磁盘(或磁带)上,它可能会也可能不会成为作业。
作业:每个作业都是程序,但并不是所有的程序都是作业。
进程:进程是一个运行中的程序。
调度器:将一个作业或进程从一个状态改变为另一个状态
- 作业调度器:将一个作业从保持状态转入就绪状态,或是从运行状态转入终止状态。
- 进程调度器:将一个进程从一个状态转入另一个状态。
- 其他调度器:一些操作系统使用其他类型的调度器使进程之间的转换更为有效。
队列:一个操作系统有很多个队列。进程管理器可以用多种策略从队列中选择下一个作业或进程;可以最短长度优先 最高优先级等
进程同步:所有的进程管理的思想都是使得拥有不同资源的不同进程同步
- 死锁:当文件被一个进程使用时,将不能再被别的进程使用。在这种情况下,如果没有强制一个进程释放文件的防备措施,就会发生死锁。当操作系统没有对进程的资源进行限制时将会发生死锁。
- 死锁的四个必要条件:互斥、资源占有、抢先、循环等待
- 饿死:与死锁相反,它发生在当操作系统对进程分配资源有太多限制的时候。
设备管理器:负责访问输入/输出设备。
- 设备管理器不停地监视所有的输人/输出设备,以保证它们能够正常运行。
- 设备管理器为每一个输入/输出设备维护一个队列,或是为类似的输入/输出设备维护一个或多个队列。
- 设备管理器控制用于访问输入/输出设备的不同策略
文件管理器:控制对文件的访问
- 文件管理器控制文件的访问。
- 文件管理器管理文件的创建、删除和修改。
- 文件管理器可以给文件命名。
- 文件管理器管理文件的存储:怎样存储,存在哪里等。
- 文件管理器负责归档和备份。
主流操作系统
UNIX:UNIX 是多用户、多道程序、可移植的操作系统,它被设计来方便编程、文本处理、通信。
- 可移植的操作系统
- 拥有一套强大的工具
- 具有设备无关性
UNIX 由 4 个主要部分构成:内核、命令解释器、一组标准工具和应用程序。
Linux:1991 年芬兰 Helsinki 大学学生 Linus Torvalds;由内核、系统库、系统工具组成;支持标准因特网协议,支持三层:套接字接口、协议驱动和网络驱动;Linux 的安全机制提供了传统上为 UNIX 定义的安全特性。如身份验证和访问控制。
Windows:20 世纪 80 年代后期,代替 MS-DOS 的新的单用户操作系统;微软发布的设计目标是:可扩展性、可移植性、可靠性、兼容性和性能。
- 具有多层的模块化体系结构
- 由 C 或 C++编写,独立于它所运行的计算机的机器语言
- 防止恶意软件的错误条件
- 能运行其他操作系统编写的程序
- 运行在操作系统顶部的应用程序,具有快速响应时间。