前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >嵌入式软件工程师笔试面试指南-操作系统

嵌入式软件工程师笔试面试指南-操作系统

作者头像
嵌入式与Linux那些事
修改2021-05-20 14:42:04
8170
修改2021-05-20 14:42:04
举报

操作系统

进程和线程

什么是进程?什么是线程?

进程和线程有什么区别?

何时使用多进程,何时使用多线程?

进程有几种状态?画一下进程状态转换图?

创建进程有哪几种方式?

进程间通信方式?有什么优缺点?

线程间同步方法有哪些?

什么是内核线程和用户线程?

内核线程和用户线程的区别?

内核线程和用户线程有什么优缺点?

什么是僵尸进程,孤儿进程,守护进程?

僵尸进程有什么危害?

如何清理僵尸进程?

如何唤醒被阻塞的socket线程?

如何确定当前线程是繁忙还是阻塞?

空闲的进程和阻塞的进程状态会不会在唤醒的时候误判?

请问就绪状态的进程在等待什么?

如何实现线程池?

请你回答一下fork和vfork的区别

server端监听端口,但还没有客户端连接进来,此时进程处于什么状态?

堆和栈

什么是代码段,数据段,bss段,堆,栈?

为什么堆的空间是不连续的?

什么是用户栈和内核栈?

用户栈和内核栈,为什么不能共用一个栈?

线程是否具有相同的堆栈?

并发和互斥

驱动里面为什么要有并发、互斥的控制?如何实现?讲个例子?

自旋锁是什么?信号量是什么?二者有何异同?

自旋锁和信号量可以睡眠吗?为什么?

自旋锁和信号量可以用于中断中吗?

读写锁是什么?

产生死锁的原因是什么?

死锁的4个必要条件是什么?

死锁的处理方式有哪些?

如何避免死锁?

请问单核机器上写多线程程序,是否需要考虑加锁,为什么?

内存

在1G内存的计算机中能否malloc(1.2G)?为什么?

malloc能申请多大的空间?

内存管理有哪几种方式?

什么是虚拟内存?

解释下内存碎片,内碎片,外碎片?

解释下虚拟地址、逻辑地址、线性地址、物理地址?

请问虚拟内存和物理内存怎么对应?

虚拟内存置换方式是怎么样的?

给你一个类,里面有static,virtual之类的,来说一说这个类的内存分布?

假设临界区资源释放,如何保证只让一个线程获得临界区资源而不是都获得?

操作系统中的缺页中断是什么?

OS缺页置换算法如何实现的?

系统调用是什么,你用过哪些系统调用,和库函数有什么区别?

为什么要有page cache,操作系统怎么设计的page cache?

上下文

上下文有哪些?怎么理解?

为什么会有上下文这种概念?

什么情况下进行用户态到内核态的切换?

中断上下文代码中有哪些注意事项?

请问线程需要保存哪些上下文,SP、PC、EAX这些寄存器是干嘛用的?

结语

如果觉得本篇文章对你有帮助,在【收藏】的时候,可以【双击】下屏幕支持下作者,这个对我真的很重要!

你的每一个赞我都当成了喜欢,谢谢各位兄弟姐妹啦~

关于作者

本硕双非,参加了2020年秋招和2021年的春招,投递岗位是嵌入式软件(驱动)相关。总共收获Oppo,小米,海康威视,兆易创新,全志科技等十余家公司的offer。 我把自己的秋招,春招历程详细记录了下来,同时,把自己秋招过程总结的笔试面试资料分享了出来,即嵌入式软件工程师笔试面试指南。关注我的知乎专栏即可获取。PDF版本获取方式在公众号。

原文作者:仲一

文章来源:

嵌入式软件工程师笔试面试指南-操作系统​

原出处:公众号-嵌入式与Linux那些事

