Unix操作系统设计第一章学习

来源:互联网 发布:手办 熊孩子 知乎 编辑:程序博客网 时间:2024/06/06 04:11

这一章主要对Unix系统的整个结构、进程间的关系以及内核进行了简要的描述。
系统结构
图1给出了Unix系统的体系结构。该图的中心部分是硬件,它向操作系统提供基本的服务。操作系统部分直接和硬件进行交互,并向程序提供公共服务,使它们同硬件特性隔离开来。这样一来的话,如果程序对硬件没有做什么假定的话,那么它就具有很高的可移植性。外层的程序,例如shell及编辑程序等等,是通过引用一组明确定义的系统调用而与内核交互的。

这里写图片描述
图1
系统高层特征
文件系统的特点
1. 层次结构,如图2。文件系统被组织成树状结构,树有个称为根(root)的节点(记作“/”)。其中每个非叶子节点都是文件的一个目录,而叶节点的问题既可以是目录也可以是正规文件还可以是特殊文件。
这里写图片描述
图2
2. 对文件数据的一致处理。在UNIX系统中,程序是不需要了解文件的内部存储格式,而是把数据统一看成无格式的字节流。所以程序可以按照自己的意愿来解释字节流。
3. 文件数据的保护。在Unix系统中,对一个文件的存取许可权是由与该文件相联系的访问控制权所控制的,存取许可权能够分别对文件所有者,同组用户以及其他人这三类用户独立地建立存取许可权,以控制读、写及执行的许可权。

处理环境
一个程序是可执行文件,而一个进程是一个执行中的程序的实例。在UNIX系统上可以同时执行多个进程。特别的是,一个程序是可以有着多个相对应的进程。进程可以通过各种系统调用来创建新进程、终止其他进程以及进行进程间的通信等等。

操作系统的服务

  1. 进程管理
  2. 存储管理
  3. 文件管理

内核
在UNIX系统上用户进程的执行分为两个级别:用户与内核。当发生系统调用时,进程的执行态从用户态变成内核态。用户态和内核态的区别主要在于:在用户态下的进程能存取它们自己的指令和数据,但是不能存取内核指令和数据,然而内核态下的进程是可以存取内核和用户地址的。但是内核并不是与用户进程平行运行的孤立的进程集合,而是每个用户进程的一部分。相应地,每一个进程的虚拟地址空间划分为仅在内核态下可存取及在内核态、用户态下都可存取的两部分。

原创粉丝点击