操作系统Lesson4 - 操作系统发展史


操作系统的结构

操作系统主要是四种结构:单体结构、分层系统、微内核、客户-服务端系统

单体结构

整个操作系统作为一个大型、单一的二进制程序在内核态运行。
优点是整个系统在一个文件中,上下文开销小;缺点是如果某一个内容出现问题,整个系统崩溃。初期的Linux就是这种结构。
为了增强系统的模块性和可扩展性,现代操作系统引入了模块化和动态加载的机制。

分层结构

将系统分为多层,类似于网络分层,每层通过接口通信。
这种系统增加了模块化程度与可维护性和拓展性,但是维护起来也非常麻烦。

微内核

现代众多操作系统的选择。传统上,所有的层都被置于内核中,但这并非必要,且可能不是最佳实践。实际上,减少内核中的功能以达到最小化内核的目标可能是更优的选择。因为内核中的错误难以处理,一旦出现错误,可能导致整个系统的崩溃。
所以就将操作系统划分为微小且功能明确的模块,这些模块中只有微内核在内核模式下运行,其他都在用户态下运行。

客户-服务器模式

微内核思想的策略是把进程划分为两类: 服务器 ,每个服务器用来提供服务; 客户端 ,使用这些服务。这个模式就是所谓的 客户-服务器 模式。
许多网吧采用这种模式,只有I/O设备没有主机,统一由中央服务器调度。


计算机启动过程

  • CPU上电,会触发硬件reset异常,这个异常会被CPU厂家固化到某一固定位置去执行启动程序。
  • 这个启动程序叫bootloader,这个程序干两件事:
    • boot(启动):初始化硬件。
      • 也有一些可能的用户交互,最终目的还是将OS内核的镜像文件加载到ram上。
    • loader(加载):加载OS内核。
      • 将OS内核从存储介质中加载到内存中
      • 内核加载需要 启动参数(要这个系统干什么活),不同系统有不同做法。
  • 加载好内核之后并不能直接使用,因为内核只提供 机制(能干什么活),还需要 策略 (怎么去做)。
  • 策略应用程序来做,但是如何找到并运行他们呢?
    • 程序需要 载体:磁盘、内存、NFS…
  • 操作系统先加载载体,这个载体就是 根文件系统。再由根文件系统加载对应程序。
  • 最后用户跟应用程序交互来完成对操作系统的调用。

在这里插入图片描述


操作系统发展史

  • 手动操作阶段
    • 这个阶段由人工进行多数操作,分配任务等。
  • 批处理阶段
    • 单道批处理
      • 内存中只能有一个作业。
      • 还有另一个监督程序进行管理。
      • 单道批处理就像银行窗口,每个任务都需要排队处理,一个人没结束下一个人就不能处理。
      • 由于只能放一个作业,所以系统资源利用率很低。
    • 多道批处理
      • 内存中允许放多道作业。
      • 正在运行的程序因I/O等原因而暂停时,可以放弃CPU资源让其处理另一个程序。
      • 这个放弃是程序中写死的主动放弃,由程序主管CPU。
    • 批处理的问题是系统资源利用率不高,且人机交互困难。
  • 分时操作阶段
    • 将计算机资源以时间片为单位均分,保证多任务的执行。
    • 解决了人机交互困难的问题。
  • 实时操作阶段
    • 这个系统特别关注两个个问题:抢占调度endline(截止时间)
    • 支持紧急任务不需要时间片排队,确保系统接收外部信号时及时处理。
    • 是否能在规定时间内做完,有些不能完成的任务甚至调都不调。

并行与并发

  • 并行
    • 同一时刻,多个人干多件事。
  • 并发
    • 同一时间间隔内,一个人干多个事。

  • 若文件数据不在内存中,则会调用驱动访问磁盘,这个属于I/O操作了,所以进程会进入休眠。

  • 中断与异常的处理

    • 中断会直接执行 trap指令(专门用于处理中断和异常的指令)。
    • 异常会先传参数,再执行trap。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值