![](https://csdnimg.cn/release/download_crawler_static/86353841/bg5.jpg)
并讨论他们的不同点。
Answer:第一种操作系统提供的服务是用来保护在系统中同时运行的不同进
程。进程只被允许获得与它们地址空间有联系的内存位置。同样,进程不允许破坏和其他用户有
关的文件。一个进程同样不允许在没有操作系统的干预下直接进入设备。第二种服务由操作系统
提供的服务是提供一种新的功能,而这种功能并不直接被底层的硬件支持。虚拟存储器和文件系
统就是由操作系统提供的这种新服务的实例。
2.2 列出操作系统提供的五项服务。说明每项服务如何给用户提供便利。说明在哪些情况下用户级
程序不能够提供这些服务。
Answer: a.文件执行.操作系统一个文件的目录(或章节)装入到内存并运行。一个用户程序不能被
信任,妥善分配 CPU 时间。
b.I/O 操作. 磁盘,磁带,串行线,和其他装置必须在一个非常低的水平下进行通信。用户只需要
指定装置和操作执行要求,然后该系统的要求转换成装置或控制器的具体命令.用户级程序不能被
信任只在他们应该获得时获得装置和只使用那些未被使用的装置。
c.文件系统操作.在文件创建、删除、分配和命名时有许多细节是用户不能执行的。磁盘空间块被
文件所使用并被跟踪。删除一个文件需要清除这个文件的信息和释放被分派给这个文件的空间。
用户程序不仅不能够保证保护方法的有效实施,也不能够被信任只会分配空闲的空间和在删除文
件是清空空间。 d.通信.信息在系统间交换要求信息转换成信息包,送到网络控制器中,通过通
信媒介进行传播,并由目的地系统重新组装。信息包调整和数据修改是一定会发生的。此外,用
户程序也许不能够协调网络装置的取得,或者接收完全不同的其他进程的信息包。
e.错误检测.错误检测在硬件和软件水平下都会发生。在硬件水平下,所有数据转移都必须仔细检
查以确保数据在运送中不会被破坏。在媒介中的所有数据都必须被检查以确保他们在写入媒介时
没有被改变。在软件水平下,为了数据,媒介不需不间断的被检查。例如,确保信息存储中被分
配和还未被分配的空间块的数量和装置中所有块的数量的一致。进程独立经常有错误(例如,磁
盘中数据的破坏),所以必须有一个统筹的程序(操作系统)来处理各种错误。同样,错误经过
操作系统的处理,在一个系统中程序不再需要包含匹配和改正所遇可能错误的代码。
2.3 讨论向操作系统传递参数的三个主要的方法。
Answer:
1.通过寄存器来传递参数
2.寄存器传递参数块的首地址
3.参数通过程序存放或压进堆栈中,并通过操作系统弹出堆栈。 2.4 描述你怎样能够统计到一个程
序运行其不同部分代码时,它的时间花费数量的数据图表,并说明它的重要性。
Answer:一个能够发布定期计时器打断和监控正在运行的命令或代码段当中断被进行时。一个满意
的配置文件,其中的代码块都应积极覆着被程序在代码的不同的部分花费时间。一旦这个配置文
件被获得,程序员可以尽可能的优化那些消耗大量 CPU 资源的代码段。