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

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

maynowei10个月前 (08-11)技术知识99

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++并发同步核心-mutex深度解析:守护共享数据的关键

在多线程编程中,当多个线程需要访问和修改共享数据时,如果没有任何同步机制,就可能发生数据竞争(Data Race),导致程序行为不可预测、数据损坏甚至崩溃。C++标准库通过<mutex>头...

如何优雅地使用嵌入式事件标志组?

事件标志组嵌入式事件标志组是一种在嵌入式系统中广泛使用的同步机制,主要用于实现多任务间的同步与通信。事件标志组是一组事件标志位的集合,每个位代表一个事件是否发生。它允许任务等待特定的事件发生,当事件发...

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

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

Linux系统编程:条件变量为什么要用锁

条件变量可以解决线程同步和共享资源访问的问题,条件变量是对互斥锁的补充,它允许一个线程阻塞并等待另一个线程发送的信号,当收到信号时,阻塞的线程被唤醒并试图锁定与之相关的互斥锁。具体定义如下:等待:in...

Diplomacy Talk | Why building a shared future matters now more than ever

What does it mean to build a global community of a shared future? First put forward by Chinese Presi...

美文欣赏:Learn to think—学会思考

Learning to think is one of the important tasks in life.学会思考,是人生的重要任务之一。Cultivating the ability of i...