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 河北

相关推荐

评论
5
3
分享

创作者周榜

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