操作系统
文章平均质量分 71
萌小宏
情不知所起,一往而深
展开
-
管程机制处理进程同步问题
进程同步机制有很多,主要有PV操作和信号量,管程,以及消息传递等。由于PV操作的使用分散在各个进程之中,不利于对临界资源的统一管理,还有PV操作的使用需要小心,若顺序不对,或忘一个没写,很容易陷入死锁,所以,管程就能解决上面问题。管程的基本思路是:将分散在各个进程中的临界区集中起来进行统一控制和管理,并且将系统中的共享资源用数据结构抽象的描述出来,然后对临界区的访问通过管程进行统一原创 2016-10-10 14:30:18 · 4293 阅读 · 0 评论 -
几种磁盘调度算法的讲解
一、磁盘调度主要思想设备的动态分配算法与进程调度相似,也是基于一定的分配策略的。常用的分配策略有先请求先分配、优先级高者先分配等策略。在多道程序系统中,低效率通常是由于磁盘类旋转设备使用不当造成的。操作系统中,对磁盘的访问要求来自多方面,常常需要排队。这时,对众多的访问要求按一定的次序响应,会直接影响磁盘的工作效率,进而影响系统的性能。访问磁盘的时间因子由3部分构成,它们是查找(查找磁道)时间原创 2016-12-07 20:31:29 · 12145 阅读 · 0 评论 -
哈夫曼树详解
二叉树中有一种特别的树——哈夫曼树(最优二叉树),其通过某种规则(权值)来构造出一哈夫曼二叉树,在这个二叉树中,只有叶子节点才是有效的数据节点(很重要),其他的非叶子节点是为了构造出哈夫曼而引入的!哈夫曼编码是一个通过哈夫曼树进行的一种编码,一般情况下,以字符:‘0’与‘1’表示。编码的实现过程很简单,只要实现哈夫曼树,通过遍历哈夫曼树,规定向左子树遍历一个节点编码为“0”,向右遍历一个节原创 2016-12-05 20:23:55 · 5315 阅读 · 1 评论 -
文件管理
要求:创建一个新文件,文件内容为本班所有同学的学号、姓名、操作系统课程成绩,要求采用有格式的存储方式;文件建立后,能对文件进行插入、删除、查找等操作。#include #include #include //#include int NUM = 0;struct student{ char num[20];// 学号 char nam[20];// 姓名原创 2016-12-02 14:59:51 · 468 阅读 · 1 评论 -
进程的基本概念和进程控制
一、 进程控制理论 什么是进程?什么是多进程?进程的分类? 进程和程序的区别? linux进程管理,有哪些管理工具?作用? 进程的三态是什么?进程的结构有哪些? 进程的调度算法有哪些?什么是优先级反转? 什么是死锁?什么是同步?什么是互斥? 进程的退出 进程退出有几种方式?有什么区别? 掌握exit和_exit的转载 2016-10-31 19:03:06 · 6422 阅读 · 0 评论 -
操作系统的哲学家就餐问题
今天我们来看一下哲学家就餐问题,这是很好的检测新设计出的进程同步原语的功能和性能。问题:有5个哲学家,他们围坐在一张圆桌旁,哲学家只有三种状态,思考,等待筷子,吃面条。每个哲学家面前有一只空盘子,每两个哲学家之间有一支筷子,共五支筷子,每个人只能拿自己旁边的筷子,哲学家只能拿到两只筷子才能吃面条,当一个哲学家饿了,他就试图拿他最近的两支筷子,每次只能拿一支,次序不限,当他成功拿到两支筷原创 2016-10-06 10:57:08 · 5141 阅读 · 0 评论 -
进程的相关概念
进程的概念进程是一个具有一定独立功能的程序的一次运行活动,同时也是资源分配的最小单元进程与程序的关系程序是放到磁盘的可执行文件,进程是指程序执行的实例进程是动态的,程序使静态的进程是暂时的,程序使长久的进程与程序组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。进转载 2016-10-17 21:55:39 · 336 阅读 · 0 评论 -
操作系统中生产者/消费者问题(一)
生产者/消费者是个典型的进程同步问题,只有生产者生产出来东西了,消费者才能消费也就是说,生产者生成出来一个东西,然后通知消费者,(东西好了,快来拿吧),而消费者则查看缓冲器里面有没有东西,若没有则会通知生产者生产东西,这样一个钟相互合作的进程同步问题。一、一个生产者,一个消费者,一个缓冲器分析:首先需要一个信号量用于计数剩余空的缓冲器的数量sp = 1。需要一个存放数据原创 2016-09-29 19:38:03 · 7646 阅读 · 1 评论 -
操作系统生产者/消费者问题(二)
继续我们昨天的问题三、m个消费者,r个消费者和n个缓冲器分析:现在是m个生产者在生产了产品向缓冲器存放时,由于只有一个指示位置的共享变量k,所以那些所有的生产者需要互斥访问共享变量k,即同一时刻只能有一个访问,同理消费者共享了指示位置的t,所有消费者也要互斥访问共享变量t,显然生产者需要一个一个的去缓冲器中存放物品,而消费者需要一个一个的到缓冲器中存放物品,但现在有两种解法的点在于原创 2016-09-30 15:47:05 · 2515 阅读 · 0 评论 -
操作系统的优先读者和优先写着的读者/写着问题
读者写着是由Courtois在1971年提出的一个经典的进程同步问题,他为并发环境下访问一个文件或数据表的数据集建立一个可以普遍使用的模型,对目前广泛运用的多用户或分布式数据库具有直接意义。读者/写着问题可以分成两种类型,即优先读者的读者/写着问题和优先写着的读者/写着问题一、优先读者分析:读者可以共享 写着互斥原创 2016-09-28 16:28:49 · 2225 阅读 · 3 评论 -
操作系统的进程管理(c语言模拟)
今天就更一下,模拟进程管理程序。#include#include#include#include//#define NULL 0int shumu=0;//进程的内容结构体struct node{ char a[20]; //int a; // char ch;};typedef struct node Node; //进程PCB结构体struc原创 2016-10-12 12:30:33 · 17921 阅读 · 1 评论 -
汉森实现管程的实例
一、管程来解决生产者/消费者问题1)Struct Monitor{ condition NF,NE; int Buffer[n]; int k = 0,t = 0,count = 0; define Add(int),Remove(int); use wait(),signal(),check(),release(); void in原创 2016-10-11 08:59:49 · 1601 阅读 · 0 评论 -
32位操作系统与64位操作系统有区别?
第一,设计初衷不同。64位操作系统的设计初衷是:满足机械设计和分析、三维动画、视频编辑和创作,以及科学计算和高性能计算应用程序等领域中需要大量内存和浮点性能的客户需求。换句简明的话说就是:它们是高科技人员使用本行业特殊软件的运行平台。而32位操作系统是为普通用户设计的。 第二,要求配置不同。64位操作系统只能安装在64位电脑上(CPU必须是64位的)。同时需要安装64位常用软件以发挥64位(原创 2017-01-02 09:53:38 · 486 阅读 · 0 评论