计算机操作系统面试
计算机操作系统面试时经常会有不熟悉的问题,下面由店铺为大家整理了计算机操作系统面试的相关知识,希望对大家有帮助!
计算机操作系统面试一、操作系统引论
操作系统目标
1:方面性,2:有效性,3:可扩展性,4:开放性
操作系统基本特性
1:并发、2:共享、3:虚拟、4:异步
描述多道批处理、分时、实时操作系统的特点各是什么?
批处理操作系统:多道性、无序性、调度性,系统利用率高、吞吐量大、平均周转时间长、但无交互能力。
分时操作系统:有多路性、独立性、及时性和交互性。 有较好的人机交互的特性,并且可以实现共享主机
实时系统:有多路性、独立性、及时性、交互性和可靠性。实际上是指操作系统工作时,其各种资源可以根据需要随时进行动态分配。由于各种资源可以进行动态分配,因此,其处理事务的能力较强、速度较快。
总结:从可靠性:实时系统更强,从交互性:分时系统更强
计算机操作系统面试二、进程的描述与控制
程序并发执行的特征
1:间断性:程序在并发执行的时候,因为是共享资源,以及完成同一项任务而相互合作,致使在这些并发执行的程序之间形成了相互制约的关系,导致程序执行呈现:执行--暂停--执行
2:失去封闭性:当系统中有多个并发执行的程序时,各个资源是他们所共享的,这些资源的状态也由这些程序所改变,所以摸一个程序的运行环境会受到其他程序的影响。
3:不可再生性
进程的特征与三种基本状态
1、特征:
1:动态性,2:并发性,3:独立性,4:异步性。
2、状态:
1:就绪状态,2:执行状态,3:阻塞状态
3、三种基本状态转换:
处于就绪状态的进程,在调度程序为之分配了处理机之后便开始执行, 就绪 -> 执行
正在执行的进程如果因为分配他的时间片已经用完,而被剥夺处理剂, 执行 -> 就绪
如果因为某种原因致使当前的进程执行受阻,使之不能执行。 执行 -> 阻塞
4、创建状态和终止状态图
进程控制块PCB的作用
1:作为独立运行基本单位的标志
2:能实现间断性运行方式
3:提供进程通信管理所需要的信息
4:提供进程调度所需要的信息
线程与进程的区别联系
1、定义:
进程:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。(包括程序段,相关数据段,和进程控制块PCB)
线程:线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程
序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.
2、关系:一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程中的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。
进程间通信最快的方式3、区别:主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。
4.优缺点:线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源的管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。
进程间的通信是如何实现的?
早期的属于低级通信:原因:1:效率低,生产者每次只能向缓冲池投放一个信息 2:通信对用户不透明,隐藏了通信的具体细节。现在发展为高级通信:用户可以利用操作系统所提供的一组通信命令传送大量数据。操作系统隐藏了进程通信的实现细节。或者说,通信过程对用户是透明的。
高级通信机制:
1:共享存储器系统(存储器中划分的共享存储区)
实际操作中对应的是“剪贴板”(剪贴板实际上是系统维护管理的一块内存区域)的通信方式。
2:消息传递系统(进程间的数据交换以消息(message)为单位)
当今最流行的微内核操作系统中,微内核与服务器之间的通信,都采用 了消息传递机制
3:管道通信系统(连接读写进程实现他们之间通信的共享文件(pipe文件,类似先进先出的队列,由一个进程写,另一进程读))
管道分为匿名管道、命名管道。匿名管道是未命名的、单向管道,通过父进程和一个子进程
之间传输数据。匿名管道只能实现本地机器上两个进程之间的通信,不能实现跨网络的通信。命名管道不仅可以在本机上实现两个进程间的通信,还可以跨网络实现进程间的通信。
4:客户机-服务器系统
包括:套接字(socket),远程过程调用和远程方法调用
什么是临界区?如何解决冲突?
每个进程中访问临界资源的那段程序称为临界区,每次只准许一个进程进入临界区,进入后不允许其他进程进入。
1:如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入;
2:任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待;
3:进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区;
4:如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。
进程同步原则
进程同步的主要任务:是对多个相关进程在执行次序上进行协调,以使并发执行的诸进程之间能有效地共享资源和相互合作,从而使程序的执行具有可再现性。同步机制遵循的原则:
1:空闲让进;
2:忙则等待(保证对临界区的互斥访问);
3:有限等待(有限代表有限的时间,避免死等);
4:让权等待,(当进程不能进入自己的临界区时,应该释放处理机,以免陷入忙等状态)。
进程同步
由于进程同步产生了一系列经典的同步问题“生产者-消费者”问题,“哲学家进餐”问题,“读者-写者”问题。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论