面试整理学习专题2:操作系统(二)

简介: 并行指两个或者多个事件同一时刻发生,并发是两个或者多个事件在同一时间间隔发生;并行是在不同实体上的多个事件,并发是在同一实体上的多个事件(如单核CPU轮转时间片)

16、缓冲区溢出?危害?

缓冲区为暂时放置输入或输出资料的内存。缓冲区溢出是指当计算机向缓冲区填充数据时超出了缓冲区本身的容量,溢出的数据覆盖在合法数据上。

危害:程序崩溃导致拒绝服务和跳转并且执行一段恶意代码。


17、分段、分页的区别?

39881bbe0b3f9e581af96488debb453e_aa642c752293495ca3db61e2ab94081d.png


18、物理地址、逻辑地址、虚拟内存的概念。

e5ce574858156442faac8dac90615821_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_17,color_FFFFFF,t_70,g_se,x_16.png


19、页面置换算法有哪些?

7e7a2da472344d941a4eee6764b08a00_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_18,color_FFFFFF,t_70,g_se,x_16.png


20、动态链接库和静态链接库的理解?

bfc0bbb0c89de9e19edf382c3da96749_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_17,color_FFFFFF,t_70,g_se,x_16.png


21、外中断和异常什么区别关系

363257b1c4d98699975efde156601d00_49f9a92b530c49329a15506ba1750e1e.png


22、一个程序从开始运行到结束的完整过程?

题目中的开始指的是手动 点击打开一个应用程序那一刻开始算起。


四个过程:预编译、编译、汇编、链接

(1)预编译:主要是处理源代码文件中的以“#”开头的预编译指令。

ba6b9573547a28e4a858b53e68a02bd2_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_17,color_FFFFFF,t_70,g_se,x_16.png


(2)编译:把预编译之后产生XXX.i或者XXX.ii文件进行一系列的词法分析、语法分析、语义分析及优化之后,生成相应的汇编代码文件。

38c3d38fdae23248323febae268c074a_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_17,color_FFFFFF,t_70,g_se,x_16.png

(3)汇编:

将汇编代码转成机器可以执行的指令(机器码文件)。汇编器的汇编过程相对于编译器来说更加简单,没有复杂的语法,也没有语义,更不需要做到指令优化,只是根据汇编指令和机器指令的对照表一一翻译过来,汇编过程有汇编器as完成。

经过汇编之后,产生目标文件(与可执行文件格式几乎一样)xxx.o(linux下),xxx.obj(windows下)。


汇编这一块可以参照:汇编语言及学习(大学相关课程)以至更好的理解机器码的执行等,汇编有专门的语言,就叫汇编语言。


(4)链接:将不同的源文件产生的目标文件进行链接,从而形成一个可以执行的程序,链接分为静态链接和动态链接。

980e76fad0280dc77275a71104e65234_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_17,color_FFFFFF,t_70,g_se,x_16.png


23、什么是用户态与内核态?

这是两种操作系统的运行状态。


内核态:处于内核态的CPU可以访问任意的数据,包括外围设备,比如网卡、硬盘等。处于内核态的CPU可以从一个程序切换到另外一个程序,并且CPU不会发生抢占情况,一般处于特权级0的状态我们称为内核态。

用户态:处于用户态的CPU只能受限的访问内存,并且不允许被访问外围设备。用户态下的CPU不允许独占,也就是说CPU能够被其他程序获取。。

为什么要有用户态和内核态。

答:计算机有一些比较危险的操作,设置闹钟、内存清理等等,都需要特定的状态,也就是内核态下完成,如果随意的进行操作,那么很容易造成系统崩溃或者不可挽回的灾难。


24、用户态和内核态如何进行切换的?


46072f84b32e05afcf72a004a7ec41a6_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_17,color_FFFFFF,t_70,g_se,x_16.png

ae83696195d0223f06226b9617193d8b_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_16,color_FFFFFF,t_70,g_se,x_16.png

