【操作系统】面试

1.处理器为什么要区分核心态和用户态两种操作方式?在什么情况下进行两种方式的切换?

原因:
区分执行态的主要目的是保护系统程序。因为在cpu指令中,有些指令是非常危险的,如果错误使用将导致系统崩溃,比如清空内存,更改时钟,所以CPU将指令分为特权指令和非特权指令对于危险指令只允许操作系统及相关模块使用,普通应用程序只能使用不危险的指令。

用户态切换到内核态发生在执行中断时,内核态切换到用户态发生在执行中断返回用户程序。

详解:

intel(英特尔)的cpu将特权等级分为4个级别:Intel的CPU将特权等级分为4个级别:Ring0~Ring3,而Linux使用Ring3级别运行用户态,Ring0作为内核态。

操作系统启动时对内存进行了划分,操作系统的数据都是存放于内核空间的,用户进程的数据是存放于用户空间的。处于用户态级别的程序只能访问用户空间,而处于内核态级别的程序可以访问用户空间和内核空间。

当一个进程执行系统调用而陷入内核代码中执行时,我们就称进程处于内核态

在这里插入图片描述

2.批处理操作系统、分时操作系统和实时操作系统各有什么特点?
1 ) 批处理操作系统的用户脱机使用计算机,作业是成批处理的,系统内多道程序井发执行,交互能力差。

2 )分时操作系统可以让多个用户同时使用计算机,人机交互性较强,具有每个用户独立使用计算机的独占性,系统响应及时。

3 )实时操作系统能对控制对象作出及时反应,可靠性高,响应及时,但是资源利用率低。

在这里插入图片描述
3.程序并发执行时的特征

什么是程序的并发执行?

是指在一个时间段内执行多个程序。

特征:

(1)间断性。在程序并发执行时,由于它们之间共享资源或相互合作,致使它们之间形成了相互制约的关系,导致并发程序在执行中因为受到影响,表现为“执行—暂停执行—执行”的间断性活动规律。

(2)失去封闭性。程序并发执行时,多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行失去了封闭性。这样,程序在执行时,必然会受到其他程序的影响。

(3)不可再现性。由于程序执行时失去了封闭性,也将导致失去可再现性。既使并发程序执行的环境和初始条件相同,程序的多次执行或以不同的方式执行,可能获得不相同的结果。

4.请简述死锁的定义,产生死锁的原因和必要条件。

死锁的定义:如果一个进程中的每一个进程都在等待仅该组进程中的其他进程才能引发的事件,那么该组进程是死锁的。

死锁的产生原因:
1、系统资源不足;
2、进程运行推进的顺序不当;
3、资源分配不当;

死锁产生的必要条件:
1、进程互斥;
2、保持和等待;
3、不可抢占;
4、循环等待;

5、请阐述I/O的主要控制方式。

1、程序查询方式也称为程序轮询方式。
2、中断方式。
3、DMA(直接内存存取)方式。
4、I/O通道控制方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

B64A-消闲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值