操作系统学习笔记(1)

"操作系统笔记"

Posted by jhljx on September 12, 2016

目录

1. 并行和并发的区别

并行和并发的区别? http://www.zhihu.com/question/33515481

1、在段页式存储管理中,其虚拟地址空间是() A、一维 B、二维 C、三维 D、层次

答案:B

2、采用( )不会产生内部碎片(“内零头”) A、分页式存储管理 B、分段式存储管理 C、固定分区式存储管理 D、段页式存储管理 答案:B (分段式存储管理) 3、段页式管理每取一数据,要访问()次内存。

A、1 B、2 C、3 D、4

答案:C

4、分段管理提供(B)维的地址结构。

A、1 B、2 C、3 D、4

二维逻辑地址:段号+段内地址 分页与分段的主要区别: 1)、段是信息的逻辑单位,它是根据用户的需要划分的,因此段对用户是可见的;页是信息的物理单位,是为了管理主存的方便而划分的,对用户是透明的。 2)、页的大小固定不变,由系统决定。段的大小是不固定的,它由其完成的功能决定。 3)、段式向用户提供的是二维地址空间,页式向用户提供的是一维地址空间,其页号和页内偏移是机器硬件的功能。 4)、由于段是信息的逻辑单位,因此便于存贮保护和信息的共享,页的保护和共享受到限制。

分页与分段存储管理系统虽然在很多地方相似,但从概念上讲,两者是完全不同的,它们之间的区别如下: ①页是信息的物理单位。分页的目的是实现离散分配,减少外部碎片,提高内存利用率。段是信息的逻辑单位。每一段在逻辑上是一组相对完整的信息集合。 ②分页式存储管理的作业地址空间是一维的,而分段式存储管理的作业地址空间是二维的。 ③页的大小固定且由系统确定,是等长的。而段的长度不定。 ④分页的优点体现在内存空间的管理上,而分段的优点体现在地址空间的管理上。

5、()存储管理方式提供二维地址结构。

A、固定分区 B、分页 C、分段 D、可变分区

答案:C

6、()存储管理方式提供一维地址空间。

A、固定分区 B、分段 C、分页 D、分段和段页式

答案:A

7、下列()存储管理方式能使存储碎片尽可能少,而且使内存利用率较高。

A、固定分区 B、可变分区 C、分页管理 D、段页式管理

答案:D

8、分页管理每取一数据,要访问( )次内存。

A、1 B、2 C、3 D、4

答案:B

9、通道是一种( )。

A、I/O端口 B、数据通道 C、I/O专用处理机 D、软件工具

答案:C

10、磁盘与主机之间的数据传送方式是( )

A、无条件 B、程序查询 C、中断方式 D、DMA方式

答案:D

11、在一个请求页式存储管理中,一个程序的页面走向为4、3、2、1、3、5、4、3、2、1、5,并采用LRU算法。设分配给该程序的存储块数M分别为3和4,在该访问中发生的缺页次数F和缺页率f 是(C )

A. ①M=3,F=8、f≈67% ②M=4,F=5、f≈42%

B.①M=3,F=10、f=83% ②M=4,F=8、f≈67%

C.①M=3,F=9、f≈75% ②M=4,F=9、f≈75%

D.①M=3,F=7、f≈58% ②M=4,F=6、f=50%

不会。。。

12、进程和程序的本质区别是( D)

A、存储在内存和外存 B、顺序和非顺序执行机器指令

C、分时使用和独占使用计算机资源 D、动态和静态特征

13、系统感知进程的唯一实体是(C )

A、JCB B、FCB C、PCB D、SJT

进程是内存分配的最小单位,进程控制块(PCB)

14、SPOOLING技术利用于( B)

A、外设概念 B、虚拟设备概念 C、磁带概念 D、存储概念

15、( A)是直接存取设备。

A、磁盘 B、磁带 C、打印机 D、键盘显示终端

16、采用假脱机技术,将磁盘的一部分作为公共缓冲区以代替打印机,用户对打印机的操作实际上是对磁盘的存储操作,用以代替打印机部分是指()

A、独占设备 B、共享设备 C、虚拟设备 D、一般物理设备 答案:C

17、在可变分区存储管理中的移动技术优点在于() A、增加主存容量 B、缩短访问周期 C、加速地址转换 D、集中空闲区 答案:D

18、位示图的用处为()

