当前位置:首页 > 计算机操作系统复习总结-汤子瀛知识讲解
精品文档
3.管道通信系统:所谓“管道”,是指用于连接一个读进程和一个写进程以实现他们之间通信的一个共
享文件,又名pipe文件。
2.6.2消息传递通信的实现方法:
1.直接通信方式:通常,系统提供下述两条通信命令(原语):
Send(Receiver,message);发送一个消息给接收进程; Receive(Sender,message);接收Sender发来的消息;
2.间接通信方式:指进程之间的通信,需要通过作为共享数据结构的实体。该实体用来暂存发送进
程发送给目标进程的消息;接收进程则从该实体中,取出对方发送给自己的消息,通常把这种中间实体称为信箱。
信箱分为:(1)私用信箱:用户进程自己建立,信箱随拥有该信箱的进程结束而结束。
(2)公用信箱:由系统创建,并提供给系统中的所有核准进程使用,采用双向通信
链路的信箱来实现。公用信箱在系统运行期间始终存在。
(3)共享信箱:由某进程创建。
2.6.3消息传递系统实现中的若干问题 1.通信链路
第一种建立通信链路的方式:用显式的“建立连接”命令(原语)请求系统位置建立一条通信链路;在链路使用完后,也用显式方式拆除链路。这种方式主要用于计算机网络中。
第二种方式是利用系统提供的发送命令(原语),系统会自动为止建立一条链路。这种方式主要用于单机系统中。
根据通信链路的连接方法分两类:①点—点连接通信链路 ②多点连接链路 根据通信方式的不同分为两种:①单向通信链路 ②双向链路
2.消息的格式P57
3.进程同步方式:(1)发送进程阻塞、接收进程阻塞
(2)发送进程不阻塞、接收进程阻塞 (3)发送进程和接收进程均不阻塞
2.6.4消息缓冲队列通信机制P58 2.7线程
2.7.1线程的基本概念
1.线程的引入:在操作系统中引入线程的目的,是为了使多个程序能并发执行,以提高资源利用率和
系统吞吐量。那么,在操作系统中再引入线程,则是为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性。
收集于网络,如有侵权请联系管理员删除
精品文档
2.线程的属性:
(1)轻型实体(线程控制块TCB) (2)独立调度和分派的基本单位 (3)可并发执行 (4)共享进程资源
3.线程的状态:(1)状态参数P61 (2)线程运行状态P62 4.线程的创建和终止P62 5.多线程OS中的进程:
具有以下属性:(1)作为系统资源分配的单位 (2)可包括多个线程
(3)进程不是一个可执行的实体
2.7.2线程间的同步和通信P63 1.互斥锁(mutex)
2.条件变量:单纯的互斥锁用于短期锁定,主要是用来保证对临界区的互斥进入。而条件变量则用于
线程的长期等待,直至所等待的资源成为可用的。
3.信号量机制:(1)私用信号量 (2)公用信号量 2.7.3内核支持线程和用户级线程P64
2.7.4线程控制:
1.内核支持线程的实现:TCB线程控制块
2.用户级线程的实现:用户级线程是在用户空间实现的。所有的用户级线程都具有相同的结构,它
们都运行在一个中间系统的上面。当前有两种方式实现的中间系统,即运行时系统和内核控制线程。(1)所谓“运行时系统”,实质上是用于管理和控制线程的函数(过程)的集合,其中包括用于创建和撤销线程的函数、线程同步和通信的函数以及实现线程调度的函数等。(2)内核控制线程,这种线程又称为轻型进程LWP(Light Weight Process)
第四章 存储器管理
4.1程序的装入和链接 编辑→编译→链接→装入 4.1.1程序的装入
1.绝对装入方式:绝对地址,既可在编译或汇编时给出,也可由程序员直接赋
予。只适用于单道程序环境。
收集于网络,如有侵权请联系管理员删除
精品文档
2.可重定位装入方式:把在装入时目标程序中指令和数据的修改过程称为重定
位。又因为地址变换通常是在装入时一次完成的,故称静态重定位。
3.动态运行时装入方式 4.1.2程序的链接
1.静态链接方式:在程序运行之前,先将个目标模块及它们所需的库函数,链
接成一个完整的装配模块,以后不再拆开。
装入时须解决的问题:(1)对相对地址进行修改(2)变换外部调用符号 2.装入时动态链接:指是指将用户源程序编译后得到的一组目标模块,在装入
内存时,采用边装入边链接的链接方式。
优点:(1)便于修改和更新。(2)便于实现对目标模块的共享。 3.运行时动态链接:这是指对某些目标模块的链接,是在程序执行中需要该
(目标)模块时,才对它进行的链接。
4.2连续分配方式:
连续分配方式,是指为一个用户程序分配一个连续的内存空间。 4.2.1单一连续分配 4.2.2固定分区分配:
1.划分分区的方式:(1)分区大小相等(2)分区大小不等
2.内存分配:通常将分区按大小进行排队,并为之建立一张分区使用表。其中各项包括每个分区的
起始地址、大小及状态(是否已分配)。
4.2.3动态分区分配:动态分区分配是根据进程的实际需要,动态地为之分配内存空间。
1.分区分配中的数据结构:(1)空闲分区表(2)空闲分区链 2.分区分配算法:
(1)首次适应算法FF:FF算法要求空闲分区链以地址递增的次序链接
(2)循环首次适应算法:从上次找到的空闲分区的下一个空闲分区开始查找,减少了开销,但会
缺乏大的空闲分区。
收集于网络,如有侵权请联系管理员删除
精品文档
(3)最佳适应算法:所谓“最佳”是指每次为作业分配内存时,总是能把满足要求,又是最小的空闲
分区分配给作业,避免“大材小用”。
3.分区分配操作:在动态分区存储管理方式中,主要的操作是分配内存和回收内存。
4.2.4可重定位分区分配P110
1.动态重定位的引入 2.动态重定位的实现 3.动态何从定位分区的分配算法
4.2.5对换(Swapping)
1.对换的引入:所谓“对换”,是指把内存中暂时不能运行的进程或者暂时不用的程序和数据,调出到外存
上,以便腾出足够的内存空间,再把已具备运行条件的进程或进程所需要的程序和数据,调入内存。
2.对换空间管理:P113
有具有对换功能的OS中,通常把外存分为文件区和对换区。前者用于存放文件,后者用于存放从内存换出的进程,对对换空间管理的主要目标,是提高进程换入和换出的速度。为此采取的是连续分配方式。
3.进程的换出和换入
4.3基本分页存储管理方式
连续分配方式会形成许多“碎片”,如果允许将一个进程直接分散地装入到许多不相邻接的分区中,则无须再通过“紧凑”将许多碎片拼接成可用的大块空间。基于这一思想而产生了离散分配方式。如果离散分配的基本单位是页,则成为分页存储管理方式;如果离散分配的基本单位是段,则称为分段存储管理方式。
再分页存储管理方式中,如果不具备页面对换功能,则称为基本的分页存储管理方式,或称为纯分页存储管理方式,它不具有支持实现虚拟存储器的功能,它要求把每个作业全部装入内存后方能运行。 4.3.1页面与页表 1.页面
1)页面和物理块:分页存储管理,是将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页,并为各页加以编号,相应地,也把内存空间分成与页面相同大小的若干个存储块,称为(物理)块或页框(frame),也同样为它们加以编号。
2)页面大小:页面大小应是2的幂,通常为512B~8KB
收集于网络,如有侵权请联系管理员删除
共分享92篇相关文档