操作系统---基础题目汇总三

这篇博客汇总了关于操作系统的多项选择题,涉及内存对齐、进程创建步骤、并发进程关系、实时系统特性、防止死锁的方法、文件系统操作、预防死锁策略以及线程同步等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、现在有以下语句:

struct _THUNDER{
       int iVersion;
       char cTag;
       char cAdv;
       int iUser;
       char cEnd;
}Thunder;
int sz = sizeof(Thunder);

则执行后,变量sz的值将得到
正确答案: D

A、11
B、12
C、13
D、16
内存对齐问题,分别 占字节数 int 4 char 1 char 1 int 4 char 1,但要对齐。

2、下面所述步骤中,不是创建进程所必须的步骤是?
正确答案: A

A、由调度程序为进程分配CPU
B、建立一个进程控制块
C、为进程分配内存
D、将进程控制块链入就绪队列

创建进程步骤:

1,申请空白PCB(进程控制块);
2,为新进程分派资源;
3,初始化PCB;
4,将新进程插入就绪队列;

3、在操作系统中,有一组进程,进程之间具有直接相互制约性。这组并发进程之间()。
正确答案: B

A、必定无关
B、必定相关
C、可能相关
D、相关程度相同

4、()对实时系统最重要。
正确答案: A

A、及时性
B、交互性
C、共享性
D、运行效率

5、资源静态分配法可以预防死锁的发生,因为使死锁四个条件中的()不成立。
正确答案: B

A、互斥条件
B、请求和保持条件
C、不可剥夺条件
D、环路等待条件

请求和保持:占着有的资源,伸手要没有的
静态分配资源,所有进程在开始运行之前,一次性地申请其在整个运行过程所需的全部资源。但在分配资源时,只要有一种资源不能满足某进程的要求,即使它所需的其他资源都空闲,也不分配给该进程,而让进程等待。
在进程的等待期间,它并未占有任何资源,摒弃了“保持”条件,避免发生死锁。

6、通过文件名存取文件时,文件系统内部的操作过程是通过?
正确答案: C

A、文件在目录中查找文件数据存取位置。
B、文件名直接找到文件的数据,进行存取操作。
C、文件名在目录中查找对应的i节点,通过i节点存取文件数据。
D、文件名在目录中查找对应的超级块,在超级块查找对应i节点,通过i节点存取文件数据

通过文件名存取文件时,文件系统内部的操作过程是通过:
答案:文件名在目录中查找对应的I节点,通过I节点存取文件数据
分析:
(1)UNIX文件系统包括引导块、超级块、i节点区、文件存储区、进程对换区等几部分。
(2)引导块占用第0号物理块,不属于文件系统管辖,如果系统中有多个文件系统,只有根文件系统才有引导程序放在引导块中,其余文件系统都不使用引导块;
超级块占用第1号物理块,是文件系统的控制块,超级块包括:文件系统的大小、空闲块数目、空闲块索引表、空闲i节点数目、空闲i节点索引表、封锁标记等。超级块是系统为文件分配存储空间、回收存储空间的依据。i节点区存放i节点,i节点是对文件进行控制和管理的一种数据结构。文件存储区是存放文件内容的区域,文件存储区中各数据块的使用情况在超级块中由记录,系统利用超级块中的记录完成对数据块的分配和回收。i节点保存了文件的属性和类型、存放文件内容的物理块地址、最近一次的存取时间、最近一次的修改时间、创建此文件的时间。
(3)inode本身并不记录文件名,而是记录文件的相关的属性(在上文提到过的那些属性),文件名则记录在目录所属的块区域。正因为这个原因,使得如果Linux读取一个文件的内容,就要先由根目录/获取该文件的上层目录所在的inode,再由该目录所记录的的文件关联性获取该文件的inode,最后通过inode内提供的块指针来获取最终的文件内容。

7、在下列选项中,属于预防死锁的方法是()。
正确答案: C

A、剥夺资源法
B、资源分配图简化法
C、资源静态分配
D、银行家算法

银行家算法:避免死锁。该方法将系统的状态分为安全和不安全,只要系统处于安全状态,便可避免 死锁 的发生。
剥夺资源法:解除死锁
资源分配图简化法:检测死锁

8、有m个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量的变化范围是()。
正确答案: A

A、1至-(m-1)
B、1至m-1
C、1至-m
D、1至m

一个信号量对应一个临界资源,初始时有资源,所以信号量初始值一般都是1
当有进程占用临界区时,-1
    当信号量 <= 0 代表已有进程占用临界区
           m个进程,最多-(m -1),代表有m-1个进程在等待临界区资源,即处于等待队列
    当信号量 > 0 即 = 1,代表没有进程进入临界区

9、两个线程运行在双核机器上,每个线程主程序如下,线程1:x=1;r1=y;线程2:y=1;r2=x。x和y是两个全局变量,初始为0。以下哪一个是r1和r2的可能值?
正确答案: A B C

A、r1=1,r2=1
B、r1=1,r2=0
C、r1=0,r2=1
D、r1=0,r2=0
线程之间先执行哪个语句不确定,几种可能性:
(1)r1=0,r2=1(2)r1=1,r2=1;(3)r1=1,r2=0; 而不可能出现两个都为0的情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值