A、主存空间的共享 B、文件的保护和加密 C、磁盘空间的管理 D、文件目录的查找 答案:C 19、虚拟设备中,当用户作业要进入系统时,由SPOOLing系统的预输入程序将作业信息从物理输入设备上送到( ) A、内存 B、输入井 C、输出井 D、通道 答案:B

20、设在内存中有P1、P2、P3三道程序,并按照P1、P2、P3的优先次序运行,其内部计算和I/O操作时间由下图给出: P1:计算 60ms—————-I/O 80ms—————–计算 20ms P2:计算 120ms————–I/O 40ms—————–计算 40ms P3:计算 40ms—————-I/O 80ms—————–计算 40ms 调度程序的执行时间忽略不计,完成这三道程序比单道运行节省的时间是(C ) A、80ms B、120ms C、160ms D、200ms 解析:首先P1计算60ms,然后I/O 80ms,在这80ms中,P2也同步开始计算,等P1的I/O运行完了,CPU停止P2的计算,转去做P1后期那20ms的运算,至此所花时间为60+80+20=160ms;然后CPU再去接着运算P2,40ms,然后p2I/O运行40ms,在此期间,cpu去计算p3,正好也是40ms,算完之后接着算p2的后期部分,40ms,在此期间,因为p3的前40ms已经计算完成,可以进行i/o操作,所以同时p3的i/o也开始运行,运行80ms,这80ms中,前40msCPU在算P2,后40msCPU在算P3,所以是:40+40+40+80=200ms,加上前面的160,为360ms。 而如果是单道运行,则时间花费为:60+80+20+120+40+40+40+80+40=520ms,相差为520-360=160ms ,选C

问题:
1.什么是可变分区存储管理?(非连续行存储??) 移动技术指什么??
2.位示图是什么?
3.SPOOLing系统是什么?假脱机技术是什么?
4.什么是通道?什么是I/O处理机?

http://blog.csdn.net/hackbuteer1/article/details/6787354

操作系统目标

1:方面性,2:有效性,3:可扩展性,4:开放性

操作系统基本特性

1:并发、2:共享、3:虚拟、4:异步

很好的博客 http://www.cnblogs.com/zyf-zhaoyafei/p/4714598.html

http://blog.csdn.net/houzuoxin/article/details/38957969 http://blog.csdn.net/youngchang06hpu/article/details/8009947

下述是关于进程和线程的说法: 1.在传统的OS中,进程是系统分配资源和进行调度的基本单位。而线程则是系统分配资源的基本单位。 2.进程就是线程。 3.线程可以创建另外一个线程,同一个进程中的多个线程可以并发执行。线程也有就绪、运行和阻塞三种基本状态。 其中正确的个数为()。

A.0 B.1 C.2 D.3

正确答案:B

答案解析: 在传统的OS中,进程是系统分配资源和进行调度的基本单位。线程则是系统实施调度的基本的、独立的单位。线程基本上不拥有资源,只拥有一点运行必不可少的资源。 引入线程的原因:由于在进程的创建、撤消和切换过程中,系统付出的时空代价较大,因此在系统中的进程数目不宜过多,进程切换不能过于频繁,这就限制了并发程度的提高。引入线程之后,将传统的进程的两个基本属性分开,也就是说在传统的OS中,进程是系统分配资源和进行调度的基本单位,当引入线程之后,进程只作为分配资源的基本单位,而将线程作为调度的基本单位。可以通过创建线程来完成任务,提高了并发程度。 线程可以创建另外一个线程,同一个进程中的多个线程可以并发执行。线程也有就绪、运行和阻塞三种基本状态。

进程与线程的区别是什么?

作者:zhonyong 链接:https://www.zhihu.com/question/25532384/answer/81152571 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

不请自来。 看见上面几位的回答我真的是醉了。说几句我的理解。 首先来一句概括的总论:进程和线程都是一个时间段的描述,是CPU工作时间段的描述。

下面细说背景: CPU+RAM+各种资源(比如显卡,光驱,键盘,GPS, 等等外设)构成我们的电脑,但是电脑的运行,实际就是CPU和相关寄存器以及RAM之间的事情。

一个最最基础的事实:CPU太快,太快,太快了,寄存器仅仅能够追的上他的脚步,RAM和别的挂在各总线上的设备完全是望其项背。那当多个任务要执行的时候怎么办呢?轮流着来?或者谁优先级高谁来?不管怎么样的策略,一句话就是在CPU看来就是轮流着来。