ae83696195d0223f06226b9617193d8b_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_16,color_FFFFFF,t_70,g_se,x_16.png

25、进程终止的方式?

由于以下条件进行触发:

1、正常退出。

2、错误退出。

3、严重错误(非自愿)

4、被其他进程杀死(非自愿)

5e4ec61e85ec7115f5af1c8880c6d63d_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_17,color_FFFFFF,t_70,g_se,x_16.png


26、守护进程、僵尸进程、孤儿进程等?

0b873e3afb2070ae3d00f0fd25cc94b5_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_17,color_FFFFFF,t_70,g_se,x_16.png

9bc8ff2172e82130c7d2765935287ed1_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_17,color_FFFFFF,t_70,g_se,x_16.png


27、如何避免僵尸进程

ccea0092e4797b0b74d1e1e3c5b0df13_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_17,color_FFFFFF,t_70,g_se,x_16.png


28、介绍几种典型的锁?

29f4ea71195c40999c34bd11e47cc306_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_17,color_FFFFFF,t_70,g_se,x_16.png


29、常见的内存分配错误

25f2271f5cd426236cb64af81b889502_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_18,color_FFFFFF,t_70,g_se,x_16.png


30、内存交换中被换出的进程保存在哪里?

保存在磁盘中,也就是外存中。

ea3de2c12cb492a83cb7c311d4d93b75_6d7ce21ab78a4e13b2da08d9a8989f10.png


31、原子操作如何实现的?

45973a1cf7d6b809e76bfc92c7b8572f_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_18,color_FFFFFF,t_70,g_se,x_16.png

98b03b825b062baf85683cbca383fbaf_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_16,color_FFFFFF,t_70,g_se,x_16.png

32、抖动说一下?

也叫颠簸现象。

e5887b1a007f6d3ed4ce4c9d48f48c93_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_17,color_FFFFFF,t_70,g_se,x_16.png

相关文章
|
1月前
|
存储 Unix 程序员
面试题:Ctrl + C在不同操作系统下的应用
字节跳动面试题:Ctrl + C在不同操作系统下的应用
41 1
|
4月前
|
存储 缓存 前端开发
No198.精选前端面试题,享受每天的挑战和学习
No198.精选前端面试题,享受每天的挑战和学习
|
4月前
|
存储 JSON 前端开发
No206.精选前端面试题,享受每天的挑战和学习
No206.精选前端面试题,享受每天的挑战和学习
No206.精选前端面试题,享受每天的挑战和学习
|
14天前
|
监控 安全 Java
【多线程学习】深入探究阻塞队列与生产者消费者模型和线程池常见面试题
【多线程学习】深入探究阻塞队列与生产者消费者模型和线程池常见面试题
|
28天前
|
存储 算法 Shell
操作系统(1)——学习导论(Ⅲ)
操作系统(1)——学习导论(Ⅲ)
|
28天前
|
存储 缓存 编解码
操作系统(1)——学习导论(Ⅰ)
操作系统(1)——学习导论(Ⅰ)
|
2月前
|
网络协议
跟着动画学习TCP三次握手和四次挥手,及全部面试题
跟着动画学习TCP三次握手和四次挥手,及全部面试题
41 0
|
3月前
|
机器人 Linux 数据安全/隐私保护
Python办公自动化【Windows中定时任务、OS/linux 系统定时任务 、Python 钉钉发送消息、Python 钉钉发送图片】(九)-全面详解(学习总结---从入门到深化)
Python办公自动化【Windows中定时任务、OS/linux 系统定时任务 、Python 钉钉发送消息、Python 钉钉发送图片】(九)-全面详解(学习总结---从入门到深化)
73 0
|
3月前
|
消息中间件 调度 C++
C/C++工程师面试题(操作系统篇)
C/C++工程师面试题(操作系统篇)
36 0
|
4月前
|
存储 前端开发 JavaScript
No204.精选前端面试题,享受每天的挑战和学习
No204.精选前端面试题,享受每天的挑战和学习