吉林大学操作系统课件第十二章unix操作系统1概要

上传人:今*** 文档编号:108196285 上传时间:2019-10-22 格式:PPT 页数:65 大小:257.50KB
返回 下载 相关 举报
吉林大学操作系统课件第十二章unix操作系统1概要_第1页
第1页 / 共65页
吉林大学操作系统课件第十二章unix操作系统1概要_第2页
第2页 / 共65页
吉林大学操作系统课件第十二章unix操作系统1概要_第3页
第3页 / 共65页
吉林大学操作系统课件第十二章unix操作系统1概要_第4页
第4页 / 共65页
吉林大学操作系统课件第十二章unix操作系统1概要_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《吉林大学操作系统课件第十二章unix操作系统1概要》由会员分享,可在线阅读,更多相关《吉林大学操作系统课件第十二章unix操作系统1概要(65页珍藏版)》请在金锄头文库上搜索。

1、第十二章 UNIX操作系统,历史回顾(Historical Perspective) 系统结构(System Structure) 进程管理(Process Management) 存储管理(Memory Management) 文件系统(File System) 设备管理(Device Management) 系统调用(System Calls) 外壳语言(Shell),12.1 历史回顾,1969年由美国Bell实验室的两名程序员K.Thompson和 D.M.Ritchie设计 ; 最初该系统是采用汇编语言编写的 . incorporated features of other oper