侵删

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 操作系统
  • 进程和线程
    • 什么是进程?什么是线程?
      • 进程和线程有什么区别?
        • 何时使用多进程,何时使用多线程?
          • 进程有几种状态?画一下进程状态转换图?
            • 创建进程有哪几种方式?
              • 进程间通信方式?有什么优缺点?
                • 线程间同步方法有哪些?
                  • 什么是内核线程和用户线程?
                    • 内核线程和用户线程的区别?
                      • 内核线程和用户线程有什么优缺点?
                        • 什么是僵尸进程,孤儿进程,守护进程?
                          • 僵尸进程有什么危害?
                            • 如何清理僵尸进程?
                              • 如何唤醒被阻塞的socket线程?
                                • 如何确定当前线程是繁忙还是阻塞?
                                  • 空闲的进程和阻塞的进程状态会不会在唤醒的时候误判?
                                    • 请问就绪状态的进程在等待什么?
                                      • 如何实现线程池?
                                        • 请你回答一下fork和vfork的区别
                                          • server端监听端口,但还没有客户端连接进来,此时进程处于什么状态?
                                          • 堆和栈
                                            • 什么是代码段,数据段,bss段,堆,栈?
                                              • 为什么堆的空间是不连续的?
                                                • 什么是用户栈和内核栈?
                                                  • 用户栈和内核栈,为什么不能共用一个栈?
                                                    • 线程是否具有相同的堆栈?
                                                    • 并发和互斥
                                                      • 驱动里面为什么要有并发、互斥的控制?如何实现?讲个例子?
                                                        • 自旋锁是什么?信号量是什么?二者有何异同?
                                                          • 自旋锁和信号量可以睡眠吗?为什么?
                                                            • 自旋锁和信号量可以用于中断中吗?
                                                              • 读写锁是什么?
                                                                • 产生死锁的原因是什么?
                                                                  • 死锁的4个必要条件是什么?
                                                                    • 死锁的处理方式有哪些?
                                                                      • 如何避免死锁?
                                                                        • 请问单核机器上写多线程程序,是否需要考虑加锁,为什么?
                                                                        • 内存
                                                                          • 在1G内存的计算机中能否malloc(1.2G)?为什么?
                                                                            • malloc能申请多大的空间?
                                                                              • 内存管理有哪几种方式?
                                                                                • 什么是虚拟内存?
                                                                                  • 解释下内存碎片,内碎片,外碎片?
                                                                                    • 解释下虚拟地址、逻辑地址、线性地址、物理地址?
                                                                                      • 请问虚拟内存和物理内存怎么对应?
                                                                                        • 虚拟内存置换方式是怎么样的?
                                                                                          • 给你一个类,里面有static,virtual之类的,来说一说这个类的内存分布?
                                                                                            • 假设临界区资源释放,如何保证只让一个线程获得临界区资源而不是都获得?
                                                                                              • 操作系统中的缺页中断是什么?
                                                                                                • OS缺页置换算法如何实现的?
                                                                                                  • 系统调用是什么,你用过哪些系统调用,和库函数有什么区别?
                                                                                                    • 为什么要有page cache,操作系统怎么设计的page cache?
                                                                                                    • 上下文
                                                                                                      • 上下文有哪些?怎么理解?
                                                                                                        • 为什么会有上下文这种概念?
                                                                                                          • 什么情况下进行用户态到内核态的切换?
                                                                                                            • 中断上下文代码中有哪些注意事项?
                                                                                                              • 请问线程需要保存哪些上下文,SP、PC、EAX这些寄存器是干嘛用的?
                                                                                                              • 结语
                                                                                                              • 关于作者
                                                                                                              相关产品与服务
                                                                                                              物联网
                                                                                                              腾讯连连是腾讯云物联网全新商业品牌,它涵盖一站式物联网平台 IoT Explorer,连连官方微信小程序和配套的小程序 SDK、插件和开源 App,并整合腾讯云内优势产品能力,如大数据、音视频、AI等。同时,它打通腾讯系 C 端内容资源,如QQ音乐、微信支付、微保、微众银行、医疗健康等生态应用入口。提供覆盖“云-管-边-端”的物联网基础设施,面向“消费物联”和 “产业物联”两大赛道提供全方位的物联网产品和解决方案,助力企业高效实现数字化转型。
                                                                                                              领券
                                                                                                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档