
操作系统
文章平均质量分 83
sicofield
这个作者很懒,什么都没留下…
展开
-
进程描述和控制
①通常那些事件会导致创建一个进程?答:新的批处理作业;交互登录;操作系统因为提供一项服务而创建;由现有的进程派生。1、明确两个概念:进程控制块、进程映像。 在处理进程定位问题和进程属性问题之前,首先需要解决一个更基本的问题:进程的物理表示是什么? 这包括进程的程序,数据,另外进程的执行涉及用于跟踪过程调用和过程间参数的栈,还有操作系统用于控制进程的许原创 2013-03-21 21:52:14 · 1904 阅读 · 0 评论 -
线程与SMP
1.系统调用 操作系统的主要功能是为应用程序的运行创建良好的环境,为了达到这个目的,内核提供一系列具备预定功能的多内核函数,通过一组称为系统调用(system call)的接口呈现给用户。系统调用把应用程序的请求传给内核,调用相应的的内核函数完成所需的处理,将处理结果返回给应用程序,如果没有系统调用和内核函数,用户将不能编写大型应用程序。 2.操作系统分派调度的单位是线原创 2013-03-26 10:54:59 · 4930 阅读 · 0 评论 -
单处理器调度
1.主要调度准则面向用户:周转时间——指一个进程从提交到完成之间的时间间隔。响应时间——对于一个交互进程来说,这是指从提交一个请求到开始接受响应之间的时间间隔。通常进程处理该请求的同时,就开始给用户一些输出。因此从用户的角度看,相对于周转时间这是一种更好的度量。面向处理器:吞吐量——调度策略应该试图使得每一个时间单位完成的进程数目达到最大。(注意这里的吞吐量与CPU吞吐量的含义原创 2013-05-28 19:09:58 · 2522 阅读 · 0 评论 -
中断
1.中断的基本概念中断是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。引起中断发生的事件被称为中断源。中断源向CPU发出的请求中断处理信号称为中断请求,而CPU收到中断请求后转到相应的事件处理程序称为中断响应。在有些情况下,尽管产生了中断源和转载 2013-05-09 21:01:36 · 1180 阅读 · 0 评论 -
生产者/消费者模型
产者/消费者模型描述如下:有一个或多个生产者生产某种类型的数据,并防止在缓冲区(可以是数组也可以是队列等数据结构)中;有一个消费者可以从缓冲区中取数据,每次取一项;系统保证避免对缓冲区的重复操作,也就是说在任何时候只有一个主体(生产者或消费者)可以访问缓冲区。问题要确保缓冲区不溢出,即当缓冲区满时,生成者不会继续向其中添加数据;当缓冲区空时,消费者不会从中移走数据。原创 2013-04-25 14:19:12 · 10309 阅读 · 2 评论 -
内存管理
1.内存管理的需求 内存管理要满足5种需求:重定位、保护、共享、逻辑组织、物理组织。①为什么需要重定位进程的能力?答:通常情况下,并不能事先知道在某个程序执行期间会有哪个程序驻留在主存中。此外还希望通过提供一个巨大的就绪进程池,能够把活动进程换入和换出主存,以便使处理器的利用率最大化。在这两种情况下,进程在主存中的确切位置是不可预知的。②允许两个或多个进程访问进程的某一原创 2013-04-16 11:32:08 · 3232 阅读 · 0 评论 -
死锁
1.死锁的条件 死锁有三个必要条件:1) 互斥——一次只有一个进程可以使用一个资源。其他进程不可访问已分配给其他进程的资源。2) 占有且等待——当一个进程等待其他进程时,继续占有已经分配给自己的资源不释放。3) 不可抢占——进程不能强行抢占别的进程所占有的资源。 这三个条件都是死锁存在的必要条件,但不是充分条件,对死锁的产生还需要第四原创 2013-04-16 09:07:58 · 1768 阅读 · 0 评论 -
互斥与并发(4)—消息传递
1.消息传递 进程交互时必须满足两个基本要求:同步和通信。为实施同步,进程间需要互斥;为了合作,进程间需要交换信息,提供这种功能的一种方法是消息传递。消息传递还有一个优点,即可以在分布式系统、共享内存的多处理器系统和单处理器系统中实现。为什么?因为消息只要指明源和目的就可以了,而信号量是要两个进程修改同一位置的控制数据的。 消息传递的实际功能以一对原语的形式原创 2013-04-16 09:04:38 · 1970 阅读 · 0 评论 -
互斥与并发(2)—信号量
1.信号量(Semaphore) 为了达到信号量的预期效果,可把信号量看做具有整数值得变量,在它之上定义三个操作:1) 一个信号量可以初始化为一个非负数2) semWait操作使信号量减1(国内的教材将该操作称为P)。如果变成负数,那么执行semWait的进程被阻塞,并被移入阻塞队列。否则该进程继续执行3) semSignal操作使信号量加1(国内的教材将该操原创 2013-04-15 15:08:18 · 1807 阅读 · 0 评论 -
互斥与并发(3)—管程
1.管程(Monitor) 用信号量设计一个正确的程序是很困难的,难点是semWait和semSignal操作可能分布在整个程序中,但是很难看出这些在信号量上的操作所产生的整体效果。但是管程确易于设计。 管程是由一个或多个过程、一个初始化序列和局部数据组成的软件模块,其主要特点如下:1) 局部数据变量只能被管程的过程访问,任何外部过程都不能访问(封装,原创 2013-04-15 15:21:32 · 2161 阅读 · 0 评论 -
互斥与并发(1)硬件支持
1.和并发相关的一些关键术语原子操作:一个或多个指令的序列,对外是不可分的;即没有其他进程(线程)可以看到其中间状态或中断此操作。临界区:是一段代码,在这段代码中进程将访问共享资源,当一个进程已经在这段代码中运行时,其他进程就不能在这段代码中执行。死锁:两个或多个进程因其中每个进程都在等待其他进程做完某些事情而不能继续执行。通俗地讲就是分割整体资源,各占有部分。活锁:两个或多个进程原创 2013-04-12 10:55:15 · 1581 阅读 · 0 评论 -
(转)缓存置换算法
Least-Recently-Used(LRU) - 最近最少使用 替换掉最近被请求最少的文档。这一传统策略在实际中应用最广。在CPU缓存淘汰和虚拟内存系统中效果很好。然而直接应用与代理缓存效果欠佳,因为Web访问的时间局部性常常变化很大。Least-Frequently-Used(LFU) - 最不经常使用 替换掉访问次数最少的。这一策略意图保留最常用的、最流行的对象,替换掉很少使用的那些。转载 2017-01-24 15:21:27 · 1920 阅读 · 0 评论