【Linux】-- 初识操作系统(二)

简介: 【Linux】-- 初识操作系统

4.用户层

(1)用户层

操作系统为用户服务,那么操作系统之上就是用户层,用户层在Windows系统上就是图形化界面,在Linux上就是命令行:

(2)系统调用接口

但是操作系统会直接和用户层打交道吗?不会,因为操作系统不信任用户,为了保护自己,要在操作系统和用户层之间增加了一个系统调用接口,用来进行用户和内核空间的通信。系统调用接口是站在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口,就叫做系统调用接口。:

(3)用户操作接口

系统调用并不和程序员直接交互。系统调用接口比较复杂,让程序员每次都使用系统调用接口去管理硬件的前提是对系统要有一定程度的了解。于是,就有厉害的人对系统调用接口进行封装,形成了库,比如GUN C&C++第三方库,以语言方式呈现,这就有了用户操作接口,有利于更上层用户或者开发者进行二次开发:

了解了各个层级的关系之后,就不难理解计算机体系图:

四、如何管理

1.管理规则

既然操作系统是搞管理的软件,那么如何管理软硬件资源呢?

  • 管理者和被管理者并不直接打交道
  • 管理策略是根据资源的属性和数据做出各种决策
  • 管理者和被管理者并不直接打交道,那么数据又是怎样被管理者知道的呢?是通过决策的执行者知道的。

比如对于动物园的管理,园长作为管理者,动物管理员作为执行者,动物作为被管理者。园长并不和动物直接打交道,策略是根据动物的种类、状态制定的,园长获取动物的数据信息是通过策略的执行者即动物管理员知道的。

所以管理时,需要考虑做不做、如何做,然后再去做。园长作为管理者进行决策,但是园长并不去执行,而是由动物管理员这个执行者去执行的,所以执行者的任务就是执行管理者的决策。

2.如何管理

一般情况下,园长不待在动物园里,那园长是如何在看不到动物的情况下对动物进行管理的呢?假如需要举办一个动物展览会,园长如何决定让哪些状态最好的5只动物去参展呢?园长没见到这状态最好的5只动物,那么是如何进行管理的呢?---------根据属性和数据管理的

这些动物的属性和数据都会被整理成信息,比如动物外形特征表、动物健康状况表、动物居住信息表,这就是描述信息:

每只动物都有这3张表格,这3张表格就描述了一只动物园长通过对这3张表格的管理就实现了对每只动物的管理。C语言中将这3张表格称为抽象结构体,C++中叫做面向对象。对动物园中所有动物做管理,园长就可以将所有动物的信息组织起来,如何组织呢?这就要用到数据结构,比如顺序表、链表、树、哈希。每种组织方式都有自己的优缺点,可以选择合适的组织方式进行组织。假如以链表的形式组织:

将所有动物的信息表组织起来以后,对所有动物的管理就变成了对链表的增删查改,对动物的创建、删除、修改都可以对链表进行操作。

数据结构是操作系统的核心,所以,从以上就可以抽象出操作系统是如何进行管理的——先描述,再组织

相关文章
|
2月前
|
Ubuntu 物联网 Linux
从零安装一个Linux操作系统几种方法,以Ubuntu18.04为例
一切就绪后,我们就可以安装操作系统了。当系统通过优盘引导起来之后,我们就可以看到跟虚拟机中一样的安装向导了。之后,大家按照虚拟机中的顺序安装即可。 好了,今天主要介绍了Ubuntu Server版操作系统的安装过程,关于如何使用该操作系统,及操作系统更深层的原理,还请关注本号及相关圈子。
|
8月前
|
存储 Linux API
【Linux进程概念】—— 操作系统中的“生命体”,计算机里的“多线程”
在计算机系统的底层架构中,操作系统肩负着资源管理与任务调度的重任。当我们启动各类应用程序时,其背后复杂的运作机制便悄然展开。程序,作为静态的指令集合,如何在系统中实现动态执行?本文带你一探究竟!
【Linux进程概念】—— 操作系统中的“生命体”,计算机里的“多线程”
|
7月前
|
存储 Linux iOS开发
【Linux】冯诺依曼体系与操作系统理解
本文深入浅出地讲解了计算机体系的两大核心概念:冯诺依曼体系结构与操作系统。冯诺依曼体系作为现代计算机的基础架构,通过中央处理器、存储器和输入输出设备协同工作,解决了硬件性能瓶颈问题。操作系统则是连接硬件与用户的桥梁,管理软硬件资源,提供运行环境。文章还详细解析了操作系统的分类、意义及管理方式,并重点阐述了系统调用的作用,为学习Linux系统编程打下坚实基础。适合希望深入了解计算机原理和技术内幕的读者。
170 1
|
2月前
|
监控 Ubuntu Linux
什么Linux,Linux内核及Linux操作系统
上面只是简单的介绍了一下Linux操作系统的几个核心组件,其实Linux的整体架构要复杂的多。单纯从Linux内核的角度,它要管理CPU、内存、网卡、硬盘和输入输出等设备,因此内核本身分为进程调度,内存管理,虚拟文件系统,网络接口等4个核心子系统。
209 0
|
2月前
|
Unix 物联网 Linux
都什么年代了,你还不懂啥是Linux操作系统
至于华为鸿蒙操作系统是不是独树一帜,这个留给各位阅读本文的网友们来讨论
69 0
|
2月前
|
Web App开发 缓存 Rust
|
2月前
|
安全 Linux iOS开发
linux属于什么操作系统
Linux是一种自由和开放源代码的操作系统,具有高度的灵活性和可定制性。与常见的操作系统如Windows和macOS相比,Linux具有自由、安全和稳定等优势。Linux已广泛应用于服务器、桌面电脑、超级计算机和嵌入式设备等领域,并且在未来的发展前景广阔。由于其自由和开放源代码的特性,Linux还促进了计算机技术和社区的发展,为全球的计算机用户提供了更多的选择和可能性。
|
2月前
|
Ubuntu Unix Linux
操作系统的最强入门科普(Unix/Linux篇)
下期文章,小枣君会重点聊聊Windows和macOS那条线。敬请关注! 如果大家觉得文章不错,还请帮忙多多转发!谢谢!
|
2月前
|
安全 Ubuntu Unix
关于Linux操作系统,你必须要知道的事
我们可以看到无论是Debian还是Buildroot都有各自的特点,为客户提供了更大的选择空间和灵活性,大家可以根据自己的需求选择合适的版本来满足终端用户的体验和功能需求。从平技术将会一直关注更多更安全、灵敏、易于开发的Linux版本,做好适配工作,不断为客户带来“简单开发、方便应用”的使用体验。
|
2月前
|
安全 Ubuntu Linux
如何安装Linux操作系统?
此时,您可以选择重新启动计算机,然后从硬盘上的Linux系统启动。以上是一个大致的安装过程。请注意,不同的Linux发行版可能会在细节上有所差异,因此在进行安装之前,请确保您阅读并理解了相应发行版的安装指南或文档。