当前位置:首页 > 技术知识 > 正文内容

UNIX系统简介(unix系统的层次结构图)

maynowei1周前 (08-11)技术知识12

Unix是一个操作系统,它是Ubuntu、Solaris、POSIX等所有操作系统的基础。它是在20世纪70年代由肯·汤普森(Ken Thompson)、丹尼斯·里奇(Dennis Ritchie)和AT&T实验室的其他人开发的。它最初是为开发软件的程序员而不是为非程序员设计的。

Unix和C被AT&T发现并分发给政府和学术机构,这使得它们都被移植到比任何其他操作系统更广泛的机器家族中。在这个操作系统中,开发人员主要关注的是内核。Unix被认为是操作系统的核心。Unix操作系统的系统结构如下:

1)Layer-1:硬件

它包含所有与硬件相关的信息。

2)Layer-2:内核

它与硬件交互,大多数任务(如内存管理,任务调度和管理)由内核完成。

3)Layer-3:Shell命令

Shell是处理您的请求的实用程序。当您在终端上键入命令时,shell会解释该命令并调用所需的程序。

有各种命令,例如cp,mv,cat,grep,id,wc,nroff,a.out等。

4)Layer-4:应用层

它是执行给定外部应用程序的最外层。

该图显示了三个级别:用户,内核和硬件。

1)系统调用和库接口表示用户程序和内核之间的边界。系统调用看起来像C程序中的普通函数调用。汇编语言程序可以直接调用系统调用,而无需系统调用库。这些库在编译时与程序链接。

2)系统调用集分为与文件子系统交互的系统调用和一些与过程控制子系统交互的系统调用。文件子系统管理文件,分配文件空间,管理可用空间,控制对文件的访问以及为用户检索数据。

3)进程通过一组特定的系统调用与文件子系统交互,例如open(打开文件进行读写)、close、read、write、stat(查询文件属性)、chown(更改文件所有者的记录)和chmod(更改文件的访问权限)。

4)文件子系统使用缓冲机制访问文件数据,该缓冲机制调节内核和辅助存储设备之间的数据流。缓冲机制与块I/O设备驱动程序进行交互,以启动与内核之间的数据传输。

5)设备驱动程序是控制外围设备操作的内核模块。文件子系统还直接与原始I/O设备驱动程序进行交互,而无需缓冲机制的干预。最后,硬件控制负责处理中断并与机器通信。在执行过程时,磁盘或终端等设备可能会中断CPU。如果是这样,内核可以在为中断服务后恢复被中断进程的执行。

6)中断不是由特殊进程提供服务,而是由内核中的特殊功能(在当前运行的进程的上下文中调用)服务。

Unix和Linux之间的区别

Linux本质上是Unix的克隆。但是,基本区别如下所示:

相关文章

Axure使用技巧:全局变量(axure全局变量和局部变量)

编辑导语:关于全局变量的作用,有些人可能尚未完全了解,那么,如何利用Axure来设置全局变量,进而发挥全局变量的作用,如跨页面传递文本呢?本篇文章里,作者通过注册页面的案例,就全局变量的操作流程做了梳...

单打独斗的产品设计师工作流程总结

来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。我从入行开始就在一个做自己产品的小公司工作,到现在已经三年了。刚开始工作的时候什么也不懂,老板说让出效果图,就开始直接...

出售闲置原型素材来赚钱,上传作品,即可收上万元收入

出售闲置原型素材来赚钱。产品经理每年设计出大量的原型作品和组件、元件库、交互原型模板等作品,如果项目结束,你的原型就失去了作用,而有需求的人却找不到这样的作品。现在我们发现这样一家元件库、原型模板、素...

机器人需求驱动导航新SOTA,成功率提升15%!浙大&vivo联手打造

CogDDN团队 投稿量子位|公众号QbitAI让机器人像人一样边看边理解,来自浙江大学和vivo人工智能实验室的研究团队带来了新进展。正如视频所展示的,机器人在复杂的室内环境中不仅能自主探索,还具备...

Flutter 之 ListView(flutter框架)

在 Flutter 中,ListView 可以沿一个方向(垂直或水平方向)来排列其所有子 Widget,常被用于需要展示一组连续视图元素的场景ListView 构造方法ListView:仅适用于列表中...

Xamarin.Android使用教程:列表视图和适配器(2)

昨天我们已经一起学习了第1部分,这是探索Xamarin.Android的列表视图和适配器的的第2部分。在今天的文章中我们将探讨列表视图项排列使用BaseAdapter,还有自定义布局。让我们深入到代码...