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

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

4.用户层

(1)用户层

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

(2)系统调用接口

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

(3)用户操作接口

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

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

四、如何管理

1.管理规则

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

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

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

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

2.如何管理

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

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

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

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

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

相关实践学习
CentOS 8迁移Anolis OS 8
Anolis OS 8在做出差异性开发同时,在生态上和依赖管理上保持跟CentOS 8.x兼容,本文为您介绍如何通过AOMS迁移工具实现CentOS 8.x到Anolis OS 8的迁移。
目录
打赏
0
0
0
0
10
分享
相关文章
【Linux进程概念】—— 操作系统中的“生命体”,计算机里的“多线程”
在计算机系统的底层架构中,操作系统肩负着资源管理与任务调度的重任。当我们启动各类应用程序时,其背后复杂的运作机制便悄然展开。程序,作为静态的指令集合,如何在系统中实现动态执行?本文带你一探究竟!
【Linux进程概念】—— 操作系统中的“生命体”,计算机里的“多线程”
【Linux】冯诺依曼体系与操作系统理解
本文深入浅出地讲解了计算机体系的两大核心概念:冯诺依曼体系结构与操作系统。冯诺依曼体系作为现代计算机的基础架构,通过中央处理器、存储器和输入输出设备协同工作,解决了硬件性能瓶颈问题。操作系统则是连接硬件与用户的桥梁,管理软硬件资源,提供运行环境。文章还详细解析了操作系统的分类、意义及管理方式,并重点阐述了系统调用的作用,为学习Linux系统编程打下坚实基础。适合希望深入了解计算机原理和技术内幕的读者。
67 1
Linux 操作系统
在 Linux 中,UID(用户 ID)是标识用户身份的重要概念。UID 唯一标识每个用户,通过 UID 可区分不同用户类别:UID 0 为超级用户,1-999 为系统用户,1000 及以上为普通用户。因此,正确选项为:UID 标识用户、可区分用户类别、普通用户 UID 大于 1000。
深入理解Linux操作系统的进程管理
本文旨在探讨Linux操作系统中的进程管理机制,包括进程的创建、执行、调度和终止等环节。通过对Linux内核中相关模块的分析,揭示其高效的进程管理策略,为开发者提供优化程序性能和资源利用率的参考。
162 1
|
2月前
|
Linux 操作系统的诞生与发展历程
步探索与准备: 1991年初,林纳斯·托瓦兹开始在一台386sx兼容微机上学习minix操作系统。通过学习,他逐渐不能满足于minix系统的现有性能,并开始酝酿开发一个新的免费操作系统。
111 8
Linux 操作系统的诞生与发展历程
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot 是阿里云推出的一款操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行和系统运维调优等功能。通过简单的命令行操作,用户可以快速获取所需信息并执行任务,极大提升了Linux系统的使用效率。安装步骤简单,只需在阿里云服务器上运行几条命令即可完成部署。使用过程中,OS Copilot不仅能帮助查找命令,还能处理文件和复杂场景,显著节省了查找资料的时间。体验中发现,部分输出格式和偶尔出现的英文提示有待优化,但整体非常实用,特别适合Linux初学者。
265 10
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
302 23
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot是由阿里云推出的操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行等功能,极大提升了Linux系统的使用效率。用户只需通过简单的命令或自然语言描述问题,OS Copilot即可快速提供解决方案并执行相应操作。例如,查询磁盘使用量等常见任务变得轻松快捷。此外,它还支持从文件读取复杂任务定义,进一步简化了操作流程。虽然在某些模式下可能存在小问题,但总体上大大节省了学习和操作时间,提高了工作效率。
191 2
OS Copilot-操作系统智能助手-Linux新手小白的福音
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
106 7
深入解析操作系统控制台:阿里云Alibaba Cloud Linux(Alinux)的运维利器
本文将详细介绍阿里云的Alibaba Cloud Linux操作系统控制台的功能和优势。
155 6

热门文章

最新文章