操作系统概念学习笔记 第二章 计算机系统结构
操作系统必须保证计算机系统的正确运行,为了确保用户程序不干预系统的正常操作,硬件必须提供合适的机制,以确保正确的行为。
计算机系统操作
现代通用计算机系统由cpu和若干设备控制器通过共同的总线相连而成,该总线提供了对共享内存的访问,每个设备控制器负责一种特定类型的设备,cpu和设备控制器可并发工作,并竞争内存周期,为了确保对共享内存的有序访问,需要提供内存控制器来实现对内存的同步访问功能。
计算机起动需要一个初始化程序(引导程序),位于只读存储器,它必须知道如何装入操作系统并开始执行系统,为了完成这一目标,必须定位操作系统内核并把它装入内存。
事件的发生通常通过硬件或软件中断来表征。硬件可随时通过系统总线向cpu发出信号,以触发中断。软件通过执行一种称作系统调用(监控器调用)的特别操作也能触发中断。
现代操作系统是中断驱动的,事件几乎总是通过发生中断或陷阱来表征的。
当cpu被中断时,它暂停正在做的事,并立即将执行转到固定的位置去,该固定位置通常是中断服务程序开始位置的地址。
中断是计算机体系结构的重要部分,中断必须将控制转移到合适的中断服务程序,
中断体系结构也必须保存被中断指令的地址。
I/O结构
设备控制器维护一定量的本地缓冲存储器和一组特定用途的寄存器,
I/O中断
开始I/O操作→ cpu在设备控制器内装入适当的寄存器→设备控制器检查这些寄存器,决定采取何种操作→操作→设备控制器通知cpu
它通过触发中断来实现这种通信
同步I/O:用户进程请求I/O→开始I/O→控制权返回给用户
异步I/O:无需等待I/O完成,就将控制权返回给用户,接着I/O继续进行
设备状态表:操作系统用它来在同一时刻跟踪多个I/O请求。在表中每个I/O设备都有一个条目,指明设备的类型、地址和状态。由于其他进程也可能向同一设备发出请求,所以操作系统也为每个I/O设备维持了一个等待队列,该队列就是一个等待请求列表。
DMA结构
可用于高速I/O设备的直接内存访问。在为这种I/O设备设置好缓冲区、指针和计数器之后,设备控制器能在本地缓冲存储器和内存之间直接传送一整块数据,无需cpu干预
存储结构
计算机程序必须在内存中,以便于运行。内存是cpu可直接访问的唯一的大容量存储区域,是动态随机访问内存。内存由一组内存字的阵列组成,每个字都有其地址。
内存:
内存和处理器本身内置寄存器是cpu能直接访问的唯一存储介质。
内存映射I/O:内存地址的一块范围被单独分开,并映射到设备寄存器。
磁盘
磁带
存储层次
计算机存储系统的层次:寄存器→高速缓存→内存→电子磁盘→磁盘→光盘→磁带
硬件保护
操作系统的合理设计必须确保错误程序(或恶意程序)不会造成其他程序错误执行。
硬件可检测到许多编程错误,这些错误通常由操作系统处理。
为了确保操作正常,必须保护操作系统和所有其他程序及数据使之不受任何故障程序影响。需要两重独立的操作模式:用户模式和监督程序模式(也称为管理模式、系统模式、特权模式)。一个称为模式位的位,增加到计算机硬件,以表示当前模式,监督程序(0)或用户模式(1)。
特权指令:能引起损害的机器指令,硬件允许仅在监督程序模式下执行特权指令。
I/O保护
通过发出非法I/O指令、访问操作系统的内存位置或拒绝释放cpu,用户程序可打断系统的正常操作。
为了防止用户执行非法I/O,可定义所有I/O指令为特权指令。因此用户必须通过操作系统来进行I/O指令。
内存保护
必须提供对操作系统的中断向量和中断服务程序的内存保护。保护操作系统不为用户程序所访问,并保护用户程序不为彼此所访问。
一种内存保护的方法:基址寄存器保存着最小的合法物理内存地址,界限寄存器包含范围的大小,cpu将用户模式下所生成的每个地址与这些寄存器相比较,如果用户模式下运行的程序试图访问监督程序内存或其他用户的内存,会陷入监督程序。
cou保护
定时器来防止用户程序陷入死循环或不调用系统服务,并且不将控制权返回到操作系统,

浙公网安备 33010602011771号