操作系统基础
dreamstone
这个作者很懒,什么都没留下…
展开
-
经典IPC问题(读者写者问题)
读者写者问题是建立在数据库访问模型上的:例如飞机订票系统其中多个进程想读写数据库为了保证不出错需要满足一条:当一个进程写的时候,所有的其它进程都不能再读和写实现方法一:当一个写进程到来的时候,如果有读或者写进程就不进入当一个读进程到来的时候,如果没有读进程,就进入也就是读可以同时,写是排它的。问题:试想每个读进程持续5秒,每2秒进来一个读进程,这样写进程就永远进不来了实现方法二:当一个写进程来的时原创 2006-08-08 00:56:00 · 1133 阅读 · 0 评论 -
死锁
引发死锁的条件:必须满足以下四种条件1,互斥条件,每个资源要么已经分配给一个进程,要么就是可用的。2,占有等待条件,已经得到了某个资源的进程可以再请求新的资源 3,不可抢占条件,已经分配给一个进程的资源不能强制的被抢占,只能被占有他的进程显示的释放4,环路等待条件,死锁发生时,系统中一定有两个或者两个以上的进程组成一环路,该环路中的每一个进程都在等待下一个进程占有的资源。处理死锁的策略:1原创 2006-08-12 20:09:00 · 1043 阅读 · 0 评论 -
进程调度(概念)
批处理中的进程调度:1,先来先服务FIFO2,最短作业优先3,最短剩余时间优先4,三级调度交互式系统中的调度1,轮转调度2,优先级调度3,多级队列4,最短进程优先5,保证调度6,彩票调度7,公平分享调度原创 2006-08-08 08:31:00 · 842 阅读 · 0 评论 -
进程初步
一,进程有太多概念,但大多数都广为人知,所以这里不详细解释,只罗列一些概念,如果你看到这些概念没有了解的话,那就去查一下吧,很容易:1,什么是进程,进程模型2,进程的创建,中止3,进程的层次结构4,进程的状态,及各状态的转化5,进程的实现6,线程7,为什么需要线程,线程的主要功能8,弹出式线程9,进程间通信10,进程间竞争11,临界区12,临界区的设计:任何两个进程不能同时处于临界区不对cpu的个原创 2006-08-06 13:43:00 · 550 阅读 · 0 评论 -
开始操作系统
习惯使然,学习总想先了解一个的概念,和这个东西的历史,现在开始操作系统的概念和历史吧.一,什么是操作系统:1,操作系统是机器的扩展这种观点认为操作系统是人机接口,硬件操作是复杂的,麻烦的。为了隐藏硬件操作的细节,如读写数据,移动磁头臂,格式化磁道,初始化,校准控制器等,建立了操作系统,来提供一个更简洁的交互页面,这个是从上往下的想法2,操作系统是资源的管理者操作系统是控制器,存储器鼠标,键盘,打印原创 2006-08-06 13:42:00 · 765 阅读 · 0 评论 -
为什么重学操作系统?
1,为什么学操作系统:经过一段时间的程序设计,发现程序设计中遇到的问题,大部分在操作系统设计中都出现过,自己通过考虑得到的方法,很多并不够好,而且与系统并不匹配。为了设计出更好的程序,应该学习一下操作系统,不要浪费了前人的智慧,应该吸收了前人的智慧后再发挥,否则可能经过很长的努力设计出来的东西还差的很远。2,为什么说重学:操作系统大学的时候曾经学过,但是那个时候的自己并没有好好学习这门学问的准原创 2006-08-06 12:26:00 · 747 阅读 · 0 评论 -
互斥2-生产者消费者(原始状态)
一,休眠与唤醒1,经典的生产者与消费者问题生产者消费者现象的原型是这样的:一个生产者生产,当缓冲区满了,就自己休眠一个消费者消费,当缓冲区空了,就自己休眠一个生产者生产,当生产一个产品时,就唤醒消费者(可以消费了)一个消费者消费,当消费一个产品时,就唤醒生产者(可以生产了)无论是生产者,还是消费着,当被唤醒的时候不一定马上执行,还需要获得cpu◎这种设计产生了一个问题,原因是需要一个c原创 2006-08-06 23:54:00 · 715 阅读 · 0 评论 -
经典IPC问题(哲学家进餐)
问题:有五个哲学家,每个哲学家面前有一盘面每个哲学家左右各有一只筷子哲学家有2个状态,思考或者拿起筷子吃饭。如果哲学家拿到一只筷子,不能吃饭,拿到2只才能吃饭。一,考虑第一种自然情况:解法:所有哲学家拿起一只筷子,再拿旁边的一只,如果拿不到就等,等到可以拿了再拿问题:所有哲学家都拿起一只筷子,那就都吃不到饭,就是死锁二,解决上边的问题解法:每个哲学家先拿左边的筷子,再拿右边的筷子,如果拿不到右原创 2006-08-08 00:55:00 · 1463 阅读 · 0 评论 -
生产者消费者问题(信号量)
为了解决上一次提出地问题,提出了信号量地方法信号量提供三个方法:empty ,full,mutex最重要地一点是,他提供了地这三个操作是不可分割地,通过屏蔽一切中断实现因为判断时间很短,所以屏蔽中断不会有问题,这样就解决了所有地问题。原创 2006-08-07 23:21:00 · 948 阅读 · 0 评论 -
互斥概念
互斥的几种实现方式:一,忙等待互斥1,禁止中断2,锁变量3,严格的轮换4,peterson算法5,Tsl忙等待存在着各种各样的问题,一个最大的问题使消耗cpu,另外容器产生各种错误。而且还可能出现优先级反转问题,所以忙等待并不是很好的办法原创 2006-08-06 14:05:00 · 783 阅读 · 0 评论 -
操作系统结束
这段时间,断断续续把操作系统全部看了一遍,本想把结果写在blog上,结果因为时间和懒惰的原因,写了的很少,而且质量连我自己都感觉不好。所以结束这个方面的东西,下次再写的时候争取写的好一点。原创 2006-08-12 21:23:00 · 707 阅读 · 0 评论