操作系统大题整理

专题一

程序代码题:程序设计与分析,主要考的是线程,多线程的并发?

大题第一问(1)操作系统的结构有哪几种常用的结构?

宏内核:宏内核是将操作系统的主要功能模块都集中在内核的一种结构。高性能,复杂度高,缺乏灵活性。具体表现在:由于所有的功能都在内核中,模块之间的调用通过函数调用实现,通信开销小,执行效率高。内核代码庞大且复杂,因为包含了众多功能模块,使得内核的开发,维护和调试都比较困难。

微内核:微内核只把操作系统最基本的功能放在内核中,其他功能如文件系统,设备管理等都放在内核之外的空间。高可靠性,良好的拓展性。内核小简单,减少了内核出错的概率,如果用户空间的服务出现故障,不会直接导致整个系统崩溃。可以方便的在用户空间添加新的服务。

混合内核:混合内核结合了宏内核和微内核的特点,它在内核中保留了较多的功能,但又采用了微内核的一些设计理念,如将部分功能模块进行了分离和模块化处理。性能与拓展性的平衡,复杂性适中。

大题第二问(2)Linux源码从git中如何下载(题干中源码的链接给了)?拓展一下git常用方法,git怎么用,分支管理,创建......

在下载源码之前,需要确保系统已安装 Git。如果未安装,可以通过以下方式安装

sudo apt- getinstall git

克隆远程仓库: git clone <repository rul> 远程仓库的地址(URL)

创建并切换到新分支: git checkout -b <branch name>

仅创建分支:如果只想创建分支而不切换: git branch <branch name>

合并分区:git merge <source branch>

大题第三问(3)对于Linux是典型的宏结构,但是它仍然把微内核的优势引用进来,动态的内核加载机制,可以动态加载,加载的步骤是什么?

只需要写核心的步骤:第一步编写内核,第二步进行编译,第三步编译之后加载内核,第四步加载完成后还可以进行卸载。

专题二 虚拟化(主要是虚拟处理器)

大题第一问(1)给你一组实验数据,这个实验数据是上课做过的,让你计算cpu的个数,物理cpu和逻辑cpu的个数。

大题第二问(2)得出是有多颗cpu的,多核的,再给你一组数据,查看有几个进程,请把这俩个进程绑定到指定的逻辑cpu上,怎么处理?

专题三:虚拟化(包含虚拟化的内存)

大题第一问(1)对着程序输出结果找到相应的地址段就行

大题第二问(2)还需要解释.bss .data .rodata .text的含义:

.text段通常存放程序的可执行代码,它是可读的,因为在程序运行的过程中,代码本身通常是不会被修改的。

.data段存放的是已经初始化的全局变量和静态变量(非零初始化)

.rodata段存放的是只读数据,例如字符串常量,被const修饰的全局变量等

.bss段存放的是未初始化的全局变量和静态变量

PS:初始化赋值为0的变量属于.bss段

大题第三问(3)内存管理中相应的又分为动态分区和静态分区,其中堆和栈的区别是什么?

堆是一种无序的数据存储区域,更像是把数据随意的堆放在一块大的内存空间里,数据的存储和释放并没有像栈那样固定的顺序。堆的内存空间大小相对于栈来说要大的多,它通常是可以动态扩展的。堆的数据访问速度相对于栈要慢一些。

栈是一种后进先出的数据结构。在内存中,栈的生长方向是从高地址向低地址进行的,数据的存入和取出操作都是在栈顶进行,新的数据入栈时会被压入栈顶,而数据出栈时也是从栈顶取出相应的数据。栈的大小通常是有限的,并且相对较小。栈的数据访问速度通常比较快。因为栈的内存分配和释放操作简单且有规律。

相关推荐
计算机安禾14 分钟前
【Linux从入门到精通】第31篇:防火墙漫谈——iptables与firewalld防护指南
linux·运维·php
下一页盛夏花开31 分钟前
ubuntu 20中安装QT以后出现红色空心断点
linux·运维·ubuntu
金色光环1 小时前
FreeModbus释放底层的 TCP 监听端口
服务器·网络·tcp/ip
sanshanjianke1 小时前
Thunderobot 911ME 笔记本 Linux 风扇控制研究
linux
sxgzzn3 小时前
光伏数智化综合平台:让光伏电站运维更智能、更高效
运维
fengyehongWorld4 小时前
TeraTerm ttl脚本登录wsl
linux·teraterm
乌托邦的逃亡者5 小时前
Linux中如何检测IP冲突
linux·运维·tcp/ip
一曦的后花园5 小时前
linux搭建promethes并对接node-exporter指标
linux·运维·服务器
乌托邦的逃亡者5 小时前
CentOS/Openeuler主机中,为一个网卡设置多个IP地址
linux·运维·网络·tcp/ip·centos