1、计算机系统概述
操作系统的特征
- 并发、共享、虚拟和异步是操作系统的四个特征
- 并发和共享互为存在条件:资源共享是以程序并发为条件的;若系统不能对资源共享,也将影响到程序的并发执行。
库函数与系统调用的区别
库函数是语言或应用程序的一部分,在用户空间进行。
系统调用是操作系统内核为用户提供的程序接口,运行在内核态。库函数有时要使用系统调用实现一些功能。
访管指令(陷入指令)
访管指令是用户在用户态使用发起系统调用,使得从用户态转向内核态,所以访管指令不是特权指令。
并发与并行的区别
并行:两个或多个程序同一时刻发生,要计算机有多个处理机时可以实现
并发:两个或多个程序同一时间间隔发生,宏观上并行,微观上每一时刻只有一个程序执行,通常单处理机并发执行程序。
2、进程管理
进程和程序的区别?
- 进程是程序及数据在计算机上的运行活动,是动态的。程序是一组指令集合,是静态的。
- 进程是程序的一次执行过程,是暂时的;程序是代码的集合,是永久的。
- 一个进程可以执行一个或多个程序,一个程序也可以创建一个或多个进程。
- 进程(实体)由PCB,程序和数据三部分组成。
引入线程的目的?
减小程序在并发执行所付出的时空开销,提高操作系统的并发性能。
进程与线程的区别?
- 线程是比进程更小的活动单位,是进程中的一条执行路径
- 一个进程有多条线程,同一进程中的线程切换,不会引起进程切换,所以线程切换比进程切换开销小。
- 线程是处理机任务调度的最小基本单位,进程是系统资源分配的基本单位。
- 线程自己不拥有系统资源,线程与同一进程中的其他线程共享资源。
就绪态和等待态的区别(进程)
就绪态:仅缺少处理机资源,获得处理机就立刻运行。
等待态:除了缺少处理机之外,还需要等待其他的资源。
(进程通信)共享存储和管道通信的区别?
管道是共享存储的优化发展。共享存储中共享空间的访问必须是互斥的;管道通信中,存储空间进化成缓冲区,缓冲区只允许从一边写入,同时从另一边读出,非互斥访问,管道通信是半双工的。
作业调度和进程调度区别?
作业调度:从外存后备队列中选择作业进入内存,并为他们创建进程,将进程加入就绪队列。调度频率较低
进程调度:从就绪队列中选择进程,把CPU分配给他,调度频率比较高。
作业/进程调度算法
-
先来先服务。
-
短作业优先。
-
优先级调度法。
-
高响应比优先。
-
时间片轮转算法。
-
多级反馈队列算法。
对临界区的管理,同步机制遵循的原则
- 空闲让进
- 忙则等待
- 有限等待
- 让权等待:进程不能进入临界区时,需释放处理机的使用权
同步和互斥的区别?
- 同步是两个或多个进程在某些位置上需要协调工作次序而产生的制约关系,有先后次序。
- 互斥一个进程访问临界资源时其他进程必须等待,是竞争关系,没有先后次序。
死锁的四个必要条件
互斥条件,不可剥夺条件,部分分配条件(占有并保持等待),循环等待条件
死锁的处理策略
死锁预防(静态):可剥夺,预先静态分配,顺序资源分配法
死锁避免(动态):银行家算法
死锁的检测和解除
3、内存管理
分页管理方式和分段管理方式的比较
- 页是物理单位,分页是为了提高内存利用率,分页是由于系统管理员的需要。段是信息的逻辑单位,含有一组意义相对完整的信息,分段为了更好的满足用户的需要。
- 页的大小是固定的且由系统决定,由机器硬件实现。段的长度不固定,决定于用户编写的程序,由编译程序编译时根据信息的性质划分。
- 分页的地址空间是一维的,只需给出一个记忆符即可表示一个地址。分段的地址空间是二维的,程序员标识一个地址时,既需要给出段名,也需要给出段内地址。
- 页有内部碎片,无外部碎片。段无内部碎片,有外部碎片。
静态重定位和动态重定位?
重定位:作业程序装入到与其地址空间不一致的主存引起的对有关地址进行调整的过程。
静态重定位:地址变换在装入内存时一次完成。
动态重定位:装入内存后不立即把相对地址转换为绝对地址,把地址转换推迟到程序要执行时进行。
4、文件管理
文件共享
文件共享使多个用户或进程共享同一个文件,系统中只保留该文件的一个副本。
硬链接和软链接的区别(文件共享)
- 硬链接(基于索引节点):一个或多个文件。用文件名和 指向索引节点的指针 连接起来(文件名和指向索引节点指针的映射),索引节点中存放了文件的信息(物理地址,文件属性,被链接数等),因此多个文件名仅需与同一个索引节点链接。
- 软链接(符号链接):新文件中只包含了被链接文件的路径名(文件名和路径名的映射),类似于"快捷方式"。
- 硬链接删除时将自己与索引节点的链接断开,不会影响其他节点。软链接方式文件拥有者将原文件删除后,通过符号链去访问会访问失败,于是将符号链删除。
文件的物理结构(分配方式)
- 连续分配
- 链接分配
- 索引分配
5、输入输出(IO)管理
中断控制方式和DMA方式控制方式有什么区别?
- 中断控制方式每个数据传输时都要中断CPU,DMA方式则是一批数据传送结束时才中断CPU
- 中断控制方式数据传送由CPU控制完成,DMA控制方式由DMA控制器完成。
设备独立性是什么?
设备独立性是应用程序独立于使用的物理设备,在应用程序中使用逻辑设备名来请求使用某类设备。系统在执行时,使用物理设备。