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

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

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操刀微信H5页面之《人际沟通风格测试》的制作过程

来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。在之前的文章中我就讲过用Axure制作H5页面(再次声明Axure输出的html文件可能并非基于html5),在H5制...

B端产品设计之业务设计(b端产品ui设计)

编辑导语:在这篇文章里,作者从解决方案设计、业务流程设计、产品功能设计三个方面,分析了如何进行B端产品的业务设计,感兴趣的小伙伴们一起来看一下吧。前篇文章讲了业务梳理,还没看过的同学可以先看看前篇文章...

从零搭建网站?5个步骤详解网站建设全流程

在数字化时代,拥有一个专业网站已成为企业或个人品牌展示的核心竞争力。但对于新手而言,网站建设往往显得复杂难懂。本文梳理出5大关键步骤,手把手带你完成从策划到上线的全流程,省时省力不踩坑!一、前期准备:...

苹果编程Objective C与Swift谁更牛?

小鹏大学刚刚毕业,软件开发方面的东西学的不是很多,听好多同学说做iOS开发工资上万是很容易的,踌躇满志,一直想自学iOS开发,可突如其来的一件事让他瞬间迷茫了。时间:2014年9月10日10点地点:某...

ExpandListView 的一种巧妙写法(三十的另一种写法)

ExpandListView大家估计也用的不少了,一般有需要展开的需求的时候,大家不约而同的都想到了它然后以前自己留过记录的一般都会找找以前自己的代码,没有记录习惯的就会百度、谷歌,这里吐槽一下,好几...

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

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