前言
书接上文,本节将描述操作系统具有哪些功能,以及体系结构和操作指令的执行过程。
一、操作系统的功能?
1.管理计算机资源
1)内存管理
内存管理的主要任务是为多道程序的运行提供良好的环境, 方便用户使用内存, 提高内存的利用率, 以及从逻辑上扩充内存以实现虚拟存储。
任务:
1,内存分配
2,内存保护
一是使操作系统内核的空间不会被用户随意访问,以保证系统的安全和稳定;二是确保每道用户程序都在自己的内存空间中运行, 互不干扰
如下图,我们把内存分为系统区和用户区。系统区:操作系统运行的内存空间。用户区:用户使用程序运行的内存空间。
比如:运行一个软件,所需内存刚好只有分区2可以放下,这时候运行该程序所处内存分区的起始地址存储在下限寄存器,结束地址存储在上限寄存器。
3,地址映射
还是上个例子,黄色内存块为分区二。在分区二第二个内存单元运行一段程序,即逻辑地址。但对于整个内存来说,该程序运行在第四个内存单元,即物理地址。
4,内存扩充
虚拟技术:从逻辑上扩充内存容量, 使系统能够向用户提供比物理内存大的存储容量。内存中暂时不需要运行的程序从内存中取出来暂存到外存(硬盘),从外存中取出目前需要执行的程序到内存中预备。
2)进程管理
进程的描述与组织、 进程控制、 进程同步、 进程通信及进程调度。具体描述见后面进程的章节,进程管理是操作系统的重头戏。
3)设备管理
设备管理主要完成用户的I/O请求, 为用户分配I/O设备。
设备管理具有以下功能:
1) 缓冲管理
2) 设备分配
3) 设备处理
4) 设备独立性和虚拟设备( 设备独立性功能使应用程序独立于物理设备)
4)文件管理
文件管理具有以下功能:
1) 文件存储空间的管理:为每个文件分配必要的外存空间, 提高外存利用率, 并能有助于提高访问文件的速度。
2) 目录管理:为每个文件建立目录项并对众多目录项进行有效组织。 目录项包括文件名、 文件属性及文件的地址等信息。
3) 文件的读、 写管理和存取控制:根据用户的请求, 从外存中读取数据或将数据写入外存。 防止未经审核的用户存取文件, 防止冒名顶替存取文件, 防止以不正确的方式使用文件。
2.提供用户接口
1)命令接口:目的: 为了便于用户与计算机系统的交互;分类: 联机用户接口和脱机用户接口
联机: 常命令接口由一组键盘操作命令和命令解释程序组成
脱机: 为批处理作业的用户提供, 也称为批处理用户接口
2)图形界面接口:用户可以轻松地通过选择窗口、 菜单、 对话框、滚动条、 图标等简单的操作来完成对作业和任务的提交与控制。
3)程序接口:向程序员提供应用程序与操作系统之间的接口, 就是系统调用
~
二、操作系统的体系结构
操作系统的体系结构是操作系统作为一种软件的体系结构, 对操作系统的可靠性、 灵活性和可移植性等方面都有重要影响
三、指令的执行
程序是指令的集合, 程序的执行就是按照某种控制流执行指令的过程。
一个单一指令需要的处理称为指令周期
一个指令周期可以划分为两个步骤, 分别是取指周期和执行周期。
程序计数器( PC) 保存有下一次要取的指令的地址。 取到的指令被放置在处理器的指令寄存器( IR) 中。
举例:
1,有A B C三个指令需要执行,刚开始CPU空闲,将A指令从内存中取出存储到 CPU 指令寄存器中,CPU会执行指令寄存器中的任务。
与此同时,下一个B指令的地址存储在程序计数器中。
2,A指令执行完了,B指令存储到指令寄存器中等待CPU执行,与此同时下一个C指令的地址存储在程序计数器中.
指令中包含确定处理器要采取动作的位, 处理器解释指令并执行要求的动作。
这些动作可分为4类:
1) 处理器与存储器之间的指令或数据传送操作
2) 处理器与I/O设备之间的指令或数据传送操作
3) 算术运算操作或逻辑运算操作
4) 控制操作, 即修改指令的执行顺序的操作