操作系统笔记

进程

进程是拥有资源的基本单位。

进程特征
1.动态性:进程是程序的一次执行,有着创建,活动,暂停,终止等过程,具有一定的生命周期。
2.并发性:多个进程实体可以同时存于内存中,在一段时间内同时运行。
3.独立性:进程实体是一个能独立运行获得资源和接受调度的单位。
4.异步性:进程之间相互制约,进程按各自独立,不可预知的速度向前推进。(操作系统需要提供进程同步机制)
5.结构性:每个进程都配有一个PCB对其进行描述(进程实体由程序段,数据段和进程控制块(PCB)组成)

进程的状态与转换:运行态,就绪态,阻塞态,创建态,结束态。创建态可以转换到就绪态,就绪态可转换到运行态(运行),运行态可以转换到阻塞态(阻塞)或就绪态(时间片用完),阻塞态可以转换到就绪态(得到资源),运行态到结束态。
父子进程PCB不同。子进程可以继承父进程拥有的资源,子进程被撤销时资源归还给父进程。父进程撤销时所有子进程都要被撤销。

进程切换
1.保存处理机上下文,包括程序计数器和其他寄存器。
2.更新PCB信息。
3.把进程PCB移入相应队列(就绪,阻塞队列)。
4.选择另一个进程执行,更新其PCB。
5.更新内存管理的数据结构。
6.恢复处理机上下文。

进程通信
1.共享存储:通信进程之间存在一块可直接访问的共享空间,通过对这块空间进行读写实现进程通信,访问共享空间时需要使用同步互斥工具(PV操作等)。有基于数据结构的共享(低级)和基于存储区的共享(高级)。
2.消息传递:在消息传递系统中,进程间的数据交换是以格式化的消息为单位。利用操作系统提供的消息传递方式实现进程通信。进程通过系统提供的发送消息和接收消息两个原语进行数据交换。消息传递还分1.直接通信方式:双发直接把数据发送给对方,收到的数据会挂在接收进程的消息缓冲队列上,接收进程从消息缓冲队列中取得数据。2.简介通信方式:发送进程把消息发送到某个中间实体,接收进程从中间实体中取得消息。(这种中间实体一般称为信箱这种通信方式又叫信箱通信方式,广泛应用于计算机网络中,相应的通信系统叫电子邮件系统)
3.管道通信:消息传递的一种特殊方式。”管道“是指连接发送进程和接收进程以实现它们之间的通信的一个共享文件,又叫pipe文件。发送进程以字符流形式将数据写入管道,接受进程从管道中取出数据。管道是半双工通信,管道还提供 互斥,同步,和确定对方存在的能力。管道有容量上限,当管道没满时,写进程才能写入数据,管道未空时,读进程才能读数据。读数据是一次性的(读取之后,数据从管道中被抛弃)。

进程调度方式分抢占式和非抢占式

调度算法
1.先来先服务调度算法(FCFS)
2.短作业优先调度算法(SJF)
3.优先级调度调度算法
4.高响应比优先调度算法
5.时间片轮转调度算法
6.多级反馈队列调度算法

线程

进程是独立调度的基本单元。引入线程是为了减小程序在并发执行时所付出的时空开销,提高操作系统的并发性能。

线程与进程比较
1.调度:进程是拥有资源的基本单位,线程是独立调度的基本单位。
2.拥有资源:进程是拥有资源的基本单位,线程只拥有一点必不可少的资源。线程可以访问其隶属进程的系统资源。
3.并发性:进程和线程都可并发执行,线程使操作系统具有更好的并发性,提高系统吞吐量。
4.系统开销:创建和撤销进程时,系统都要为之分配和回收资源,而且进程切换涉及当前执行进程CPU环境的保存及新调度到进程CPU环境的设置,开销很大。而线程切换只需要保存和设置少量寄存器内容,开销很小。由于同一个进程内的多个线程共享进程的地址空间,因此这些线程之间的同步与通信很容易实现。
5.地址空间和其他资源:进程的地址空间之间互相独立,同一进程的各线程间共享进程的资源,某进程内的线程对其它进程是不可见的。
6.通信方面:进程间通信需要进程同步互斥手段辅助,以保证数据的一致性,而(同一个进程内的)线程间可以直接读写进程数据段(全局变量等)来通信。

线程的属性
1.线程是一个轻型实体,它不拥有资源(只拥有一点必不可少的资源),每个线程都有一个唯一的标识符和一个线程控制块,线程控制块记录了线程执行的寄存器和栈等现场状态。
2.不同的线程可以执行相同的程序,同一个服务程序被不同的用户调用时,操作系统把他们创建成不同的线程。
3.同一个进程中的各个线程共享该进程所拥有的资源。
4.线程是处理机的独立调度单位,多个线程可以并发执行。
5.一个线程被创建后,便开始了它的生命周期,直至终止。
线程分用户级线程(由应用程序完成)和内核级线程(由内核完成)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值