UNIX系统内核结构培训教材
第十章 UNIX系统内核结构.ppt

2019-8-12
感谢你的观赏
10
第十章 UNIX系统内核结构
10.1.2 UNIX系统的特征
1.开放性
UNIX系统最本质的特征是开放性。所谓开放性,是指 系统遵循国际标准规范;凡遵循国际标准所开发的硬件和软 件,均能彼此兼容,并可方便地实现互连。开放性已成为20 世纪90年代计算机技术的核心问题,也是一个新推出的系统 或软件能否被广泛应用的重要因素。人们普遍认为: UNIX是 目前开放性最好的OS,是目前惟一能稳定运行在从微型机 到大、中型等各种机器上的OS,而且还能方便地将已配置 了UNIX OS的机器互连成计算机网络。
2019-8-12
感谢你的观赏
15
第十章 UNIX系统内核结构
10.1.3 UNIX系统的内核结构
可以把整个UNIX系统分成四个层次。其最低层是硬件, 作为整个系统的基础。次低层是OS核心,包括前面所介绍的 进程管理、存储器管理、设备管理和文件管理四大资源管理 功能。上面第二层是OS与用户的接口Shell以及编译程序等。 最高层是应用程序。作为OS的核心,它应具有两方面的接口: 一方面是核心与硬件的接口,它通常是由一组驱动程序和一 些基本的例程所组成的;另一方面就是核心与Shell的接口, 它由两组系统调用及命令解释程序等所组成。核心本身又可 分成两大部分:一部分是进程控制子系统;另一部分则是文 件子系统。 两组系统调用分别与这两大子系统交互。图10-1 示出了UNIX核心的框图。
2019-8-12
感谢你的观赏
13
第十章 UNIX系统内核结构
4.丰富的网络功能
UNIX系统还提供了十分丰富的网络功能。作为Internet网 络技术基础的TCP/IP协议, 便是在UNIX系统上开发出来的, 并已成为UNIX系统不可分割的部分。UNIX系统还提供了许 多最常用的网络通信协议软件,其中包括网络文件系统NFS 软件、客户/服务器协议软件Lan Manager Client/Server及 IPX/SPX软件等。通过这些产品可以实现在各UNIX 系统之间, UNIX与Novell的Netware,以及MS-Windows NT、IBM LAN Server等网络之间的互连和互操作。
10_UNIX系统内核结构

返回
10.6 文件管理
UNIX文件系统概述 文件的物理结构 索引节点的管理 空闲磁盘空间的管理 文件表的管理 目录管理
返回
同步机制:sleep和wakeup 信号机制 管道机制 消息机制 共享存储区机制 信号量集机制
返回
10.4 存储器管理
请求调页管理的0.5 设备管理
字符设备缓冲区管理 块设备缓冲区管理 内核与驱动程序接口 磁盘驱动程序 磁盘读/写程序
10.2 进程的描述和控制
进程控制块
– PCB四部分:进程表项、U区、系统区表、进程区表
进程状态与进程映像
– 9种状态 – 进程映像:进程实体(用户级、寄存器、系统级)
进程控制
– fork(),强调对父进程的进程表项的复制,理解子进
程的程序计数器的初值。
进程调度与切换
返回
10.3 进程的同步与通信
第10章 UNIX系统内核结构
10.1 10.2 10.3 10.4 10.5 10.6 UNIX系统概述 进程的描述和控制 进程的同步与通信 存储器管理 设备管理 文件管理
10.1 UNIX系统概述
UNIX系统的发展史
– 发展史:Bell实验室设计,后来多个版本 – 两大集团:OSF集团(IBM等)和UI集团(AT&T等) – 网络操作系统UNIX,1980年实现了TCP/IP协议
UNIX系统特征
– 开放性 – 多用户、多任务 – 功能强(包括系统调用和网络)、高效 – 支持多处理器
UNIX系统的内核结构
– 四个层次:硬件、内核、shell和应用 – 内核两大部分
• 进程控制子系统:进程控制、进程通信、存储器管理、进程调度 • 文件子系统:文件管理、高数缓冲机制、设备驱动程序 返回
unix基础培训1-系统简介

