通用操作系统的现状和分类
UNIX操作系统的根本特点:分时多用户、开放性
基本功能特征
系统结构
操作系统核心
系统调用的集合及实现系统调用的内部算法就形成操作系统核心
系统调用
以函数形式提供给核外的命令和上层应用系统使用的一组程序,涵盖操作系统的所有功能。是应用程序请求操作系统服务的唯一通道。
进程和文件是UNIX操作系统中最基本的两个概念
进程:
所有处在运行期间的程序实例都是进程
一个进程就是处在运行期间的一个程序实例
涵盖所有的动态概念
文件
所有静态的无形数据和有形硬件设备
源程序、命令、图片、邮件、 打印机、内存、磁盘等
UNIX文件系统特征
1、树状层次结构
树根、树枝、树叶、路径
2、对文件数据的一致对待
文件为有序无格式的字节流,逻辑意义由使用者解释
3、文件管理
建立、删除、修改、备份、移动、替换 —— 上层操作
存储空间的分配和释放 —— 下层操作
4、文件的访问和保护
索引节点(inode)、文件描述符(fd)
用户分组、权限划分
5、设备文件管理
统一各外部设备的访问模式
程序与进程
程序的执行
构件原语
源于“软件复用”和“模块组装”理念
程序内部:简单功能划分;纯代码设计
程序外部:使用构件原语进行功能重叠和组装
NUIX包含两种构件原语
- 输入/输出重定向
- 管道
I/O重定向
一个进程通常(default)打开三个文件:
标准输入文件(fd=0)
标准输出文件(fd=1)
标准错误输出文件(fd=2)
管道
A进程将标准输出重新定向到管道中去;
B进程将标准输入重新定向从管道中来。
UNIX操作系统提供五种主要的服务
1.进程管理
建立、终止、挂起、通信等
2.时钟管理
分时共享cpu,时间片,调度
3.存储管理
二级存贮器(内存和对换区),分配主存
4.文件系统管理
文件操作:读、写、更名、拷贝 ……
二级存贮管理:分配和收回存贮区和索引节点
5.设备管理
对I/O设备进行有控制的存取(多进程系统的特征)
内核提供的服务的特点:服务是透明的
①文件类型透明:
用户可不关心是普通文件还是外部设备,但O.S自己要关心文件类型!
②文件系统的透明:
文件系统类型、存放的物理位置。
③存贮方式透明:
文件的存放位置、存放方式、存放格式
④各用户进程能得到核心相同服务:
无论系统程序还是用户程序,平等对待,分时运行
硬件假设(假设机器硬件只支持的运行状态)
UNIX系统上进程的执行分成两种状态:用户态、 核心态
用户态:进程正在执行用户代码时的状态
核心态:进程正在执行系统代码(系统调用)时的状态
一个进程在运行时必须处在,而且只能处在或者核心态或者用户态下:
核心——处在核心态下的进程的相应部分的集合
硬件是按核心态和用户态来执行操作的,但对这两种状态下正在执行程序的多个用户是相同对待的。
中断与例外
UNIX系统中的存储管理原则(或特点):
1.当前正在执行的进程(全部或部分)驻留在主存中;
2.核心是永远驻留在主存中的(是永远活动的!);
3.编译程序产生的指令地址是虚地址(逻辑地址);
4.程序运行时核心与硬件(存储管理部件MMU)一起建立虚地址到物理地址的映射
“文件”和“进程”是UNIX系统的两个最基本实体和中心概念,UNIX系统的所有操作都是以这两者为基础的。整个系统核心由以下五个部分组成: