目录
一、操作系统的基本功能和设计目标
(1)基础知识
(2)题目与答案
1、操作系统是一组 B (单选)
2、以下哪项不是操作系统关心的主要问题?D (单选)
3、下列关于操作系统的叙述正确的是?C (单选)
4、内存管理的主要任务有?ABCD (多选)
5、除了易用性、高效性、可靠性和可扩展性这四个设计目标,现代操作系统还应考虑能效性。以下哪项不属于操作系统改善计算机能耗的途径?D (单选)
二、系统函数调用基础
(1)题目与答案
1、以下不是用来分配内存的函数的是?C (单选)
2、lseek()中第三个参数的值为0表示?B (单选)
3、下面更改文件命令只能更改符号连接的目标文件的权限的命令是?C (单选)
4、下面关于ftell()函数成功调用说法不正确的是?B (单选)
5、以下函数中表示从某流中读取一个字符但该函数不带参数,表示从标准输入流中读字符的函数是?D (单选)
6、在函数fopen()中文件打开模式中不是可读写的方式打开文件模式是?A (单选)
7、格式化输出可把格式化数据输出到标准输出、指定文件及字符缓冲区。其中( B )函数是将格式化数据输出到指定大小的字符缓冲区?B (单选)
三、文件系统基础
(1)基础知识补充
(2)题目与答案
1、比较文件的差异要用到的命令是以下哪一种?A (单选)
2、存放设备文件的相关文件目录是?A (单选)
3、rm命令表示什么?D (单选)
4、在openEuler系统中,用户文件描述符0表示?B (单选)
5、在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项是?C (单选)
6、执行命令“chmod o+rw myfile”后,myfile文件的权限变化为?B (单选)
四、进程基础知识
(1)题目与答案
1、临界区是指并发进程中涉及共享变量的(A)。
2、下列有关fork()函数返回值说法错误的是( D )
3、下面程序的输出是什么( D )
4、下面说法不正确的是( C )
5、关于SIGCHLD信号说法错误的是( D )
6、下列哪种通信方式只能用于具有亲缘关系进程之间的通信( A )
本篇博客是作者关于期末《操作系统实训》的选择题复习和总结。
一、操作系统的基本功能和设计目标
(1)基础知识
- 操作系统的任务是管理和控制计算机系统中的所有硬件和软件资源。合理高效地组织计算机的工作流程,使所有的部件配合CPU运行良好,并为用户提供高可用、易用性强的交互接口。
- 从资源管理方面来说,操作系统需要做到:CPU管理、内存管理、文件管理和设备管理;从用户接口方面来说,操作系统需提供良好的工作环境和接口。
- 用户与操作系统交互的接口分为命令接口和应用程序接口(API)。
(2)题目与答案
1、操作系统是一组 B (单选)
A、文件管理程序
B、资源管理程序
C、中断处理程序
D、设备管理程序
2、以下哪项不是操作系统关心的主要问题?D (单选)
A、管理计算机裸机
B、设计、提供用户程序与计算机硬件系统的界面
C、管理计算机系统资源
D、高级程序设计语言的编译器
3、下列关于操作系统的叙述正确的是?C (单选)
A、操作系统是硬件和软件之间的接口
B、操作系统是主机与外设之间的接口
C、操作系统是用户与计算机之间的接口
D、操作系统是源程序与目标程序之间的接口
4、内存管理的主要任务有?ABCD (多选)
A、物理内存的分配和回收
B、虚拟地址到物理地址的映射
C、地址转换的加速
D、突破物理内存限制
5、除了易用性、高效性、可靠性和可扩展性这四个设计目标,现代操作系统还应考虑能效性。以下哪项不属于操作系统改善计算机能耗的途径?D (单选)
A、根据工作负载调整CPU频率
B、采用模块化的结构设计
C、采用动态电压和频率缩放技术
D、休眠或关闭部分空闲设备(如磁盘)
二、系统函数调用基础
(1)题目与答案
1、以下不是用来分配内存的函数的是?C (单选)
A、realloc()
B、malloc()
C、free()
D、calloc()
2、lseek()中第三个参数的值为0表示?B (单选)
(函数原型off_t lseek(int fd, off_t offset, int whence); 打开一个文件的下一次读写的开始位置 )
A、文件读写指针当前位置
B、文件开始位置
C、文件结束位置
D、都不是
3、下面更改文件命令只能更改符号连接的目标文件的权限的命令是?C (单选)
A、chgrp
B、chown
C、chmod
D、以上都不对
4、下面关于ftell()函数成功调用说法不正确的是?B (单选)
- 函数 ftell 用于得到文件位置指针当前位置相对于文件首的偏移字节数。在随机方式存取文件时,由于文件位置频繁的前后移动,程序不容易确定文件的当前位置。
A、返回读写指针当前相对文件起始位置的位移量
B、返回读写指针当前相对文件结束位置的位移量
C、会清除流结束标志
D、会撤销已调用ungetc()对流的影响
5、以下函数中表示从某流中读取一个字符但该函数不带参数,表示从标准输入流中读字符的函数是?D (单选)
- fgetc、getc、getchar -- 从指定文件流中读取一个字节的数据。
- int fgetc(FILE *stream);
int getc(FILE *stream);
int getchar();A、getc
B、gets
C、fgetc
D、getchar
6、在函数fopen()中文件打开模式中不是可读写的方式打开文件模式是?A (单选)
fopen -- 用于打开一个文件,返回一个指向该文件的文件指针
函数原型:FILE *fopen(const char *filename, const char *mode);
- filename -- 指定了被打开的文件的路径(相对路径或绝对路径)
- mode -- 指定了被打开文件的操作方式,如下:
"r" -- 只读
"w" -- 只写,并将文件截断为0
"a" -- 只写,以追加方式从文件尾开始写
"r+" -- 读写
"w+" -- 读写,并将文件截断为0
"a+" -- 读写,以追加方式从文件尾开始写
- fopen执行成功时返回指向被打开文件的文件流指针,失败时返回NULL。
A、r
B、r+
C、a+
D、w+
7、格式化输出可把格式化数据输出到标准输出、指定文件及字符缓冲区。其中( B )函数是将格式化数据输出到指定大小的字符缓冲区?B (单选)
- 函数fprintf()其作用是格式化输出到一个流文件中
- 函数snprintf()其作用是格式化为字符串,然后再将其拷贝至字符串缓冲区再发送出去
- 格式化函数sprintf()格式化输出到所指向的字符串
- printf()直接输出打印到控制台上
A、sprintf
B、snprintf
C、fprintf
D、printf
三、文件系统基础
(1)基础知识补充
(2)题目与答案
1、比较文件的差异要用到的命令是以下哪一种?A (单选)
A、diff
B、cat
C、wc
D、head
2、存放设备文件的相关文件目录是?A (单选)
A、/dev
B、/etc
C、/lib
D、/bin
3、rm命令表示什么?D (单选)
- Linux 文件和文件夹移动/重命名:mv
- Linux 文件和文件夹拷贝:cp [命令选项] 源文件 目的文件
- Linux 中创建文件夹命令是:mkdir
- Linux 中创建文件的常用命令是:touch
- 改变当前工作目录:cd
- 读取文件的内容:cat
- 打印当前的工作目录:pwd
A、文件复制命令
B、移动文件命令
C、文件内容统计命令
D、文件删除命令
4、在openEuler系统中,用户文件描述符0表示?B (单选)
A、标准输出设备文件描述符
B、标准输入设备文件描述符
C、管道文件描述符
D、标准错误输出设备文件描述符
5、在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项是?C (单选)
mkdir [命令选项] dirname
常用命令选项:
-p或--parents
若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;A、-d
B、-m
C、-p
D、-f
6、执行命令“chmod o+rw myfile”后,myfile文件的权限变化为?B (单选)
u 表示“用户(user)”,即文件或目录的所有者
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户
o 表示“其他(others)用户”
a 表示“所有(all)用户”,它是系统默认值
+:添加某个权限;
-:取消某个权限;
=:赋予给定权限并取消其他所有权限。
r 可读;
w 可写;
x 可执行。A、所有用户都可读写myfile文件
B、其他用户可读写myfile文件
C、同组用户可读写myfile文件
D、文件所有者读写myfile文件
四、进程基础知识
(1)题目与答案
1、临界区是指并发进程中涉及共享变量的(A)。
A、程序段
B、管理信息区
C、公共数据区
D、信息存储区
2、下列有关fork()函数返回值说法错误的是( D )
fork()
函数调用将执行两次返回,它将从父进程和子进程中分别返回。从父进程返回时的返回值为子进程的PID
,,而从子进程返回时的返回值为0。
A、函数成功返回时,一次返回两个值,错误返回时为-1
B、返回值等于0表示子进程
C、返回值大于0表示父进程
D、大于0返回值为父进程的PID号
3、下面程序的输出是什么( D )
#include <stdio.h> #include <unistd.h> int main(int argc, char** argv){ if(fork() == 0){ printf("hello"); }else{ printf("world"); } return 0; }
A、helloworld
B、wordhello
C、hello
D、不确定
4、下面说法不正确的是( C )
- fork()函数创建进程。
A、管道和命名管道是最早进程间通信机制之一
B、消息队列是将消息按队列的方式组织成的链表,每个消息都是其中的一个节点
C、进程创建一般由create函数完成
D、共享内存和消息都是由Linux内核来管理和分配资源
5、关于SIGCHLD信号说法错误的是( D )
- SIGCHLD,在一个进程终止或者停止时,将SIGCHLD信号发送给其父进程,按系统默认将忽略此信号,如果父进程希望被告知其子系统的这种状态,则应捕捉此信号。
A、在子进程退出时,会向父进程发送该信号
B、需要及时处理SIGCHLD防止僵尸进程
C、SIGCHLD信号的默认处理方式是忽略
D、由于SIGCHLD信号默认方式是忽略,所以在代码中不需要手动设置SIGCHLD信息的处理方式,也不会产生僵尸进程
6、下列哪种通信方式只能用于具有亲缘关系进程之间的通信( A )
A、匿名管道
B、消息队列
C、共享内存
D、命名管道