操作系统
文章平均质量分 78
YetToCome
这个作者很懒,什么都没留下…
展开
-
现代操作系统笔记 1
操作系统的任务是为用户程序提供一个更好、更简单、更清晰的计算机模型,管理计算机硬件设备。用户与操作系统之间进行交互的程序,基于文本的称为shell,基于图形的称为GUI,他们实际上并不是操作系统的一部分。操作系统的简化视图如下:多数计算机拥有两种运行模式:内核态和用户态。操作系统运行在内核态,对硬件具有完全的访问权,其余软件运行在用户态,使用机器指令的一个子集,那些会影响机原创 2013-07-19 13:08:03 · 1631 阅读 · 0 评论 -
现代操作系统笔记2(操作系统概念和系统调用)
操作系统概念:1.进程本质上是正在执行的一个程序,进程在其地址空间内读写,该地址空间存放有可执行程序、程序的数据以及程序的堆栈,进程的资源集包括寄存器、打开文件的清单、突出的报警、有关进程的清单。进程基本上是容纳一个程序所需要所有信息的容器。操作系统周期性的挂起一个进程然后运行另一个进程。进程被挂起后,当需要再次启动时,状态需要完全相同,这意味着挂起时进程所有的信息都要被保存下来。与一原创 2013-07-20 11:19:03 · 2197 阅读 · 0 评论 -
现代操作系统笔记之 进程
进程:对正在运行程序的一个抽象对于只有一个用户的PC,当启动系统时,会同时启动许多进程,而CPU则在这些进程之间进行切换。严格的说,在某一瞬间,CPU只能运行一个进程,而在1秒内,它可以运行多个进程,这就造成了并行的错觉,称为伪并行。用于描述并行的概念模型称为顺序模型。1.进程模型计算机上所有可运行的软件,包括操作系统,被组织成若干顺序进程。一个进程就是一个正在执行程序的实例,包括程序原创 2013-08-01 12:27:52 · 1075 阅读 · 0 评论 -
现代操作系统笔记之 进程间通信(上)
进程间的通信其实就是要解决3个问题1、一个进程如何把信息传递给另一个进程2、怎么处理多个进程在关键活动中不出现交叉3、确保进程处理的顺序性。当然,进程间的通信同样也是适合线程,对于第一个问题,由于线程是共享同一个地址空间,通信比较容易,要处理的其实就是后两个问题,解决方法与进程的方法一致。竞争条件在一些操作系统中,写作的进程可能拥有一些共享区,现考虑一个例子,一个脱机打印程序,当一个进程需原创 2013-08-03 13:57:13 · 1214 阅读 · 0 评论 -
现代操作系统笔记之 线程
线程其实就像是对进程的进一步划分,每个进程都拥有自己的地址空间,而在这一个地址空间中可能存在多个控制线程。线程的使用为什么需要线程?以下是几点原因1、许多应用中同时有多个活动,某些活动可能会阻塞,将这些活动分配到不同的线程可以使程序设计模型更加简单。2、线程更加轻量级,创建和撤销比进程更快。3、如果存在大量计算和大量I/O处理,多线程允许活动重叠进行(流水线),加快活动执行。原创 2013-08-02 15:26:57 · 1409 阅读 · 0 评论 -
UNIX I/O
文件描述符:文件描述符是一个非负整数。当打开一个现存文件或创建一个新文件时,内核向进程返回一个文件描述符。文件描述符 0、1、2 (通常使用中定义的 STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO) 则用作进程的标准输入文件、标准输出文件和标准出错文件。虚拟目录/proc/self/fd 中记录了当前进程所打开的文件描述符。open 函数:原创 2013-08-26 22:10:10 · 743 阅读 · 0 评论