随笔分类 - 操作系统
摘要:生产者——消费者问题生产者——消费者问题是一个经典的同步问题,生产者生成的数量存在一个上限,不能生成超出这个上限。消费者不能消费未生产的东西。假设如下:mutex信号量是生产者和消费者共享缓冲区的互斥要求,缓冲区的大小为n。设缓冲区空用empty表示,并初始化为1,设...
阅读全文
摘要:操作系统中存在多个进程并发访问和操作同一个数据,并且执行结果和进程执行的特定顺序有关,称为:竞争条件。为了防止竞争条件发生,我们需要确保一段时间内只有一个进程能操作这个数据。为了实现这个保证,进程之间必须要同步。假设一个OS有n个进程,每个进程有一个“临界区”。在该区...
阅读全文
摘要:现代的操作系统都提供了单个进程包括多个控制线程的特性。线程,有时候称为轻量级进程(lightweight process,LWP),是CPU使用的基本单元;它包含了线程ID,程序计数器,寄存器集合以及堆栈。它与属于同一进程的其他线程共享代码段,数据段和其他的操作系统资...
阅读全文
摘要:为什么要管理CPU,这是因为在“上古时代”,CPU是计算机硬件之中最昂贵的资源。因此提高CPU利用率是很有必要的。我们知道只要给CPU的PC一个地址,CPU就能运行起来了,假设在运行一段时间后,需要一些I/O操作,而I/O操作(当年主要是连接打印机等)是很费时间的。...
阅读全文
摘要:首先,有一个概念叫做接口。抽象而言的接口是连接两个东西的中间物。接口的好处是屏蔽了连接起来的实际细节。我们只关心接口如何使用。系统调用:操作系统的接口是连接应用软件与操作系统的中间桥梁。接口在程序设计中表现的形式就是:函数。操作系统提供的函数就被称为系统调用(syst...
阅读全文
摘要:1936年,阿兰图灵提出了一种可计算模型——图灵机。图灵机是从模拟人用纸笔计算的过程得到的灵感。图灵设想只存在于想象中的机器由一个控制器、一个读写头和一根无限长的工作带组成的。纸带起着存储的作用;读写头能够读取纸带上的信息,以及将运算结果写进纸带;控制器则负责对搜集到...
阅读全文
浙公网安备 33010602011771号