二、UNIX操作系统结构
(一)内核(Kernel )
控制计算机硬件的核心程序,操作系统的 核心。 实现了UNIX的多用户、多任务机制。内核 将用户命令和程序组织为可以由计算机处 理单元轮流工作的进程。
内核的主要功能
⑴管理系统的设备、内存、进程以及守护 进程 ⑵系统程序与系统硬件之间接口 ⑶执行所有的命令 ⑷管理Swap space(交换分区) ⑸管理Daemons (守护进程)
三、UNIX文件系统
UNIX目录结构
UNIX文件类型
正规文件:大多数用户熟悉正规文件,正规文件可以包括 程序源代码、邮件等。 目录文件:包含目录中文件信息的特殊文件,这些信息包 含文件的位置、大小、文件产生的时间和改动时间。 设备文件:特殊文件表示一个物理设备,它可以是个终端, 一个通信设备,或是象磁盘驱动器这样的存储设备。从用 户的角度来看,UNIX系统处理特殊文件的方法与处理普 通文件的方法相同,也就是说,用户可以完全按读写普通 文件的方法读写设备。 链接文件 :链接不是一种文件,而是文件的第二个名字。 如果两个用户希望共享一个文件中的信息,链接提供了这 个问题的一种解决方法。使用链接,两个用户可以共享单 一文件,这两个用户看起来都有该文件的拷贝,但是只是 具有两个名字的一个文件存在,任一用户所进行的修改都 在共用版本中进行。
(二)shell
1、shell 是用户与kernel之间的接口。它就像是命令的解 释器或翻译器。Shell接收你输入的命令,对你的输入作出 解释,然后就将它发送给kernel执行。 2、常用的shell Bourne shell – Solaris的缺省shell。(/usr/bin/sh) Korn shell – Bourne shell的一个增强版。它增加了一些功 能,如:别名、历史记录以及命令行编辑等。 (/usr/bin/ksh) C shell -Berkeley 大学的Bill Joy,属于Berkeley Unix系统
UNIX系统内核结构

4. 用户文件描述符表——记录该进程打开的所有文件
5. 当前记录和当前根——给出进程的文件系统环境 6. 计时器——记录进程及其后代在用户态和核心态运行的时间 7. 内部I/O参数——数据量、数据的地址和文件的I/O偏移量 8. 限制字段——进程的大小和能“写”的文件大小的限制 9. 差错字段——记录系统调用执行时发生的错误 10. 返回值——记录系统调用的执行结果
11. 信号处理数组——记录接收到不同信号时的处理方式
返回本节
第10章 UNIX系统内核结构
五、系统区表(System Region Table)
设置系统区表是为了对程序区(正文区)、数据区、 栈区等进行共享。该区表记录了下述信息。
1. 区的类型和大小
2. 区的状态 3. 区的物理位置
4. 引用计数(共享该区的进程数)
:屏蔽信号,对信号不理会
:缺省值;进程收到信号后自我终止
(3) func=0、1外的整数:把此func作为指向事件处理程序的指针 返回本节
第10章 UNIX系统内核结构
3、对信号的处理 1) 仅当进程返回到用户态时才处理信号 2) 对信号的处理:根据func值的情况进行处理
返回本节
第10章 UNIX系统内核结构
返回本节
第10章 UNIX系统内核结构
10.3 进程的同步与通信
10.3.1 sleep与wakeup同步机制 10.3.2 信号(signal)机制
10.3.3 管道机制
10.3.4 消息机制
10.3.5 共享存储区机制
10.3.6 信号量集机制
返回本章首页
第10章 UNIX系统内核结构
10.3.1 sleep与wakeup同步机制
设备管理第10章UNIX系统内核结构

