进程: 1、一个挂起的进程包含两个部分: 1)核心映像——即进程的地址空间(可执行程序,程序的数据及堆栈) 2)进程表项——操作系统管理的进程表中的一项(与进程相关的寄存器,程序计数器,指针以及其他硬件) 3)进程分三段:正文段(代码段)、数据段、堆栈段 2、与进程创建和终止相关的系统调用: 1)若一个进程创建子进程,子进程又可以创建子进程,则进程关系呈树状。 2)为某一任务而合作的进程间需要通信以同步操作,这种通信称为进程间通信。 3、进程与文件的区别 1)进程在任意时刻拥有一个当前工作目录,非正斜杠表示的路径名均从当前工作目录开始搜索。 2)Minix文件与目录通过9bit的安全码进行访问保护,每三位一组,分别为 文件主-同组用户-其他用户,例如:rwxr-x--x表示文件主可以读写执行,同组用户可以读与执行,其他用户只能执行。 4、进程销毁: 1)当一个进程销毁/结束时,内存管理器首先更新它那一部分进程表,然后向文件系统和核心发送相关消息,以通知他们进行相关操作。 Minix文件系统: 1、Minix系统中拥有一个根目录Root,并支持从驱动器上安装目录系统。 2、设备文件 1)使IO设备看起来更像文件 2)设备文件分两类,块设备文件、字符设备文件。 管道(pipe): 1、管道是用来连接两个进程的虚拟文件 2、外壳(shell——命令解释器): 1、命令解释器并不是操作系统组成的一部分,但其反应了操作系统的特性,并很好的说明了系统调用的具体用法。 2、sort file2 将标准输入重定向, sort将file1 作为输入,并将结果存入file2 系统调用: 1、当用户键入一条指令如:cp file1 file2 时,shell创建一个新进程,并通过exec系统调用将新进程的核心映像替换为参数中指定的可执行文件(cp拷贝程序) 。 2、信号管理系统调用: 1)进程可以接受来自系统的信号,若进程未声明愿意接收某信号,则该进程只是单纯的被撤销。 2)进程可以通过SIGACTION系统调用来声明它准备接受某些类型的信号。并同时提供信号处理过程(方法、函数)的地址。操作系统结构: 1、整体式系统:一堆过程的集合。 2、层次式系统:分层系统更加偏向于简化系统的设计,而实际中分层系统依然是将不同层次链接为一个完整的单个目标程序。 消息传递: 1、进程调度: 1、时间片轮转调度: 1)时间片轮转调度通过维护一个就绪进程列表进行时间片分配 2)时间片轮转调度缺点:为了提高cpu利用率,不至于浪费时间在上下文切换中,就必须将时间片设长,而这样会导致最后的进程等待时间过长。 3)时间片通常设为100ms 2、优先级调度: 1)优先级调度算法通过给每一个进程设置优先级,并在每一次运行其时间片后降低其优先级,使得动态的照顾其他低优先级的进程。 2)系统将优先级相同的进程分为一组,然后根据组别来分配时间片,而优先级相同的一组进程互相之间采用时间偏轮转算法。 3、最短作业优先: 1)最短作业优先算法通过“老化”算法——通过上一次运行时间以及系数,推断下一次运行需要的时间使得平均等待时间缩短。Minix的boot: Minix系统本身就是一个大进程,用户进程都为其孙子进程,与其它操作系统一样,通过bios将第一扇区的内容读入内存,然后再将更大的启动程序读入内存,逐步将完整系统放入内存并启动。 10-09 14:00