2.1 操作系统 杂项

一、RTOS 和 Linux 最主要的区别

RTOS 采用基于优先级的抢占式调度算法,高优先级任务可以随时抢占低优先级任务的执行权,且调度算法的时间复杂度是确定的。需要的内存、处理资源较小,可靠性好。

Linux 的调度算法复杂,整体调度机制更侧重系统的整体性能和资源利用率。需要较多的资源,可靠性稍差。

二、系统调用的作用

系统调用是操作系统提供的接口,允许应用程序请求操作系统的服务。它们充当了应用程序与操作系统之间的桥梁,通过系统调用,应用程序可以执行一些只有内核态才能进行的特权操作,如文件读写、设备访问、网络通信、进程管理等。

三、系统调用流程

用户态调用标准库函数——切换到内核态——内核进行处理——返回到用户态

四、Linux 系统下一共 7 种文件类型

普通文件(-)——目录文件(d)——字符设备文件(c)——套接字文件(s)——块设备文件(b)——管道文件(p)——符号链接文件(l)

五、文件系统概念

文件系统(File System)是操作系统用来管理、存储和组织数据的一种机制和结构。它将物理存储设备(如硬盘、固态硬盘、USB 驱动器等)上的原始数据组织成文件和目录,并为用户和应用程序提供访问这些数据的接口。文件系统是存储介质的抽象层,为文件提供了管理、检索、访问控制等功能。

六、文件系统作用

存储管理——文件组织——文件访问控制——文件操作和管理——文件共享和备份

七、文件系统的工作原理

文件系统的工作原理可以通过几个关键概念来理解。

1、会把每个打开的文件映射到文件描述符,来追踪文件的打开状态。

2、文件系统借助目录来实现文件位置和层次结构管理,它存储着文件名以及指向文件实际位置的指针

3、文件系统一般采用 块分配策略 来组织磁盘上的存储空间,决定数据在磁盘上的物理存储位置

4、文件系统运用等信息都包含其中,而

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

C++/嵌入式开发 秋招面经 文章被收录于专栏

一名985硕,在25年秋招中斩获多个C++/嵌入式开发Offer。本专栏将分享我的面经,涵盖C/C++、操作系统、计算机网络、ARM体系与架构、Linux应用/驱动开发、Qt、通信协议及开发工具链等核心内容。

全部评论
系统调用流程清晰
点赞 回复 分享
发布于 04-03 00:18 河北
欢迎订阅专栏《C++/嵌入式开发 秋招面经》 :https://www.nowcoder.com/creation/manager/columnDetail/MKaoll
点赞 回复 分享
发布于 03-30 17:06 河北

相关推荐

04-24 18:20
门头沟学院 Java
攒人品中,祝大家都能拿到满意的Offer!1.实习拷打2.拷打实习3.拷打第一个项目:MinerU解析过程中如果遇到跨页表格,如何保证表格语义的完整性?讲一下Ragas评测?如果Answer Relevance得分低,如何判断是检索质量问题还是模型能力问题?4.拷打第二个项目:LangGraph中的State是如何定义和流转的?如果任务节点非常多,如何防止状态对象过大导致内存溢出?你的长期记忆库如何将多轮对话中的信息提炼成结构化的用户画像存到向量库?5.文档切片时,overlap的作用是什么?如何平衡分片大小与上下文完整性?6.了解GraphRAG吗?介绍一下7.当GraphRAG召回大量关联信息后,如何用自反思或CoT在生成阶段过滤掉检索噪声?8.讲一下ReAct的原理,为什么能提升模型对复杂任务的理解能力?9.如果模型在调用工具时产生了参数幻觉或语法错误,通常采取哪些自动修正手段?10.什么是Multi-Agent系统中的中心化编排模式?相比于点对点有什么优势?11.讲一下Agent的Self-Reflection,它是如何识别输出中的逻辑错误的?12.如何设计Agent的长期记忆?13.在执行涉及支付等高敏感操作时,如何实现Human-in-the-loop的干预流程?14.如何设计一个Skill?大概讲一下15.对比一下Skill和MCP的区别16.OpenClaw如何增强Agent对本地文件系统和代码执行环境的感知与操作权限?17.你如何理解Vibe Coding?有什么经验吗?18.如何确保自然语言描述的任务逻辑能够转化为可靠的执行路径?19.什么是上下文缓存?它在处理Agent频繁读取的冗余系统指令时有哪些优势?
查看22道真题和解析
点赞 评论 收藏
分享
评论
5
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务