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

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

maynowei8个月前 (08-11)技术知识91

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的克隆。但是,基本区别如下所示:

相关文章

单片机C语言编程,心得都在这里了

单片机写代码总踩坑,头文件被无视,老工程师的经验哪里来?前几天写8x8矩阵键盘的程序,搞了三天代码一直乱报错。后来发现自己连头文件是什么都不清楚,之前写的都是小程序,压根没碰过.h文件。看别人的程序都...

网络安全常用术语(网络安全常用术语介绍)

黑客帽子之分白帽白帽:亦称白帽黑客、白帽子黑客,是指那些专门研究或者从事网络、计算机技术防御的人,他们通常受雇于各大公司,是维护世界网络、计算机安全的主要力量。很多白帽还受雇于公司,对产品进行模拟黑客...

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

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

btrace 3.0 重磅新增 iOS 支持!免插桩原理大揭秘!

重磅更新btrace 是由字节跳动抖音基础技术团队自主研发的面向移动端的性能数据采集工具,它能够高效的助力移动端应用采集性能 Trace 数据,深入剖析代码的运行状况,进而辅助优化提升移动端应用的性能...

C++11 同步机制:互斥锁和条件变量

前段时间,我研究了 ROS2(Jazzy)机器人开发系统,并将官网中比较重要的教程和概念,按照自己的学习顺序翻译成了中文,进行了整理和记录。到目前为止,已经整理了20多篇文章。如果你想回顾之前的内容,...

Qt QWaitCondition 的正确使用方法

简单用法QWaitCondition 用于多线程的同步,一个线程调用QWaitCondition::wait() 阻塞等待,直到另一个线程调用QWaitCondition::wake() 唤醒才继续往...