进程的特征和状态:
结构状态:进程的实体是有程序段,相关的数据段和PCB三部分组成。
动态性:因创建而生,有调度而执行,有撤销而消亡。
并发性,独立性和异步性
PCB
OS中最重要的记录性数据结构,OS是根据PCB来对并发执行的进程进行控制盒管理的,PCB是进程存在的唯一标志。
PCB中的信息:1进程标示符(内部标示符,操作系统给每一个进程赋予的一个数字表示符和外部标示符,创建者提供字母数字组成)2处理机的状态(运行时信息保存在寄存器中,中断时 保存在PCB中)3进程调度信息(进程状态,优先级,所需的其他信息,事件)4进程的控制信息(程序和数据地址,进程的同步和通信机制,资源清单,连接指针)
进程同步:空闲让进,忙则等待,有限等待,让权等待
信号量的引用:实现进程互斥,实现前趋关系实现进程同步
信号量要访问临界资源的进程都自带同步操作wait和signal使大量的同步操作分布在进程中管理麻烦,会因操作不但产生死锁,引入了管程。
系统中的各种软件和硬件资源都可以用数据结构抽象的描述资源特性。管程:代表共享资源的数据结构,以及有对该共享数据结构实施操作的一组过程组成资源管理程序,共同构成了操作系统的资源管理模块。
设置进程为了实现系统的并发性,管程是解决共享资源的互斥使用问题。进程通过管程实现操作,是调用关系。
进程通信:
通信类型:共享存储器系统(基于共享数据结构通信和基于共享存储区),消息传递系统和管道系统
共享数据结构通信给程序员增加了负担,而且低效。基于共享存储区:可以想读写存储器一样
消息系统:数据交换是以一定的格式化的消息(报文),隐藏了通信细节,简化了通信程序的复杂度(直接通信和间接通信)间接通信要共享数据结构实体(信箱)存放消息
管道通信:管道:一个连接读进程和写进程一个共享文件(UNIX系统)
线程:轻型实体,独立调度和分派的基本单位,可并发执行,共享进程资源
线程状态:状态参数(寄存器状态,包括程序计数器PC和堆栈指针内容;堆栈,保存有局部变量和返回地址;线程运行状态;优先级;线程专有寄存器,用于局部变量拷贝;信号屏蔽)线程运行状态。
线程间的同步和通信:互斥锁,条件变量,计数信号量,多读单写锁。
内核支持线程(TCB)。