中断向量
设备中断
中断向量
图 10-15 设备开关表及系统调用和驱动程序间的接口
设备管理第10章UNIX系统内核结构
10.5.4 磁盘驱动程序
1、打开磁盘驱动器的过程gdopen 2、启动磁盘控制器的过程 3、磁盘中断处理过程 gdintr
设备管理第10章UNIX系统内核结构
10.5.5 磁盘读、写程序
设备管理第10章UNIX系统内核结构
10.5 设 备 管 理
10.5.1 字符设备缓冲区管理
1、空闲字符缓冲区队列
cblock[0] cfreelist c_next
cblock[1] c_next
cblock[2] c_next
cblock[N1]
…
c_next
图 10-12 空闲字符缓冲区队列 2、 空闲字符缓冲区的分配与回收 3、 设备的字符缓冲区队列
sem 6 sem 7
sem 8 0 信 sem 9 1 号 sem 10 2 量 sem 11 0 集
…
图 10-8 信号量集表与信号量表
设备管理第10章UNIX系统内核结构
10.4 存 储 器 管 理 10.4.1 请求调页管理的数据结构
1、页表和磁盘描述表
物理页号 年龄 写时拷贝 修改位 访问位 有效位 保护
设备管理第10章UNIX系统内核结构
2、磁盘索引结点的分配与回收 1. (1)分配过程 ialloc 2. (2)回收过程 ifree
3、内存索引结点的分配与回收 (1)分配过程 iget (2)回收过程 iput
设备管理第10章UNIX系统内核结构
10.6.4 空闲磁盘空间的管理
1、文件卷的组织
f_offest f_inode
UNIX培训教程(一)——Solaris操作系统培训教程

UNIX培训教程(一)Solaris操作系统培训教程V 1.0©目录第一章SUN发展简史 (3)第二章PROM状态命令与参数 (4)2.1 指令集 (4)2.2 环境变量 (5)第三章UNIX 命令 (5)3.1 基本命令 (5)3.2 增强命令 (8)3.3 VI基本命令 (11)第四章用户管理 (16)4.1 用户基本知识 (16)4.1.1 文件信息 (16)4.1.2 缺省权限 (17)4.1.3 系统安全文件 (17)4.2 相关命令 (17)4.2.1 创建,删除用户帐户 (19)第五章文件系统管理 (19)5.1 硬盘和文件资源 (19)5.2 硬盘分区 (20)5.3 挂接文件资源 (21)5.4 自动挂接文件资源 (22)5.5 NFS资源 (23)5.6 卷管理 (24)第六章进程管理 (24)6.1 分时 (24)6.2 后台进程 (24)6.3 父进程和子进程 (25)6.4 进程状态命令PS (25)6.5 杀死进程 (26)第七章软件包管理 (26)第八章网络应用配置 (27)8.1 网络基本配置文件 (27)8.2 远程访问命令 (28)8.3 访问鉴别相关文件 (28)8.4 网络监控 (28)第九章改变运行等级 (29)9.1 系统引导 (29)9.2 系统操作等级 (30)第十章备份命令 (31)第一章Sun发展简史(一)硬件体系81--89 Sun1/2/3 CISC Motrala 680x0系列89--94 Sun4/60 sparc1 Risc sparc65 sparc1+70 sparc2Server : Sun/290/670/69093--96 Sparc10/20 SuperSparcServer : 1000/200096--97 Ultra1(140/170/170E/200E)UltraSparc SBUS体系结构,UPA接口Ultra2Server : E150,E300098--99 Ultra5 ,Ultra10 PCI体系结构(IDE外设)Ultra30,Ultra60Server : E250,E450,E3500 ,E4500,E5500,E10000现在:FIRE:F280,F480,F880,F4800,F6800,F12000,F15000,F4900,F6900(二)软件体系Solaris 1.x SunOS 4.1.3+OpenWindow 1.x BSDSolaris 2.x System V 32bit2.5.1 SunOS 5.5.1 +OpenWindows2.6 SunOS5.6+CDE1.2Solaris 2.x System V 64bitSolaris7,8,9,10目前工行采用的是Solaris8。
UNIX内核分析PPT课件

