计算机基础知识面试题库
- 格式:docx
- 大小:736.10 KB
- 文档页数:30
对于项目
1. 明确你的项目到底是做什么的,有哪些功能
2. 明确你的项目的整体架构,在面试的时候能够清楚地画给面试官看并且清楚地指出从哪里调用到哪里、使用什么方式调用
3. 明确你的模块在整个项目中所处的位置及作用
4. 明确你的模块用到了哪些技术,更好一些的可以再了解一下整个项目用到了哪些技术
操作系统
1.操作系统的四大特性:
a)并发性
b)共享性
c)虚拟性
d)不确定性
2.请叙述一下并发和并行两个概念的区别?
a)并行是指两个或多个事件在同一时刻发生,并发是指两个或多个事件在同一时间
间隔内发生。
3.什么是进程?什么是线程?
a)“进程是一个可并发执行的,具有独立功能的程序关于某个数据集合的一次执行过
程,也是操作系统进行资源分配和调度的独立单位”。进程是资源分配的基本单
位。
b)线程也称为轻量级进程(LWP),是程序执行流量的最小单位,它是进程的一个实
体,是系统独立调度和分派处理机的基本单位。线程是操作系统调度的最小单
位。
4.进程和线程的区别?从调度、并发性、拥有资源和系统开销四个方面来比较:
a)调度。在引入线程的操作系统中,把线程作为调度和分派CPU的基本单位,把进
程作为资源分配的基本单位,显著提高了并发程度。由于系统调度的基本单位是
线程,所以每个进程至少创建一个线程,否则无法被调度。
b)并发性。多线程可以提高服务的质量,在一个线程阻塞时,还有其他线程提供服
务。
c)拥有资源。进程是拥有资源的独立单位,线程自己不拥有系统资源,而是共享进
程的资源(包括代码段、数据段即系统资源等)。
d)系统开销。进程切换的开销远远大于线程切换的开销,进程的切换需要保存很多
现场,但线程只需要保存和设置少量的寄存器内容,不涉及存储器管理方面的操
作。
5.进程的特征:
a)动态性:进程是动态产生和动态消亡的,有其生存周期。
b)并发性:一个进程可以与其他进程一起向前推进。
c)独立性:一个进程是一个相对完整的调度单位。
d)异步性:每个进程都已相对独立、不可预知的速度向前推进。
e)结构性:为了控制和管理进程,系统为每个进程设立一个进程控制块(PCB)。
6.进程有几种状态?
a)就绪状态
b)运行状态:单CPU环境下,系统处于运行状态的进程最多只有一个。
c)阻塞状态
7.进程的组成:
a)程序:
b)数据集合:进程独有
c)进程控制块(PCB):它和进程一一对应,PCB是操作系统能感知进程存在的唯一标
识,操作系统正是通过管理PCB来管理进程的。系统创建进程时,为每个进程分
配PCB,进程执行完成后,系统释放PCB,进程也随之消亡。
8.进程的切换:
a)进程上下文包含用户级上下文、系统级上下文、寄存器上下文
b)进程上下文切换是核心态的切换,不发生在用户态。
c)用户态到核心态之间的转变是CPU模式的改变。模式切换不同于进程切换,并不
引起进程状态的改变。
9.为什么会提出线程这个概念?进程的缺点是什么?
a)进程切换开销大
b)进程通信代价大
c)进程之间并发性粒度粗,并发度不高
d)不适合并行计算和分布式并行计算的要求
e)不适合客户-服务器计算的要求
f)操作系统中引入进程的目的是为了使多个程序并发执行,改善资源的利用率以提
高系统的吞吐量。
10.线程的分类:
a)用户级线程– ULT,优点是线程切换不需要系统状态的转换,每个进程可以使用
专门的调度算法来调度线程,不需要依赖操作系统底层的内核。缺点是父进程阻
塞会导致线程全都阻塞,不能真正的并行。Java的线程就是一种用户级的线程。
b)内核级线程– KLT,优点是同一个进程内多个线程可以并行执行,缺点是线程状
态转换时内核态的任务,通常很慢。
c)混合式线程–上两种的结合,有良好的效果。
11.进程控制块的作用?它是如何描述进程动态性质的?
a)PCB是系统感知进程存在的唯一标志,是进程动态特性的集中反映,和进程一一
对应,操作系统通过管理PCB来管理进程。
b)进程控制块包含进程描述信息,控制信息,和资源管理信息三类。这些信息的变
化反映进程的动态性质。
12.操作系统内核都包括哪些内容?
a)一是支撑功能,包括中断处理,时钟管理和原语操作等,二是资源管理功能,包
括进程管理,存储器管理和设备管理等。
13.处理机调度的三个分类?
a)高级调度–作业调度
b)中级调度–交换调度(内存和硬盘之间的交换)
c)低级调度–进程调度(操作系统的核心)
d)高级调度发生在创建新进程时,它决定一个进程能否被创建,或者是创建后能否
被设置成就绪状态,以参与竞争处理器资源;中级调度反映到进程状态上就是挂
起和解除挂起,它根据系统的当前符合情况决定停留在主存中的进程数;低级调
度则是决定哪一个就绪进程或线程占有CPU运行。
14.批作业调度算法
a)先来先服务
b)最短作业优先
c)响应比高者优先
d)优先级算法
15.进程调度的方式:
a)非剥夺方式(非抢占式方式):优点是简单、易实现,系统开销小。缺点是不太灵
活,难以满足紧迫任务必须立即执行的要求。实时系统不宜采用这种调度方式。
b)可剥夺方式(抢占式方式):优先权更高的进程优先执行。
16.进程调度的算法:
a)先来先服务算法
b)最短优先算法
c)优先级算法:优先级高的先执行。可以采用剥夺或非剥夺,剥夺方式更能反映优
先的特点,但是会造成无穷阻塞和饥饿现象。
d)轮转算法:基本思想是系统把所有就绪进程按先来先服务的原则排成一个队列,
且规定一个较小的时间单元,称为时间量或时间片,按时间片把CPU轮流分配给
进入就绪队列的第一个进程使用,当进程的时间片使用完后,产生一个时钟中
断,剥夺该进程的执行,将它送到就绪队列的队尾,等待下次调度。轮转算法专
门为分时系统设计。
e)多级队列调度算法:根据不同的进程,分配到不同的队列中,实行不同的调度算
法。一般按照优先级分成多个队列,高优先级的任务先做。
f)多级反馈队列调度算法:按优先级分配队列,但是优先级越高分配的时间片越
小,如果没做完,自动移动到下一级队列继续做。
g)实时调度算法
17.操作系统多任务的抢占机制是怎么实现的?
18.哪种权限许可用户进入一个文件系统的目录?Read,Execute,Write,Access Controll
19.Linux32位系统,应用程序最多能分配的内存大小?
20.sleep和wait的区别?
21.Win32下线程的基本模式?
22.进程之间的关系?
a)竞争关系:由于进程之间不知道彼此的存在,而使用了同一份资源,就会造成竞
争。资源竞争会出现饥饿和死锁。
b)协作关系