【Linux】操作系统

上一篇博客我们从硬件的角度谈了计算机,我们说到了计算机的效率跟操作系统写的好不好有着直接的关系,那么这篇博客我们从软件的角度,就来谈一谈究竟什么是操作系统,为什么要有操作系统?

首先我们来大体的认识一下操作系统,看看操作系统在从用户和硬件之间处于哪个位置,我们看下面这张图

下面我们来解释一下这张图

最上面一层是用户要执行的一些操作;第二层是展示给用户的,可以操作的方法,有图形化界面,命令行中的的指令,lib就是指一些库函数;第三层是系统调用接口,其实不知可以像图中这样,用户也是可以直接调用系统调用接口的,我们后边也会提到,所以说库函数和系统调用接口是上下层关系;第四层是操作系统;第五层是一些驱动程序用来驱动硬件;最底层就是我们的硬件了。

有了如上的关系,我们就可以很好的切入进操作系统了:

实际上,当我们给电脑通电时,第一个被加载的软件就是操作系统了,操作系统是进行软硬件资源管理的软件

那么什么叫管理呢?管理就是做决策+执行。做决策要根据什么呢?比如在学校中,校长要对每个学生做管理,校长拿到学生的信息就可以做管理,他们之间根本不需要见面。这跟操作系统也是一样的,操作系统要拿到数据,对于数据进行做决策,也就是管理。

如果信息十分多呢?我们的校长可以选择写一个struct结构体,把信息通过链表组织起来,这样对于学生的管理操作就变成了对于链表的增删查改。恰巧,我们的Linux就是用C语言写的,它的内核就是这么干的。我们叫做:先描述再组织

那么为什么要有操作系统呢?说白了就是为什么要操作系统的管理?对下管理好软硬件资源,这是手段,对上提供一个稳定、安全、高效的运行环境,这是目的。

那我们要用操作系统就离不开它上面的用户操作接口系统调用接口。下面我们再来详细的介绍一下它们两个

系统调用接口其实就是函数,因为Linux内核是用C语言写的,所以就是C语言的函数。不同的操作系统的系统调用接口是不一样的。但是用户操作接口为了满足语言的跨平台性,可移植性,在不同的操作系统是相同的,比如printf函数在不同平台都可以用。它们之间的关系大概就像这样:

库函数也是去调用系统调用接口,要不为什么说它们是上下层关系

这可以类比成我们去银行办理服务,我们可以通过窗口进行直接办理,这时就是系统调用接口,一些老人可能不会办理,它们就可以求助银行大厅的工作人员,说清它的需求,大厅工作人员帮忙办理。这就是调用用户操作接口,再调用系统调用接口。同时,操作系统为了安全着想不可能将内部数据暴露给用户,只能通过一些接口,这跟银行中的窗口是类似的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/7054.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

某塑料科技公司网络与机房监控运维项目

某塑料科技公司是由日本知名株式会社在中国投资的,以从事橡胶和塑料制品业为主的生产制造企业。随着企业信息化建设提速,信息化运用程度不断提高,对网络基础设施的管理也提出了更高要求,因此公司急需上线一款综合运维平台加强对整…

Go 语言 ORM 框架之 xorm

1、xorm 1.1、xorm 简介 xorm 是一个简单而强大的Go语言ORM库. 通过它可以使数据库操作非常简便。 特性 支持 struct 和数据库表之间的灵活映射,并支持自动同步事务支持同时支持原始SQL语句和ORM操作的混合执行使用连写来简化调用支持使用ID, In, Where, Limit,…

Linux—-vim基础使用

1、基本概念 Vim的工作模式有四种,普通模式,输入模式,命令模式,可视模式。 在终端中打开vim,只需要输入vim 文件,在普通模式下按i就会进入到输入模式,按下:进入命令模式,输入:q就可…

【前端学习——防抖和节流+案例】

定义 【前端八股文】节流和防抖 防抖 连续触发事件但是在设定的一段时间内只执行最后一次 代码实现思路【定时器】 大概意思就是: 每次按起键盘后,都将之前的定时器删除,重新开始计时。 节流 连续触发事件,只执行一次 …

Python从0到100(二十):文件读写和文件操作

一、文件的打开和关闭 有了文件系统可以非常方便的通过文件来读写数据;在Python中要实现文件操作是非常简单的。我们可以使用Python内置的open函数来打开文件,在使用open函数时,我们可以通过函数的参数指定文件名、操作模式和字符编码等信息…

某站戴师兄——Excel实战

1、设置下拉选项:数据——数据验证——设置 如下设置: 2、If、sumif、index、match综合应用: sumif(条件区域,条件,目标区域) sumifs(目标区域,条件区域1,条件1,条件区域2,条件2) …

