4.1 Linux操作系统

简介: 4.1 Linux操作系统

个人主页:Lei宝啊

愿所有美好如期而遇


 

我们上次了解了从操作系统往下的部分:Linux进程前导知识

这一次,我们将正式开始进程以及操作系统(OS)及其以上的部分。


我们将操作系统的内存管理,进程管理,文件管理等等称为操作系统的内核。

首先,我们提出两个问题,为什么要有操作系统,操作系统是什么

1.为什么要有操作系统

根据我们的前导知识,我们明白操作系统是为了去管理软硬件资源而诞生的,因为我们不可能一只手扣着网卡,一只手扣着内存去使用电脑吧。

那么为什么要有操作系统的管理呢?一个操作系统对软硬件资源管理的好不好将决定了他是否会有人去使用,所以他是为了对用户提供一个更好的服务,以及良好的运行环境,所以才有了操作系统的管理。

什么叫做良好的运行环境稳定,安全,高效

稳定我们可以理解,这是由冯,诺依曼体系所决定的,那么凭什么说他安全呢?

操作系统是不允许用户直接进行访问的,因为操作系统管理着内存,文件等许多资源,里面有许多数据,像他人的密码,账户等以及许多软硬件数据,如果直接暴露给用户,将会造成不稳定和安全隐患,我们并不能保证每个用户都不会对数据做修改。

所以加了一层系统调用接口,什么是系统调用呢?说白了,也就是函数,由操作系统提供的函数,就是系统调用函数,在Linux下,这些函数大都是由C语言写的。

我们通过系统调用去访问操作系统,这样就安全许多,因为系统调用是操作系统所提供的,操作系统只相信自己写的函数,用户无法直接得到操作系统里的数据,需要通过各种系统调用获取或者修改数据,如果操作系统不允许,那么就无法做该操作。

那么又凭什么说他高效呢?

就像不是所有人都会使用电脑一样,系统调用并不是每个用户都会使用,他的各种参数如果不熟悉的话,使用起来是很难受的,所以就有人将这些系统调用封装成了lib库,各种语言都有他们的标准库,就像C标准库等,C库的设计者在设计时设计了不同平台的系统调用,在Linux和window等不同平台自己去匹配调用,而我们的printf等库函数,不管在哪个平台使用,都不需要去管他的底层,因为C库设计者替我们设计好了不同系统的系统调用,这也就是为什么我们说有些语言具有跨平台性和可移植性,就是因为他的标准库设计了不同平台的系统调用。

也由此,我们能够通过操作系统去访问硬件。

举个例子:C语言的printf函数,要将数据打印到显示器上,显示器也是硬件,而printf是我们自己写的函数,操作系统是不信任他的,我们无法直接通过操作系统去访问硬件,所以他的底层就加了系统调用,这样printf就能通过操作系统去访问硬件了。

所有我们自己写的函数只要影响到硬件,或者说需要硬件(scanf,需要键盘这个硬件),那么就需要系统调用,我们无法绕过操作系统去访问硬件,而操作系统我们又无法直接访问,所以系统调用就是必须的。

以及指令等等,在linux下大部分也都是C语言写的,也是经过封装的,底层也是加了系统调用。

于是最终,我们写代码时直接使用各种库函数,在执行时也不用去管底层系统调用,或开发者,或其他用户,在进行各种操作时,不需使用比较复杂的系统调用,大大减少了用户的使用成本

2.操作系统是什么?

操作系统是一款对软硬件做管理的软件。

操作系统的内核,我们说他包括内存管理,进程管理,文件管理等。

每一次我们开机所耗费的时间,就是操作系统在启动,只有操作系统启动了以后,我们才能更好地使用电脑。

目录
相关文章
|
5天前
|
安全 Linux 数据安全/隐私保护
探索Linux操作系统的文件权限管理
【9月更文挑战第29天】在数字世界中,文件权限管理如同保护我们隐私的锁。本文将带你了解如何在Linux系统中设置和管理文件权限,确保你的数据安全。我们将一起学习如何通过命令行工具来控制文件访问,就像学习一门新语言一样有趣。准备好了吗?让我们一起开启这场技术之旅!
|
23天前
|
存储 安全 Linux
探索Linux操作系统的心脏:内核
在这篇文章中,我们将深入探讨Linux操作系统的核心—内核。通过简单易懂的语言和比喻,我们会发现内核是如何像心脏一样为系统提供动力,处理数据,并保持一切顺畅运行。从文件系统的管理到进程调度,再到设备驱动,我们将一探究竟,看看内核是怎样支撑起整个操作系统的大厦。无论你是计算机新手还是资深用户,这篇文章都将带你领略Linux内核的魅力,让你对这台复杂机器的内部运作有一个清晰的认识。
52 3
|
23天前
|
存储 数据挖掘 Linux
服务器数据恢复—Linux操作系统网站服务器数据恢复案例
服务器数据恢复环境: 一台linux操作系统服务器上跑了几十个网站,服务器上只有一块SATA硬盘。 服务器故障: 服务器突然宕机,尝试再次启动失败。将硬盘拆下检测,发现存在坏扇区
|
2月前
|
编解码 Linux 程序员
深度探索Linux操作系统 —— 构建根文件系统2
深度探索Linux操作系统 —— 构建根文件系统
35 12
|
2月前
|
前端开发 Linux
深度探索Linux操作系统 —— 构建桌面环境3
深度探索Linux操作系统 —— 构建桌面环境
34 12
|
2月前
|
存储 缓存 Linux
深度探索Linux操作系统 —— Linux图形原理探讨3
深度探索Linux操作系统 —— Linux图形原理探讨
30 9
|
2月前
|
存储 NoSQL Linux
深度探索Linux操作系统 —— 从内核空间到用户空间3
深度探索Linux操作系统 —— 从内核空间到用户空间
29 9
|
2月前
|
存储 搜索推荐 Linux
深度探索Linux操作系统 —— 构建桌面环境1
深度探索Linux操作系统 —— 构建桌面环境
41 8
|
2月前
|
存储 Linux 图形学
深度探索Linux操作系统 —— Linux图形原理探讨1
深度探索Linux操作系统 —— Linux图形原理探讨
38 7
|
2月前
|
存储 NoSQL Linux
深度探索Linux操作系统 —— 从内核空间到用户空间2
深度探索Linux操作系统 —— 从内核空间到用户空间
29 7
下一篇
无影云桌面