操作系统
Child_heart
这个作者很懒,什么都没留下…
展开
-
经典进程的同步问题:生产者-消费者问题
1.生产者-消费者问题 假定在生产者和消费者之间的公用缓冲池中具有n个缓冲区,消费者不能同时取一个缓冲区的产品,生产者不能同时向同一个缓冲区放入产品。只有缓冲区中有产品时,消费者才可以取产品,只有缓冲区有空时,生产者才可以放入产品。消费者与生产者也不能同时对同一个缓冲区进行操作。int in=0,out=0;item buffer[n];semaphore mutex=1,em...原创 2018-09-26 10:43:14 · 2971 阅读 · 2 评论 -
第三章 实时调度
一,实时系统1,指系统能够在限定的响应时间内提供所需水平的服务。2,指计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足,将会发生系统出错。3,实时任务:具有明确时间约束的计算任务,有软/硬,随机/周期性之分。 硬实时任务:必须满足任务对截止时间的要求 。 软实时任务:联系着一个截止时间,但不严格,可偶尔错过,不会对系统造成大的...原创 2018-10-28 12:35:54 · 357 阅读 · 0 评论 -
第3章 处理机调度与死锁
1,死锁指多个进程在运行过程中,因争夺资源而造成的一种僵局。当进程处于这种状态时,若无外力作用,它们都将无法再向前推进。2,死锁与饥饿的区别死锁(Deadlock): 指进程之间无休止地互相等待(堵塞状态)饥饿(Starvation):指一个进程无休止地等待(运行状态)3,产生死锁的原因1)死锁发生:双方都拥有部分资源,同时在请求对方已占有的资源。2)请求推进的次序与对...转载 2018-10-28 13:25:21 · 328 阅读 · 0 评论 -
第四章 存储器管理 程序的装入和链接
一,程序的装入和链接1,程序进内存的一般过程:1)编译compiler:编译程序:将用户源代码编译成若干个目标模块。2)链接link:链接程序:将形成的一组目标模块,及它们需要的库函数链接在一起,形成一个完整的装入模块。3) 装入load:由装入程序将装入模块装入内存,构造PCB,形成进程,开始运行(使用物理地址)。2,地址的概念1)逻辑地址(相对地址,虚地址)用户...转载 2018-10-30 16:28:09 · 293 阅读 · 0 评论 -
第4章 存储器管理 连续分配存储管理方式
一,连续分配存储管理方式1,连续分配方式为一个用户程序分配一个连续的内存空间(1)单一连续分配内存分为系统区和用户区两部分: 系统区:仅提供给OS使用,通常放在内存低址部分用户区:除系统区以外的全部内存空间,提供给用户使用。最简单的一种存储管理方式,只能用于单用户、单任务的操作系统中。 优点:易于管理。 缺点:对要求内存空间少的程序,造成内存浪费;程序全部装入,很少...转载 2018-10-30 16:52:57 · 605 阅读 · 0 评论 -
第四章 分页存储管理方式
一,存储管理的离散分配方式基本分页存储管理基本分段存储管理段页式存储管理二,基本分页存储管理离散分配内存:作业规定大小划分成小份;内存也按同样大小划分成小份 作业的任一小份可分散放入内存任意未使用的小份1)页面的概念内存划分成多个小单元,每个单元K大小,称(物理)块。作业也按K单位大小划分成片,称为页面。物理划分块的大小 = 逻辑划分的页的大小页面大小要...转载 2018-10-30 17:19:10 · 2033 阅读 · 0 评论 -
第5章 虚拟存储器
一,虚拟存储器的基本概念1,常规存储器管理不足的原因: 1)常规存储器管理方式的特征 一次性: 作业在运行前一次性地全部装入内存 驻留性:作业装入内存后,便一直驻留在内存中,直至作业运行结束。 2)局部性原理 程序在执行时将呈现出局部性规律: 在一较短的时间内 程序的执行仅局限于某个部分; 相应地,所访问的存储空间也局限 于某个区域。...转载 2018-11-06 21:18:55 · 610 阅读 · 1 评论 -
第6章 设备管理
六,用户层的I/O软件小部分I/O系统软件放在了用户应用层上。 ■库函数(与应用程序链接) ■假脱机技术(虚拟设备)1)系统调用与库函数不允许运行在用户态的应用进程,去直接调用运行在核心态(系统态)的OS过程。 应用进程在运行时,又必须取得OS所提供的服务。 于是: OS在用户层中引入了系统调用,应用程序可以通过它,间接调用OS中的I/O过程,对I/O设备进行操作。...转载 2018-11-20 16:51:42 · 332 阅读 · 0 评论 -
第 七 、八 章 文件与磁盘空间管理
一、文件和文件系统文件管理:把所管理的程序和数据组织成一系列的文件,并能进行合理的存储、使用等操作。1 )基本概念数据项:描述对象某种属性的字符集;是数据组织中可以命名的最小逻辑数据单位。记录:一组相关数据项集合,描述对象某方面的属性;关键字:一个记录中的一个或几个数据项的集合,用于唯一的标识一个记录。文件:由创建者定义的、具有文件名的一组相关元素的集合。 ■有结构:...转载 2018-11-21 17:50:13 · 823 阅读 · 0 评论 -
第二章 线程
一,线程1.将进程划分为多个功能单位调度执行。A a1 a2 a3 B b1 b2 b3 主要体现在切换效率的提高上可以切换到an上继续执行,避免切换到B,节约切换开销。2.多线程系统中,同一个进程中的多个线程 共享进程资源 可并发执行3,线程的属性 (1)多线程OS中,一个进程包括多个线程,每个线...原创 2018-10-10 20:22:13 · 169 阅读 · 0 评论 -
第二章 进程通信
一,进程通信是指进程之间的信息交换。(1)低级通信——进程之间的互斥和同步 信号量机制是有效的同步工具,但作为通信工具缺点如下: (1)效率低(通信量少) (2)通信对用户不透明(程序员实现,操作系统只提供共享存储器供代码操作)(2)高级进程通信 用户直接利用操作系统提供的一组通信命令,高效地传送...原创 2018-10-10 20:10:50 · 509 阅读 · 0 评论 -
计算机操作系统——管程
一.什么是管程1.1973年,Hoare和Hanson提出管程思想: 将共享变量及对共享变量能够进行的所有操作集中在一个模块中。(把信号量及其操作原语“封装”在一个对象内部) 二.管程的组成管程需要封装 (1)一组局部变量 (2)对局部变量操作的一组过程(2)对局部变量进行初始化的语句。三.管程的特点1.任何进程只能通过调用管程提供的过程入口才能进入管程访问...原创 2018-10-10 19:37:10 · 2411 阅读 · 0 评论 -
经典进程的同步问题-哲学家进餐问题
哲学家进餐问题五个哲学家共用一张圆桌,分别坐在周围的五张椅子上,在桌子上有五只碗和五只筷子,他们的生活方式是交替地进行思考和进餐。平时,一个哲学家进行思考,饥饿时便试图取用其左右最靠近他的筷子,只有在他拿到两只筷子时才能进餐。进餐毕,放下筷子继续思考。1.让一个哲学家先不吃。semaphore chopstick[5]={1,1,1,1,1};//第i位哲学家do{ wait...原创 2018-09-26 11:08:10 · 1408 阅读 · 0 评论 -
进程控制的经典问题:读者写者问题
读者——写者问题一个数据文件被多个进程共享。Reader进程只要求读文件,Writer进程要求写入内容。合理的同步关系是:多个读进程可同时读;Writer进程与任何其他进程(包括Reader进程或其他Writer进程)不允许同时访问文件。semaphore rmutex=1,wmutex=1;int readcount=0;//读者的数量读者Reader : begin...原创 2018-09-26 11:36:12 · 878 阅读 · 0 评论 -
经典进程同步问题:卡车装水
两个工人需要对十辆卡车装水,每辆卡车装满20桶水时离开,然后下一辆卡车进来。分析:10辆卡车是前一辆装满水,下一辆才能开进来,所以卡车之间的关系是互斥的。 两个工人当卡车没有装满时,可以同时向卡车装水。empty=0;go=0;mutex1=1;int in=0;卡车类:int car(){ while(1){ wait(mutex1);/...原创 2018-09-26 19:42:46 · 279 阅读 · 0 评论 -
操作系统——第二章 进程同步
原创 2018-09-22 11:33:43 · 242 阅读 · 0 评论 -
操作系统——第二章 进程控制
原创 2018-09-22 11:28:39 · 243 阅读 · 0 评论 -
操作系统—第一章 操作系统的基本特性
原创 2018-09-22 11:22:39 · 280 阅读 · 0 评论 -
操作系统——第一章
原创 2018-09-22 11:19:30 · 177 阅读 · 0 评论 -
第三章 处理机调度与算法
一,处理机调度: 多道程序环境下,动态的把处理机分配给就绪队列中的一个进程使之执行。 作用:提高处理机的利用率、改善系统性能,很大程度上取决于处理机调度的性能。二,处理机调度的基本概念 作业进入系统驻留在外存的后备队列上,再至调入内存运行完毕,可能要经历下述三级调度。 1.高级调度(High Scheduling) ...原创 2018-10-16 20:32:57 · 254 阅读 · 0 评论 -
第6章 设备管理
四,设备驱动程序设备驱动程序是I/O系统的高层与设备控制器之间的通信程序,其主要任务:(1)接收上层软件发来的抽象I/O要求,如read、write等命令;(2)再把它转化为具体要求,发送给设备控制器,启动设备去执行。(3)反方向,它也将由设备控制器发来的信号,传送给上层软件。1.驱动程序的功能(1)接收由与设备无关的软件发来的命令和参数,并将命令中的抽象要求,转换为与设备...转载 2018-11-20 11:16:56 · 384 阅读 · 0 评论