一个必须知道的事实:执行一段程序代码,实现一个功能的过程介绍 ,当得到CPU的时候,相关的资源必须也已经就位,就是显卡啊,GPS啊什么的必须就位,然后CPU开始执行。这里除了CPU以外所有的就构成了这个程序的执行环境,也就是我们所定义的程序上下文。当这个程序执行完了,或者分配给他的CPU执行时间用完了,那它就要被切换出去,等待下一次CPU的临幸。在被切换出去的最后一步工作就是保存程序上下文,因为这个是下次他被CPU临幸的运行环境,必须保存。

串联起来的事实:前面讲过在CPU看来所有的任务都是一个一个的轮流执行的,具体的轮流方法就是:先加载程序A的上下文,然后开始执行A,保存程序A的上下文,调入下一个要执行的程序B的程序上下文,然后开始执行B,保存程序B的上下文。

=========重要的东西出现了======== 进程和线程就是这样的背景出来的,两个名词不过是对应的CPU时间段的描述,名词就是这样的功能。

  • 进程就是包换上下文切换的程序执行时间总和 = CPU加载上下文 + CPU执行+CPU保存上下文

线程是什么呢?进程的颗粒度太大,每次都要有上下的调入,保存,调出。如果我们把进程比喻为一个运行在电脑上的软件,那么一个软件的执行不可能是一条逻辑执行的,必定有多个分支和多个程序段,就好比要实现程序A,实际分成 a,b,c等多个块组合而成。那么这里具体的执行就可能变成:程序A得到CPU => CPU加载上下文,开始执行程序A的a小段,然后执行A的b小段,然后再执行A的c小段,最后CPU保存A的上下文。这里a,b,c的执行是共享了A的上下文,CPU在执行的时候没有进行上下文切换的。这里的a,b,c就是线程,也就是说线程是共享了进程的上下文环境,的更为细小的CPU时间段。

到此全文结束,再一个总结:

进程和线程都是一个时间段的描述,是CPU工作时间段的描述,不过是颗粒大小不同。

一般来说,操作系统可以分为五大管理功能部分: 1) 设备管理:主要是负责内核与外围设备的数据交互,实质是对硬件设备的管理,包括对输入输出设备的分配,初始化,维护与回收等。例如管理音频输入输出。 2) 作业管理:这部分功能主要是负责人机交互,图形界面或者系统任务的管理。 3) 文件管理:这部分功能涉及文件的逻辑组织和物理组织,目录结构和管理等。从操作系统的角度来看,文件系统是系统对文件存储器的存储空间进行分配,维护和回收,同时负责文件的索引,共享和权限保护。而从用户的角度来说,文件系统是按照文件目录和文件名来进行存取的。 4) 进程管理:说明一个进程存在的唯一标志是pcb(进程控制块),负责维护进程的信息和状态。进程管理实质上是系统采取某些进程调度算法来使处理合理的分配给每个任务使用。 5)存储管理:数据的存储方式和组织结构。

操作系统的类型也可以分为几种:批处理系统,分时操作系统,实时操作系统,网络操作系统等。下面将简单的介绍他们各自的特点: 1) 批处理系统:首先,用户提交完作业后并在获得结果之前不会再与操作系统进行数据交互,用户提交的作业由系统外存储存为后备作业;数据是成批处理的,有操作系统负责作业的自动完成;支持多道程序运行。 2) 分时操作系统:首先交互性方面,用户可以对程序动态运行时对其加以控制;支持多个用户登录终端,并且每个用户共享CPU和其他系统资源。 3) 实时操作系统:会有时钟管理,包括定时处理和延迟处理。实时性要求比较高,某些任务必须优先处理,而有些任务则会被延迟调度完成。 4) 网络操作系统:网络操作系统主要有几种基本功能 (1) 网络通信:负责在源主机与目标主机之间的数据的可靠通信,这是最基本的功能。 (2) 网络服务:系统支持一些电子邮件服务,文件传输,数据共享,设备共享等。 (3) 资源管理:对网络中共享的资源进行管理,例如设置权限以保证数据源的安全性。 (4) 网络管理:主要任务是实现安全管理,例如通过“存取控制”来确保数据的存取安全性,通过“容错性”来保障服务器故障时数据的安全性。 (5) 支持交互操作:在客户/服务器模型的LAN环境下,多种客户机和主机不仅能与服务器进行数据连接通信,并且可以访问服务器的文件系统