2、ating systems, especially MULTICS. 后来二人专门为UNIX设计了C语言,并用它重新改写了UNIX中的大部分源代码, 形成第三版 .,12.1 历史回顾,在70年代初期, UNIX在Bell实验室及许多大学中获得了广泛的应用, 这也促进了UNIX系统的进一步发展 . 1973年推出第五版 1976年推出第六版 1978年第七版正式发行 . 由于UNIX结构良好,并被迅速地移植到Interdata 8/32及VAX等机器上,第1版(1971),第3版(1973),第6版(1975),第7版,第8版,第9版,SVR4(1989),IBM AIX,SystemIII(

3、1982),SystemV(1983),SVR2(1984),SVR3(1987),1BSD(1978),2BSD(1978),3BSD(1979),4.0BSD(1980),4.4BSD(1993),Sun Solaris,第10版,发展与版本:,12.2系统结构,路由选择,终端,终端,UNIX系统组成,系统进程(#0,#2),系统调用(中断,trap),内核部分,内核由两类模块构成 被动的, 即普通模块 主动的, 即进程模块 普通模块 进程控制 文件管理 存储管理 设备管理 原语管理 中断处理 处理机管理 系统初启,内核部分,进程模块 process #0交换进程(sched) proce

4、ss #1初始进程(init) 交换进程及初始进程是两个系统进程, 它们运行操作系统核心程序, 完成操作系统的某些功能.,外壳部分,外壳部分运行命令解释程序, 读入、解释并处理终端用户键入的命令. 将命令解释程序由操作系统核心中分离出来的好处在于: 缩减操作系统内核的规模 不同用户可以使用不同的外壳,12.3 进程管理,进程组成 进程控制块 进程状态与状态转换 进程调度 进程互斥 进程同步 进程通讯,12.3.1 进程组成(映像),Proc 结构,Text结构,系统空间,用户空间,User结构,系统栈,进程堆栈,进程数据,进程代码,常驻内存部分,内外存交换部分,系统空间,12.3.2 进程控制

5、块,Proc结构 所保存的信息无论当进程在内存时还是在外存时都是需要的 . User结构 所保存的信息仅当进程在内存时才是需要的, 因而可以与进程的程序一起被移到外存.,struct proc char p_stat; char p_flag; char p_pri; char p_sig; /signal received char p_uid; /user id char p_time; /resident time for scheduling char p_cpu; /cpu usage char p_nice; /nice for scheduling char p_ttyp; /c

6、ontrolling tty int p_pid; /unique process id int p_ppid; /parent process id int p_addr; /address of swappable image int p_size; /size of swappable image (*64bytes) int p_wchan /event process is waiting int *p_textp; /pointer to text structure ,struct user int u_rsav2 int u_fsav25 char u_uid; / effec

7、tive user id char u_gid; / effective group id char u_ruid; / real user id char u_rgid; / real group id int u_procp; / pointer to proc structure int *u_base; / base address for IO int *u_count; / bytes remaining for IO int *u_offset2; / offset in file for IO int *u_cdir; / pointer to inode of current

8、 dir int *u_pdir; / inode of parent directory int u_uisa16; / prototype segmentation address,int u_uisd16; / prototype segmentation descript int u_ofileNOFILE; / pointers to file struct int u_arg5; / arguments to system call int u_tsize; / text size (*64) int u_dsize; / data size (*64) int u_sszie;

9、/ stack size (*64) int u_utime; / this process user time int u_stime; / this process system time int u_cutime2; / child process user time int u_cstime2; / child process system time ,struct text int x_daddr; /disk address of segment int x_caddr; /core address if loaded int x_size; /*64 int *x_iptr; /

10、inode of prototype char x_count; /reference count char x_ccount; /number of loaded references ,12.3.3 进程状态及其转换,p_state define null 0 define SSLEEP 1 define SWAIT 2 define SRUN 3 define SIDL 4 define SZOMB 5 define SSTOP 6,p_flag define SLOAD 01 define SSYS 02 define SLOCK 04 define SSWAP 010 define

11、STRC 020 define SWTED 040,Subset of : p_state p_flag system mode,进程状态及其转换,换出,结束跟踪,结束跟踪,换入/出,换出,唤醒,fork,处理机分派,跟踪,等待,终止,置PSW,SRUN LOAD user,SRUN LOAD kernel,SIDL,中断,睡眠,换出,唤醒,内存够,内存不够,SZOMB,SSLEEP LOAD,SWAIT LOAD,SRUN LOAD,SSTOP LOAD,SSLEEP SWAP,SWAIT SWAP,SRUN SWAP,SSTOP SWAP,唤醒,结束跟踪,唤醒,结束跟踪,12.3.4 进程

12、调度,调度策略 Dynamic Priority based (Low number high priority) Preemptive Aging (no starvation) 调度算法 USER:100 p_cpu:运行进程,每20ms加1; 其它进程,每1200ms减10 p_nice: 用户进程:020,系统进程:-2020,进程调度实现,进程P(用户态),进程P(核心态),进程(核心态),进程(用户态),中断,中断处理 调度 上下文切换,置PC,PSW,12.3.5 进程互斥,经典UNIX系统 机制 关中断互斥(提高处理机优先级) 特点 简单 开销小 影响并发性 关中断后代码很短,

13、12.3.6 进程同步,进程同步: 当一个进程因某种原因不能继续运行时, 它便等待在某一个事件上, 即将等待事件记在p_wchan变量上,进入SWAIT或SSLEEP状态 当对应事件发生时,系统唤醒等待于该事件上的所有进程 竞争条件 : 事件发生可能先于等待 . 事件将被丢失 . 忙式等待 被唤醒进程可能再次等待,12.3.7 进程通讯,信号 (signal) From process to process From event to process 管道(pipe) Unnamed file Named pipe socket通讯 Endpoint communication Suitabl

14、e for network,Few UNIX systems permitted shared memory because the PDP-11 hardware did not encourage it,信号(signal),特点 简单信号(类似软中断,共20个) 异步通讯 信号来源 异步事件 key board interrupt, error, timer, etc. 进程,系统调用(如kill) from process to process, or from terminal to process 使用 信号处理程序的定义 信号的发送与接收 信号的处理,信号(signal),信号处

15、理程序的定义 系统调用signal(sig,func)预置, 其中sig为019的信号值,func为处理程序的地址 该系统调用的作用是u_signalsig=func. 当func为0时接收信号进程终止自己; 当func为奇数时忽略信号; func为偶数时为处理程序入口 进程初创时自动继承其父进程的信号处理程序,信号(signal),信号的发送与接收 进程实际接收到的信号被记载在p_sig中 由于p_sig常驻内存,因而在任何时刻均可接受到信号. 信号可能来自进程,也可能是事件,如键盘中断信号、错误、定时器 处于等待状态的进程在接收到信号后一般将被唤醒,信号(signal),信号的处理 接收到信号的进程在适当时刻(被调度选中由核态转到目态),发现p_sig中记录有接收到的信号,根据u_signalp_sig的值确定对信号的处理. 接收信号的进程也可以忽略信号(u_signalp_sig=奇数). 对多数信号的缺省处理动作是终止收到信号的进程. 信号很象允许用户程序在目态处理的中断.,管道(Pipe),特点 经典UNIX最有特色的通讯机制

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号