【Linux系统编程】对操作系统的理解

操作系统的概念:

广义的操作系统:操作系统内核+其他程序(shell外壳、库函数等等)

狭义的操作系统:操作系统内核(进程管理、内存管理、文件管理、驱动管理)

操作系统是一个进行软硬件资源管理的软件。操作系统几乎都是用C语言写的。

设计操作系统的目的:

首先我们要清楚的是:管理的本质就是对数据的管理。

我们管理的基本步骤是:先描述,再组织。 怎么理解?我们可以定义一个struct或者class,从而对这个对象进行详细的描述,然后对定义出的多个对象进行管理组织,用什么呢?答案是数据结构。 操作系统的设计也是如此,所以在操作系统的内部存在着**大量的结构体和数据结构,**达到管理下层软硬件资源的目的。

操作系统存在的目的:

对下:与硬件交互,管理所有的软硬件资源

对上:为用户程序(应用程序)提供良好的执行环境


库函数和系统调用的理解

为什么要存在系统调用?因为群众当中有坏人!如果让上层随意的访问操作系统甚至下层的数据进行篡改、抹除,这是一件非常可怕的事情,所以要进行控制,暴露部分接口,保证可控的情况下供上层开发使用,这部分由操作系统提供的接口就叫做系统调用。

接口的功能比较基础,根据要求,开发者也可以对部分系统调用的接口进行封装,形成库函数,从而产生了库,极大减少了用户使用操作系统的成本,也利于更上层用户或开发者进行二次开发。

完~

相关推荐
jerryinwuhan3 小时前
《系统部署与运维》开篇 课程介绍
运维
ltl5 小时前
实时 OS 巡礼:VxWorks、QNX、Zephyr 与 PREEMPT_RT
linux
我是谁??5 小时前
Ubuntu22.04更换清华源
linux·运维·服务器
圣殿骑士-Khtangc5 小时前
Go字符串高效拼接性能对比与底层原理分析
服务器·前端·golang
Shell运维手记5 小时前
Linux 常用基础命令学习笔记
linux·运维·笔记·学习·算法·github
朴马丁6 小时前
国际与国产PLM在精细化工赛道的布局:2026年主要厂商技术特色
大数据·运维·人工智能·流程行业plm·化工新材料
这个DBA有点耶6 小时前
数据库一体机架构演进:从硬件堆叠到软硬深度耦合
服务器·网络·数据库·硬件架构·运维开发·database·数据库架构
Elastic 中国社区官方博客7 小时前
Elasticsearch:使用 AI Agent 来创建 workflow
大数据·运维·人工智能·elasticsearch·搜索引擎·自动化·全文检索
测试运维日常笔记7 小时前
Linux系统安装配置TigerVNC服务器完整指南
linux·运维·服务器
像风一样自由20207 小时前
加强版VScode结合remote-ssh远程连接服务器开发指南
服务器·vscode·ssh