Telnet的三种配置和SSH配置

Telnet的三种配置 实验配置思路: 配置接口IP地址: R1——配置接口IP地址 R2——配置接口IP地址 认证模式为none的配置 R1——认证模式配置为none R2——测试Telnet连接R1设备 认证模式为passwrd的配置 R1——认证模式配置为password R2——测试Telnet连…

19 内核开发-内核源码编译

19 内核开发-内核源码编译 (1)开始准备 安装好virtual box ubuntu 系统后,即可下载内核代码,进行编译 历史内核源码地址:https://mirrors.tuna.tsinghua.edu.cn/kernel/v5.x/ 下载 linux-5.10.102.tar.gz 的包,可以使用wget 命令 创建编译目…

Linux字符设备驱动(二) - 与设备驱动模型的关系

一,从/dev目录说起 从事Linux嵌入式驱动开发的人,都很熟悉下面的一些基础知识, 比如,对于一个char类型的设备,我想对其进行read wirte 和ioctl操作,那么: 1)我们通常会在内核驱动中…

【数据库原理及应用】期末复习汇总高校期末真题试卷03

试卷 一、选择题 1 数据库中存储的基本对象是_____。 A 数字 B 记录 C 元组 D 数据 2 下列不属于数据库管理系统主要功能的是_____。 A 数据定义 B 数据组织、存储和管理 C 数据模型转化 D 数据操纵 3 下列不属于数据模型要素的是______。 A 数据结构 B 数据字典 C 数据操作 D…

QT开发(四) 制作一个JSON检查小工具

1、JSON概念 1.1 定义 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人类阅读和编写,同时也易于机器解析和生成。JSON基于JavaScript语言的子集,但是独立于编程语言,因此可以被多种…

根据相同的key 取出数组中最后一个值

数组中有很多对象 , 需根据当前页面的值current 和 数组中的key对比 拿到返回值 数据结构如下 之前写法 const clickedItem routeList.find(item > item.key current) // current是当前页 用reduce遍历数组返回最后一个值 const clickedItem routeList.reduce((lastIte…

音频可视化:原生音频API为前端带来的全新可能!

音频API是一组提供给网页开发者的接口,允许他们直接在浏览器中处理音频内容。这些API使得在不依赖任何外部插件的情况下操作和控制音频成为可能。 Web Audio API 可以进行音频的播放、处理、合成以及分析等操作。借助于这些工具,开发者可以实现自定义的音…

IPD-开发流程

2024-5-6记录于PR办公室 在上一家公司做硬件产品经理的时候,Richard Li曾花费“巨资”请了华为前战略专家给我们培训,讲授IPD这门课的模式都很IPD,当时完全没重视,光想着不可能靠这个能把产品做好,这样做产品必定是一批…

wordpress外贸建站公司歪建站新版网站上线

wordpress外贸建站公司 歪猫建站 歪猫WordPress外贸建站,专业从事WordPress多语言外贸小语种网站建设与外贸网站海个推广、Google SEO搜索引擎优化等服务。 https://www.waimaoyes.com/dongguan

【driver2】设备读写,同步和互斥,ioctl,进程休眠,时间和延时,延缓

文章目录 1.实现设备读写:write函数中一个进程写没问题,两进程写:第一个进程运行到kzalloc时,第二个进程也执行了kzalloc,只第二个进程地址保存在c中,第一个进程分配内存空间地址丢失造成内存泄漏。第一个进…

题目:排序疑惑

问题描述: 解题思路: 做的时候没想到,其实这是以贪心题。我们可以每次排最大的区间(小于n,即n-1大的区间),再判断是否有序 。因此只需要分别判断排(1~n-1)和(…

我独自升级崛起下载教程 我独自升级崛起一键下载

动作RPG游戏基于广大喜爱的动画和在线漫画《我独自升级崛起》在5月8日,这款新的游戏首次在全球亮相,意在给那些对游戏情有独钟的玩家带来更加丰富和多种多样的游戏体验。这个网络武侠题材的游戏设计非常具有创意,其主要故事围绕着“独孤求败”…

数据分析——业务指标分析

业务指标分析 前言一、业务指标分析的定义二、业务问题构建问题构建的要求 三、业务问题的识别在识别问题的阶段对于企业内部收益者的补充 四、竞争者分析竞争者分析的内容竞争者分析目的案例 五、市场机会识别好的市场机会必须满足的条件市场机会案例 六、风险控制数据分析师常…

【字符串】Leetcode 二进制求和

题目讲解 67. 二进制求和 算法讲解 为了方便计算,我们将两个字符串的长度弄成一样的,在短的字符串前面添加字符0;我们从后往前计算,当遇到当前计算出来的字符是> 2’的,那么就需要往前面进位和求余 注意&#xf…