现代操作系统:引论

计算机的逻辑层次

计算机的逻辑层次包括:硬件->内核态(操作系统)->用户态(用户接口程序->其他应用程序)。
其中,用户接口程序使得用户能够和操作系统交互,它又包括:基于文本的shell基于图标的GUI

操作系统的资源管理功能

资源管理包括两种多路复用(共享)资源的方式:

  1. 时间复用
  2. 空间复用

处理器

专门寄存器

  • 程序计数器:保存了将要取出的下一条指令的内存地址。
  • 堆栈指针:指向内存中当前栈的顶端,该栈含有已经进入但是还没有退出的每个过程的一个框架。
  • 程序状态字:包含了条件码位,CPU优先级,模式(用户态或内核态),以及各种其他控制位。存在一个二进制位控制CPU的工作模式,即内核态和用户态。不同模式对硬件的访问权限不同。

流水线

CPU具有的同时取出多条指令的机制,称为流水线。

超标量CPU

一个CPU有多个执行单元,例如一个用于整数算数运算,一个用于浮点算数运算,而另一个用于布尔运算。

系统调用

用户程序为了从操作系统中获得服务,必须使用系统调用

多线程

多线程允许CPU保持两个不同的线程状态,然后在纳秒级的时间尺度内来回切换。多线程不提供真正的并行处理,在一个时刻只有一个进程在运行,但线程的切换时间则减少到纳秒数量级。
每个线程在操作系统看来就像是单个的CPU。

存储器

在理想情况下,存储器应该极为迅速、充分大、而且非常便宜,但目前的技术无法同时满足这三个目标,于是出现了不同的处理方式。
存储器系统采用一种分层次的结构,如磁盘->内存->高速缓存->寄存器

寄存器

寄存器在存储器系统的顶层,它们用与CPU相同的材料制成,和CPU一样快。
其典型容量是,32位CPU中为32*32位,而在64位CPU中为64*64位。

高速缓存 cache

多数由硬件控制,主存被分割成告诉缓存行,其典型大小为64个字节。
当某个程序需要读一个存储字时,高速缓存硬件检查所需要的告诉缓存行是否在高速缓存中,如果是,称为高速缓存命中,就不需要通过总线把访问请求送往内存。高速缓存未命中就必须访问内存。
有些机器具有两级甚至三级高速缓存,每一级高速缓存比前一级慢且容量更大。

内存 RAM

内存是存储器系统的主力,所有不能在cache中得到满足的访问请求都会转往内存。

硬盘

在任意一个机械臂的位置,读写头可以读取一段环形区域,称为磁道。把一个给定臂的位置上的所有磁道合并起来,组成了一个柱面
每个磁道划分为若干个扇区,扇区的典型值是512字节。
这里写图片描述
这里写图片描述

I/O设备

I/O设备一般包括两个部分:设备控制器和设备本身。
设备控制器是插在电路板上的芯片(组),它从操作系统接受命令,物理地控制设备。
对设备的控制是非常复杂和具体的,为了要完成这些工作,在控制器中经常安装一个小的嵌入式计算机,运行为执行这些工作而专门编好的程序。
操作系统对设备的接口其实是对控制器的接口,相对简单,又被标准化了。
每类设备控制器都是不同的,专门与控制器对话,发出命令并接收响应的软件,称为设备驱动程序(device driver)
设备驱动程序需要装入到操作系统中,在核心态运行。有三个安装途径:

  1. 将内核与设备驱动程序重新链接,然后重启系统,许多UNIX系统以这种方式工作;
  2. 在一个操作系统文件中设置一个入口,并通知该文件需要一个设备驱动程序,然后重启。在系统启动中,操作系统去寻找该驱动程序并装载之,Windows就是以这种方式工作。
  3. 操作系统能够接受新的设备驱动程序并立即安装好,无需重启。热插拔设备都需要动态可装载设备驱动程序。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值