APF
Active page field
BN Block number
0-7页
0-127块
6543210
DIB Displacement in block
0-63B
内存管理寄存器(1)
PDP-11设置了2组32位活动页寄存器APR,8个/组, 分别保存进程核心态/用户态下内存使用情况
32位APR可分为2个16位的寄存器,分别为
存储释放:mfree(mp,size,释放区起址)
存储保护
虚/实映射机构基本上使各进程相互隔离,达到保护 各进程占用独立的存储区,且不会重叠 进程在核心态、用户态下运行使用不同的管理寄存器,
且用户进程无权修改寄存器值,不可能破坏操作系统 核心态进程可使用系统提供的特权指令mtpi、
mfpi(向当前运行状态存储空间存、取指令信息)对现 行运行进程的用户态空间进行操作 通过KISD/UISD中页长字段PLF,以及存取控制权限 ACF,可以限定进程的访问长度和访问方式
虚地址到物理地址转换
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
APF
BN
DIB
找对应页的PAR
PAF
11
0
+
物理块号
DIB
17
65
0
总线寻址能力为18位,
形成256KB的物理地址
Unix存储管理
PDP-11进程可访问的地址空间为64KB 进程在核心态下的虚拟地址空间(图1左)
u.u-signal[a]=u.u-arg[1];
if (u.u-procp→p-sig==a) /*如果以前已经收到该信号
u.u-procp→p-sig=0; /*处理方式已改变,清除原收到信号
SCOUNI培训教材

UNIX操作系统华为技术有限公司培训中心一九九八年八月内容简介本书从华为公司产品维护的角度出发,以SCO UNIX为例,简要地介绍了有关UNIX 操作系统的应用和维护的基础知识。
本书分为三篇,第一篇是基础篇,介绍了UNIX操作系统的基本知识和维护操作,主要是课堂讲授的内容;第二篇是深入篇,主要介绍了维护方面的知识,供自学用;第三篇是上机指导篇,供上机用。
本书假定读者已经具备了DOS 操作系统的知识。
本书可供用户学员在进行华为产品培训时使用,也可供其他UNIX维护人员参考。
深圳市华为技术有限公司?19981998年版权所有,保留一切权利。
非经本公司书面许可时,任何单位和个人不得擅自摘抄、复制本书的部分或全部,并以任何形式传播。
Copyright ? 1998 by Huawei Technologies Co.,Ltd.All Rights Reserved.No part of this document may be reproduced or transmitted in anyform or by any means without prior written consent of Huawei .HUAWEI?、华为?、C&C08?、EAST8000?、HONET?、视点?、INtess?、ETS?、SBS?、TELLIN?、ViewPoint?、InfoLink?、NetKey?、Quidway?、SYNLOCK?均为深圳市华为技术有限公司的商标,不得仿冒。
UNIX操作系统汪济民徐智利编深圳市华为技术有限公司培训中心出版1998年8月第1版1998年8月第1次印刷印数:1-1000册目录第一篇基础篇第一章UNIX操作系统概述 .......................................................................... 错误!未定义书签。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2
第十章 UNIX系统内核结构
10.1.3 UNIX系统的内核结构 捕俘
用户级 核心级
用户程序
库函数
系统调用接口
图 10-1 UNIX核心的框图
文件子系统
高速缓存
12
第十章 UNIX系统内核结构
10.2.4 进程调度与切换
1、引起进程调度的原因 2、 调度算法 3、进程优先级的分类 4、 进程优先数的计算
优先数 最近使用CPU的时间 基本用户优先数 2
5、进程切换
13
第十章 UNIX系统内核结构
10.3 进程的同步与通信
1、sleep与wakeup同步机制 2、信号(signal)机制 3、管道机制 4、消息机制 5、共享存储区机制 6、信号量集机制
B 正文 进 程 数据 区 表栈
a b c d e
系统区表
a b
c d
e
图 10-2 进程区表项、系统区表项和区的关系
6
第十章 UNIX系统内核结构
4、 本进程区表(Per Process Region Table)
本进程区表
系统区表
U区 a
b
进程表
c
a
b
c
图 10-3 进程的数据结构
7
第十
…
10.3.4 消息机制
0
消息首部 msgh 0
…
队列 i 队列 n
消息 缓冲区
m
消息首部
3 消息首部
msgh 3
消息 缓冲区
2 消息首部
msgh 2
消息 缓冲区
…
消息队列头表
消息 缓冲区
图 10-6 消息机制中的数据结构
15
第十章 UNIX系统内核结构
10.3.5 共享存储区机制
10.5 设 备 管 理
10.5.1 字符设备缓冲区管理
1、空闲字符缓冲区队列
cblock[0] cfreelist c_next
cblock[1] c_next
cblock[2] c_next
8
第十章 UNIX系统内核结构
2、 进程映像 1. (1)用户级上下文 (2)寄存器上下文 ➢ 程序寄存器 ➢ 处理机状态寄存器(PSR) ➢ 栈指针 ➢ 通用寄存器 (3)系统级上下文 ➢ 静态部分 ➢ 动态部分
9
第十章 UNIX系统内核结构
10.2.3 进程控制
1、 fork系统调用
(1) 为新进程分配一个进程表项和进程标识符; (2) (2) 检查同时运行的进程数目; (3) (3) 拷贝进程表项中的数据; (4) (4) 子进程继承父进程的所有文件; (5) (5) 为子进程创建进程上下文; (6) (6) 子进程执行。
物理页794
对换设备块 2743
图 10-11 四种数据结构之间的关系
20
第十章 UNIX系统内核结构
10.4.2 换页进程
1、增加有效页的年龄 2、对换出页的几种处理方式 3、将换出页面写到对换设备上
10.4.3 请求调页 1、缺页在可执行文件上 2、缺页在对换设备上 3
21
第十章 UNIX系统内核结构
10.2.2 进程状态与进程映像
1、进程状态
僵死
中断 中断返回
系统调用 中断
5
返回
用户态 执行 返回到用户态
9 睡眠 内存中 睡眠 6
换 出 睡眠 且换出 7
4 核心态 执行 唤醒
唤醒
抢夺 调度
8 被抢夺
2 内存中就绪
换换 出入
内存足 创建fork 1
内存不足
3 就绪且换出
图 10-4 进程的状态转换
字符设备
块设备
设备驱动程序
进程控制 子系统
进程间通信 调度
存储管理
硬件控制 核心级 硬件级
硬件 3
第十章 UNIX系统内核结构
10.1.3 UNIX系统的内核结构
1 (1) 进程控制
(2) (2) 进程通信 2、 文件子系统 (3) (3) 存储器管理 (1) 文件管理
(4) (4) 进程调度
(2) (2) 高速缓冲机制
第十章 UNIX系统内核结构
第十章 UNIX系统内核结构
10.1 UNIX系统概述 10.2 进程的描述和控制 10.3 进程的同步与通信 10.4 存储器管理 10.5 设备管理 10.6
1
第十章 UNIX系统内核结构
10.1 UNIX系统概述
10.1.1 UNIX系统的发展史 10.1.2 UNIX系统的特征
18
第十章 UNIX系统内核结构
2、页框数据表和对换使用表
图 10-10 页框数据表项及其散列队列
19
第十章 UNIX系统内核结构
虚地址 1493K
页表项 页框号 794
磁盘块描述项
对换 块号 设备 1 2743
页框数据表项794 引用数 1 对换设备 1 块号 2743
对换使用表项 引用数 1
(3) (3) 设备驱动程序
4
第十章 UNIX系统内核结构
10.2 进程的描述和控制
10.2.1 进程控制块PCB
在UNIX系统Ⅴ中, (1) (2) U区 (3) 进程区表 (4) 系统区表
5
第十章 UNIX系统内核结构
4、 本进程区表(Per Process Region Table)
A 正文 进 程 数据 区 表栈
10
第十章 UNIX系统内核结构
2、exec系统调用
trap path arg v
0 arg 2p arg 1p arg 0p
文件名字符串 参数字符串
图 10-5 exec Ⅴ的参数组织方式
11
第十章 UNIX系统内核结构
3、exit系统调用
(1) 关闭软中断; (2) 回收资源; (3) 写记账信息; (4) 置进程为“僵死”状态。 4、wait系统调用
进程 的虚空间 A 正文
数据
A
内存空间
A′ 共享存储区 栈
进程 的虚空间 B 正文
数据 B B′ 栈
图 10-7 利用共享存储区进行通信
16
信号量集
第十章 UNIX系统内核结构
10.3.6 信号量集机制 信号量集表
信号量表
sem 0 sem 1 sem 2 0 sem 3 1 sem 4 2 sem 5 3 sem 6 sem 7 sem 8 0 sem 9 1 sem 10 2 sem 11 0
信号量集
…
图 10-8 信号量集表与信号量表
17
第十章 UNIX系统内核结构
10.4 存 储 器 管 理 10.4.1 请求调页管理的数据结构
1、页表和磁盘描述表
物理页号 年龄 写时拷贝 修改位 访问位 有效位 保护
(a)页表项
对换设备号
设备块号
存储器类型
(b)盘块说明 图 10-9 页表项和磁盘描述表项