logologo

第七章:操作系统

Apr 23, 2023

知识点

操作系统

操作系统是计算机硬件和用户(程序和人)的一个接口,它使得其他程序更加方便有效地运行,并能方便地对计算机硬件和软件资源进行访问。 两个主要设计目标

  • 有效地使用硬件
  • 容易地使用资源

自举过程:操作系统为其他程序提供支持。

  • 批处理系统:20 世纪 50 年代,目的控制大型计算机;只保证计算机所有资源被从一个作业转换到另一个作业。
  • 分时系统:多道程序,可以将多个作业同时装入内存,当该资源可用时分配给需要它的作业
    • 调度:给不同的程序分配资源并决定哪一个程序什么时候使用哪一种资源
    • 进程:一个作业是一个要运行的程序,一个进程则是在内存中等待分配资源的程序。
  • 个人系统:单用户操作系统 如 DOS
  • 并行系统:在同一计算机中安装了多个 CPU,每个 CPU 可以处理一个程序或者一个程序的一部分。
  • 分布式系统:资源可以是分布式的,一个程序需要的文件可能分布在世界的不同地方。
  • 实时系统:是指在特定时间限制内完成任务。

组成部分

至少具有以下 4 种功能:存储管理、进程管理、设备管理、文件管理。

计算机操作系统的一个重要职责是内存管理。避免“内存溢出”,根据内存管理分为:单道程序和多道程序

  1. 单道程序:大多数内存装载单一的程序,小部分装操作系统
  2. 多道程序:同一时刻装入多个程序并且能同时被执行。
    • 分区调度:每个程序完全载入内存,并占用连续的地址。
    • 分页调度:分页调度提高了分区调度的效率。在分页调度下,内存被分成大小相等的若干个部分,称为帧。程序则被分为大小相等的部分,称为页。
    • 请求分页调度:在请求分页调度中,程序被分成页,但是页可以依次载人内存、运行,然后被另一个页代替
    • 请求分段调度:在请求分段调度中,程序将按程序员的角度划分成段,它们载人内存中、执行,然后被来自同一程序或其他程序的模块所代替。
    • 请求分页和分段调度:结合了两者的优点以提高系统效率,

虚拟内存:意味着请求分页调度、请求分段调度,或两种都有,如今几乎所有的操作系统都使用了该技术。

进程管理器

程序:程序是由程序员编写的一组稳定的指令,存在磁盘(或磁带)上,它可能会也可能不会成为作业。

作业:每个作业都是程序,但并不是所有的程序都是作业。

进程:进程是一个运行中的程序。

调度器:将一个作业或进程从一个状态改变为另一个状态

  • 作业调度器:将一个作业从保持状态转入就绪状态,或是从运行状态转入终止状态。
  • 进程调度器:将一个进程从一个状态转入另一个状态。
  • 其他调度器:一些操作系统使用其他类型的调度器使进程之间的转换更为有效。

队列:一个操作系统有很多个队列。进程管理器可以用多种策略从队列中选择下一个作业或进程;可以最短长度优先 最高优先级等

进程同步:所有的进程管理的思想都是使得拥有不同资源的不同进程同步

  • 死锁:当文件被一个进程使用时,将不能再被别的进程使用。在这种情况下,如果没有强制一个进程释放文件的防备措施,就会发生死锁。当操作系统没有对进程的资源进行限制时将会发生死锁。
    • 死锁的四个必要条件:互斥、资源占有、抢先、循环等待
  • 饿死:与死锁相反,它发生在当操作系统对进程分配资源有太多限制的时候。

设备管理器:负责访问输入/输出设备。

  • 设备管理器不停地监视所有的输人/输出设备,以保证它们能够正常运行。
  • 设备管理器为每一个输入/输出设备维护一个队列,或是为类似的输入/输出设备维护一个或多个队列。
  • 设备管理器控制用于访问输入/输出设备的不同策略

文件管理器:控制对文件的访问

  • 文件管理器控制文件的访问。
  • 文件管理器管理文件的创建、删除和修改。
  • 文件管理器可以给文件命名。
  • 文件管理器管理文件的存储:怎样存储,存在哪里等。
  • 文件管理器负责归档和备份。

主流操作系统

UNIX:UNIX 是多用户、多道程序、可移植的操作系统,它被设计来方便编程、文本处理、通信。

  1. 可移植的操作系统
  2. 拥有一套强大的工具
  3. 具有设备无关性

UNIX 由 4 个主要部分构成:内核、命令解释器、一组标准工具和应用程序。 UNIX

Linux:1991 年芬兰 Helsinki 大学学生 Linus Torvalds;由内核、系统库、系统工具组成;支持标准因特网协议,支持三层:套接字接口、协议驱动和网络驱动;Linux 的安全机制提供了传统上为 UNIX 定义的安全特性。如身份验证和访问控制。

Windows:20 世纪 80 年代后期,代替 MS-DOS 的新的单用户操作系统;微软发布的设计目标是:可扩展性、可移植性、可靠性、兼容性和性能。

  • 具有多层的模块化体系结构
  • 由 C 或 C++编写,独立于它所运行的计算机的机器语言
  • 防止恶意软件的错误条件
  • 能运行其他操作系统编写的程序
  • 运行在操作系统顶部的应用程序,具有快速响应时间。

Windows

浙ICP备2021022773号    2022-PRESENT © ZhengKe