1>进程是具有独立功能程序在某个数据集合上的一次执行过程。线程是进程内的一个执行实体或者执行单元。
进程和线程的区别:
不同的进程的地址空间是独立的,而同一进程内的线程共享同一地址空间,一个进程内的线程对其他进程是不可见的。
在引入线程的操作系统中,进程是资源分配和调度的基本单位。线程是处理机调度和分配的基本单位。资源是分配给进程的,线程只拥有少量的资源,因而线程切换的开销小。
2>死锁是发生在多道程序系统当中,当一组进程的每个进程均无限期的等待该组中另一进程所占用的资源时,此时系统进入死锁状态。
死锁产生的原因:
系统提供的资源不足,资源分配顺序不当。
产生死锁的必要条件:互斥、不可剥夺、保持与等待、循环等待
3,执行如下的页号序列:1,2,3,4,1,2,5,1,2,3,4,5 。试说明采用(1)FIFO(2)LRU(3)OPT产生的缺页次数。
OPT最佳页面置换算法:如果页框中某个页面P以后永久不使用,则该页面为淘汰页面。如果每个页面P都会被再次访问到,那么淘汰当中最长未来时间内不会再次被访问的页面。
LRU最近最久未使用,故名思议。
4>操作系统的基本功能?
处理机管理:在多道或者多用户的情况下,要组织多个作业同时运行,就要解决对处理机分配调度的策略。
存储管理:对内部存储器进行分配、保护和扩充管理。
设备管理:
信息管理:对操作系统中的软件资源管理
用户接口:
5>分级调度分成四级:
作业调度、交换调度、进程调度、线程调度
6>程序与进程的区别
进程是一个动态的概念,而程序是一个静态的概念。
进程具有并发特征,而程序不反映执行所以没有并发的特征
进程是竞争计算机系统资源的基本单位,而程序不反映执行就不会竞争系统的资源
不同的进程可以包含在同一个程序之内,只要这个程序锁对应的数据集不同
7>页式管理的基本原理?
进程的虚拟空间(逻辑空间)被划分成长度相等的页
内存空间也按照页的大小划分成长度相等的页面
采用请求调页和预调页技术实现内外存储器的统一管理
8>进程调度有哪些功能?
记录系统中所有的进程执行情况
选择占有处理机的进程
进程上下文切换
9>批处理操作系统、分时操作系统和实时操作系统的特点各是什么?
批处理操作系统的特点:成批处理,系统吞吐量高,资源利用率高,用户不能直接干预系统的执行。
分时操作系统的特点:多路性、独立性、及时性、交互性
实时操作系统的特点:及时响应、快速处理;高可靠性和安全性;不要求系统资源利用率。
10>windows下的内存是如何管理的?
windows提供了3种方法进行内存管理:虚拟内存,最适合用来管理大型对象或者结构数组;内存映射文件,来管理大型数据流以及单个计算机上运行多个进程之间的数据共享;内存堆栈,最适合用来管理大量的小对象。
windows操纵内存可以分成两个层面物理内存和虚拟内存。
其中物理内存由系统管理,不允许应用程序直接访问,应用程序可见的只有2G地址空间,而内存分配是在堆栈上进行。每个进程都有自己默认堆,当一个堆创建后,就通过虚拟内存操作保留的相应大小的地址块(不占用实际的内存),当在堆上分配一块内存时,系统在堆的地址表里面找到一块空闲块,为这个空闲块所包含的内存提交物理对象。这时进程就可以访问相应的内存地址。提交时,系统将对所有进程的内存统一调配,如果物理内存不足,系统将试图把一部分进程暂时不访问的页面放入交换文件,以腾出部分物理内存。释放内存的时候,只是堆中将所在的页面解除提交,继续保留地址空间。
11>windows消息调度机制:通过消息队列实现的。
12>描述实时操作系统的基本特征
在特定的时间内完成特定的任务,实时性与可靠性。
所谓的“实时操作系统”,实际上是指操作系统工作时,其各类资源可以根据需要随性进行动态分配。由于各种资源可以进行动态的分配。因此其处理事务的能力较强、速度较快。
13>中断和轮询的特点
对I/O设备的程序轮询方式,是早期计算机系统对I/O设备的一种管理方式。它定时对各种设备轮流询问一遍是否需要进行处理。轮流询问之后,有要求的,则加以处理。在处理I/O设备要求之后,处理机则返回继续工作,尽管轮询需要时间,但是轮询的速度比I/O设备的速度要快得多,所以一般不会发生不能及时处理的问题,当然再快的处理机处理I/O设备的数量是有限的。而且轮询占用了CPU的部分处理时间,因此轮询是一种效率比较低的方式,在现代的操作系统中已经很少应用了。
程序中断,是指CPU在正常运行程序的过程中,由于预先安排或发生了各种随机的内部或者外部事件,使CPU中断正在运行的程序,而转为响应服务程序处理。
轮询-----效率低,等待时间长,CPU利用率不高
中断-----容易遗漏一些问题,CPU利用率高
14>什么是临界区?如何解决冲突?
每个进程访问临界资源的那段程序称之为临界区,每次只允许一个进程进入临界区,进入后不允许其他进程进入。
如果有若干个进程要求进入空闲临界区,一次仅允许一个进程进入
任何时候,处于临界区内的进程不可多于一个,如果已经有进程进入临界区,则其他所有试图进入临界区的进程都必须等待
进入临界区的进程要在有限的时间内退出,以便其他进程能够及时的进入自己的临界区
如果进程不能进入自己的临界区,则应该让出CPU,防止出现忙等待现象
15>分段和分页
页是信息的物理单位,分页是为了实现离散分配方式,以消减内存的外零头,提高内存的利用率。或者换句话来说,分页是内存管理的需要,而不是用户的需要。
段是信息的逻辑单位,它含有一组意义相对完整的信息。分段的目的是能够更好的满足用户的需要。
页的大小固定并且由系统确定,把逻辑地址划分为页号和页内地址两部分,由机器硬件实现,因此一个系统只能有一种大小的页面。段的长度却是不固定,决定于用户所编写的程序,一般是编译程序根据用户编写的源程序来确定。
分页的作业地址空间是一维的,即单一的线性空间,程序员只需要利用一个记忆符,即可表示一个地址。分段的作业地址空间是二维的,程序员在标识一个地址时,需要给出段名和段内地址。
16>保持进程同步的方法
PV原语操作、信号量机制、管程
17>linux 常用的命令
ls 显示文件目录
cd 改变当前所在目录
mkdir 建立空目录
rmdir 删除空目录
cp 文件复制命令
man info 获取帮助命令
cat less 显示文件内容命令
18>linux 文件属性有哪些
-rw-r--r-- 总共包含10位。第一位为文件类型标识符,其中-表示文件,d表示目录,b块设备,c表示字符设备,l表示链接文件
紧接着三位为拥有者权限、所在群权限、和其他人权限
权限修改命令 chmod +x 文件名
19>描述OSI的物理层、链路层、网络层任务?
网络层:通过路由选择算法,为报文或者分组选择最佳的路由转发路径
链路层:通过各种控制协议,将有差错的物理信道变成无差错、能可靠传输数据帧的数据链路
物理层:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输
20>什么是中断?中断时CPU做什么工作?
中断是指计算机在执行期间,系统内发生任何非寻常或者非预期的急需处理事件,使得CPU暂停当前执行的程序而转去执行相应的事件处理程序。待中断处理结束后又返回原来的进程,或者调度新的进程。
21>操作系统内容?虚拟内存是是什么?虚拟内存和主存的关系?
操作系统包括:处理机管理、内存管理、设备管理、文件管理、用户接口管理。
虚拟内存是一些系统页文件,存放在硬盘上,每个系统页文件大小为4K,物理内存也被分页,每个页的大小也为4K,这样虚拟内存页就和物理内存页对应。实际上虚拟内存页就是物理内存的临时存放磁盘空间。系统所使用的页文件就是虚拟内存页和物理内存页的总和。
22>线程是否具有相同的堆栈?dll是否有独立的堆栈?
每个线程都有自己的堆栈。
dll中的代码被某些线程所执行时,只有线程拥有堆栈。如果dll中的代码被exe中的线程所调用,那么dll中的代码由自己创建的线程来执行,当然拥有自己的堆栈。
23>什么是缓冲区溢出?
缓冲区溢出是指当前计算机向缓冲区内填充数据时超出了缓冲区的本身容量,溢出的数据覆盖到合法的数据之上。