计算机操作系统

简答题

1.操作系统概念,主要功能及其特征

操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充

主要功能:处理机控制功能,存储器控制功能,设备管理功能,文件管理功能,进程及作业管理功能

基本特征:异步,虚拟,并发,共享

2.利用所学知识,件数进程是那种基本状态机器转换条件

就绪态,执行态,阻塞态。

就绪态获得处理器资源进入执行态,执行态使用完时间片进入就绪态,阻塞态完成IO操作进入就绪态,执行态获得IO请求进入阻塞态

3.利用信号量实现下图前趋关系

p1(){S1;signal(a);signal(c);}

p2(){wait(a);S2;signal(b);}

p3(){wait(c);S3;signal(d);}

p4(){wait(b);wait(d);S4;}

main(){

semaphore a,b,c,d;

a.value = b.value = c.value = d.value;

cobegin

p1;p2;p3;p4;

coend

}

4.什么是死锁,件数死锁产生原因,必要条件和死锁定理

死锁:是指两个或多个进程在互相等待对方的资源而无法继续执行的转台,导致所有相关进程永久性阻塞的现象

死锁原因:竞争不可抢占资源导致的死锁,竞争可消耗性资源导致的死锁,进程推进顺序不对导致的死锁。

必要条件:互斥,循环等待,请求与保持,不可抢占

死锁定理事通过判断系统是否处于死锁状态的数学和图形化判断方法,核心是通过资源分配图来检测是否存在死锁。

5.存储器管理中连续分配方式有哪几种类型

单一连续分配

固定分区分配

动态分区分配(基于顺序搜索的动态分区分配:首次适应算法FF,循环首次适应算法NF,最佳适应算法BF,最坏适应算法WF;基于索引搜索的动态分区分配:快速适应算法,伙伴算法,哈希算法)

6.利用所学知识对假脱机技术Spooling系统的组成及其功能进行简单描述

目的:在多道批处理操作系统中,提高独占设备的利用率

组成:输入井及输出井,输入缓冲区和输出缓冲区,输入进程和输出进程,井管理程序

功能:提高了IO速度,将独占设备改造为了共享设备,实现了虚拟设备功能

7.四种操作系统类型并简要说明

.单道批处理系统:实现对作业的连续处理,将一批作业以脱机的方式输入到磁带上,并在监督程序的控制下,以此完成处理

多道批处理系统:将若干道程序放入内存中的等待序列,当正在执行的程序进行IO操作时,就将等待序列中的程序放入CPU进行处理,保证CPU持续运行。

分时操作系统:将CPU时间划分为多个时间片,多个用户使用终端访问系统,每个用户感觉自己独占整个操作系统

实时操作系统:在严格的时间限制内完成任务处理,确定性响应比比高吞吐量更重要

9.利用信号量解决生产者消费者问题中,说明需要设置的信号量,并分析执行顺序以及顺序错误的后果

mutex(互斥信号量)empty(空缓冲区数量)full(满缓冲区数量)

应当先消耗同步信号量,后上锁;完成操作后先解锁,后释放同步信号量。否则会导致系统死锁。

10.处理死锁的方法以及每种方法应用的措施

预防死锁(破坏四个必要条件之一),避免死锁(放置系统进入不安全状态,银行家算法),检测死锁(通过死锁检测程序检测死锁发生,通过和合理方法解除),解除死锁(撤销一些进程并回收他们的资源)

11.简述虚拟存储器及其特征

具有请求调入和置换功能,能从逻辑上对内存加以扩充的一种存储器系统

特征:多次性,对换性,虚拟性

作用:作为用户和计算机硬件之间的接口,作为计算机资源的管理者,实现对计算机资源的抽象

14.简述临界资源,临界区,进程同步机制应遵循的原则

临界资源是需要互斥访问的共享资源

临界区是每个进程中访问临界资源的代码

进程同步机制应当确保一次只有一个进程或线程使用临界资源

16.简述使用银行家算法避免死锁

Requesti

18.描述用户发送打印指令到打印完成过程中设备执行以及分配过程

1.用户发出打印申请

2.操作系统接手并处理

3.假脱机与排队

4.设备分配与调度

5.驱动程序与数据传输

6.打印机硬件执行

19.分页和分段的区别

1.页是信息的物理单位,段是信息的逻辑单位

2.页的大小固定且有系统决定,段长度不固定,取决于用户书写的程序

3.分页的用户程序地址空间是一维的,分段的地址空间是二维的

22.处理机调度层次

1.长程调度:调度对象是作业,根据算法决定将哪些外存上的作业调度到内存。分时与实时操作系统不存在高级调度

2.低级调度:调度对象是进程,根据算法决定哪个进程应当获得处理机。

3.中级调度:将暂时不能运行的进程调度到外存中

23.基于顺序搜索的动态分区算法有哪几种

首次适应算法,循环首次适应算法,最佳适应算法,最差适应算法

24.操作系统为什么要引入缓冲区?

1.缓和CPU与IO设备间速度不匹配的矛盾

2.减少CPU的中断频率,放宽CPU中断响应时间的限制

3.解决数据粒度不匹配的问题

相关推荐
迎仔8 分钟前
C-算力中心网络隔离实施方法:怎么搞?
运维·网络
代码游侠12 分钟前
C语言核心概念复习——网络协议与TCP/IP
linux·运维·服务器·网络·算法
你真是饿了14 分钟前
6.库制作与原理
linux·服务器
Zach_yuan1 小时前
深入浅出 JSONCpp
linux·服务器·网络·c++
AtoposのCX3302 小时前
Docker运行hello-world镜像失败或超时
运维·docker
马猴烧酒.2 小时前
【面试八股|JAVA多线程】JAVA多线程常考面试题详解
java·服务器·数据库
熊延3 小时前
麒麟V10系统安装部署elasticsearch
linux·运维·服务器·elasticsearch·搜索引擎·全文检索
松涛和鸣4 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
Yeats_Liao6 小时前
评估体系构建:基于自动化指标与人工打分的双重验证
运维·人工智能·深度学习·算法·机器学习·自动化
爱吃生蚝的于勒6 小时前
【Linux】进程信号之捕捉(三)
linux·运维·服务器·c语言·数据结构·c++·学习