admin 管理员组文章数量: 1086019
2024年12月24日发(作者:expose的短语及例句)
linux操作系统的结构及详细说明
linux的操作系统的结构你了解多少呢?下面由店铺为大家整理了
linux操作系统的结构及详细说明的相关知识,希望对大家有帮助!
linux操作系统的结构及详细说明:一、 linux内核
内核是操作系统的核心,具有很多最基本功能,它负责管理系统
的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能
和稳定性。
Linux 内核由如下几部分组成:内存管理、进程管理、设备驱动程
序、文件系统和网络管理等。
系统调用接口:SCI 层提供了某些机制执行从用户空间到内核的函
数调用。这个接口依赖于体系结构,甚至在相同的处理器家族内也是
如此。SCI 实际上是一个非常有用的函数调用多路复用和多路分解服务。
在 ./linux/kernel 中您可以找到 SCI 的实现,并在 ./linux/arch 中找到
依赖于体系结构的部分。
1. 内存管理
对任何一台计算机而言,其内存以及其它资源都是有限的。为了
让有限的物理内存满足应用程序对内存的大需求量,Linux 采用了称为
“虚拟内存”的内存管理方式。Linux 将内存划分为容易处理的“内存
页”(对于大部分体系结构来说都是 4KB)。Linux 包括了管理可用内存
的方式,以及物理和虚拟映射所使用的硬件机制。
不过内存管理要管理的可不止 4KB 缓冲区。Linux 提供了对 4KB
缓冲区的抽象,例如 slab 分配器。这种内存管理模式使用 4KB 缓冲区
为基数,然后从中分配结构,并跟踪内存页使用情况,比如哪些内存
页是满的,哪些页面没有完全使用,哪些页面为空。这样就允许该模
式根据系统需要来动态调整内存使用。
为了支持多个用户使用内存,有时会出现可用内存被消耗光的情
况。由于这个原因,页面可以移出内存并放入磁盘中。这个过程称为
交换,因为页面会被从内存交换到硬盘上。内存管理的源代码可以
在 ./linux/mm 中找到。
2 .进程管理
进程实际是某特定应用程序的一个运行实体。在 Linux 系统中,
能够同时运行多个进程,Linux 通过在短的时间间隔内轮流运行这些进
程而实现“多任务”。这一短的时间间隔称为“时间片”,让进程轮
流运行的方法称为“进程调度” ,完成调度的程序称为调度程序。
进程调度控制进程对CPU的访问。当需要选择下一个进程运行时,
由调度程序选择最值得运行的进程。可运行进程实际上是仅等待CPU
资源的进程,如果某个进程在等待其它资源,则该进程是不可运行进
程。Linux使用了比较简单的基于优先级的进程调度算法选择新的进程。
通过多任务机制,每个进程可认为只有自己独占计算机,从而简
化程序的编写。每个进程有自己单独的地址空间,并且只能由这一进
程访问,这样,操作系统避免了进程之间的互相干扰以及“坏”程序
对系统可能造成的危害。 为了完成某特定任务,有时需要综合两个程
序的功能,例如一个程序输出文本,而另一个程序对文本进行排序。
为此,操作系统还提供进程间的通讯机制来帮助完成这样的任务。
Linux 中常见的进程间通讯机制有信号、管道、共享内存、信号量和套
接字等。
内核通过 SCI 提供了一个应用程序编程接口(API)来创建一个新进
程(fork、exec 或 Portable Operating System Interface [POSⅨ] 函
数),停止进程(kill、exit),并在它们之间进行通信和同步(signal 或者
POSⅨ 机制)。
3. 文件系统
和 DOS 等操作系统不同,Linux 操作系统中单独的文件系统并不
是由驱动器号或驱动器名称(如 A: 或 C: 等)来标识的。相反,和 UNIX
操作系统一样,Linux 操作系统将独立的文件系统组合成了一个层次化
的树形结构,并且由一个单独的实体代表这一文件系统。Linux 将新的
文件系统通过一个称为“挂装”或“挂上”的操作将其挂装到某个目
录上,从而让不同的文件系统结合成为一个整体。Linux 操作系统的一
个重要特点是它支持许多不同类型的文件系统。Linux 中最普遍使用的
文件系统是 Ext2,它也是 Linux 土生土长的文件系统。但 Linux 也能
够支持 FAT、VFAT、FAT32、MINIX 等不同类型的文件系统,从而可
以方便地和其它操作系统交换数据。由于 Linux 支持许多不同的文件
系统,并且将它们组织成了一个统一的虚拟文件系统.
虚拟文件系统(VirtualFileSystem,VFS):隐藏了各种硬件的具体细
节,把文件系统操作和不同文件系统的具体实现细节分离了开来,为
所有的设备提供了统一的接口,VFS提供了多达数十种不同的文件系
统。虚拟文件系统可以分为逻辑文件系统和设备驱动程序。逻辑文件
系统指Linux所支持的文件系统,如ext2,fat等,设备驱动程序指为
每一种硬件控制器所编写的设备驱动程序模块。
虚拟文件系统(VFS)是 Linux 内核中非常有用的一个方面,因为它
为文件系统提供了一个通用的接口抽象。VFS 在 SCI 和内核所支持的
文件系统之间提供了一个交换层。即VFS 在用户和文件系统之间提供
了一个交换层。
在 VFS 上面,是对诸如 open、close、read 和 write 之类的函数
的一个通用 API 抽象。在 VFS 下面是文件系统抽象,它定义了上层函
数的实现方式。它们是给定文件系统(超过 50 个)的插件。文件系统的
源代码可以在 ./linux/fs 中找到。
文件系统层之下是缓冲区缓存,它为文件系统层提供了一个通用
函数集(与具体文件系统无关)。这个缓存层通过将数据保留一段时间
(或者随即预先读取数据以便在需要是就可用)优化了对物理设备的访问。
缓冲区缓存之下是设备驱动程序,它实现了特定物理设备的接口。
因此,用户和进程不需要知道文件所在的文件系统类型,而只需
要象使用 Ext2 文件系统中的文件一样使用它们。
4. 设备驱动程序
设备驱动程序是 Linux 内核的主要部分。和操作系统的其它部分
类似,设备驱动程序运行在高特权级的处理器环境中,从而可以直接
对硬件进行操作,但正因为如此,任何一个设备驱动程序的错误都可
能导致操作系统的崩溃。设备驱动程序实际控制操作系统和硬件设备
之间的交互。设备驱动程序提供一组操作系统可理解的抽象接口完成
和操作系统之间的交互,而与硬件相关的具体操作细节由设备驱动程
序完成。一般而言,设备驱动程序和设备
的控制芯片有关,例如,如果计算机硬盘是 SCSI 硬盘,则需要使
用 SCSI 驱动程序,而不是 IDE 驱动程序。
5.网络接口(NET)
提供了对各种网络标准的存取和各种网络硬件的支持。网络接口
可分为网络协议和网络驱动程序。网络协议部分负责实现每一种可能
的网络传输协议。众所周知,TCP/IP 协议是 Internet 的标准协议,同
时也是事实上的工业标准。Linux 的网络实现支持 BSD 套接字,支持
全部的TCP/IP协议。Linux内核的网络部分由BSD套接字、网络协议
层和网络设备驱动程序组成。
网络设备驱动程序负责与硬件设备通讯,每一种可能的硬件设备
都有相应的设备驱动程序。
linux操作系统的结构及详细说明:二、 linux shell
shell是系统的用户界面,提供了用户与内核进行交互操作的一种
接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解
释器。另外,shell编程语言具有普通编程语言的很多特点,用这种编
程语言编写的shell程序与其他应用程序具有同样的效果。
目前主要有下列版本的shell。
Shell:是贝尔实验室开发的。
:是GNU的Bourne Again Shell,是GNU操作系统上
默认的shell,大部分linux的发行套件使用的都是这种shell。
Shell:是对Bourne SHell的发展,在大部分内容上与
Bourne Shell兼容。
4.C Shell:是SUN公司Shell的BSD版本。
linux操作系统的结构及详细说明:三、linux文件系统
3.1 文件类型
Linux下面的文件类型主要有:
1) 普通文件:C语言元代码、SHELL脚本、二进制的可执行文件
等。分为纯文本和二进制。
2) 目录文件:目录,存储文件的唯一地方。
3) 链接文件:指向同一个文件或目录的的文件。
4) 设备文件:与系统外设相关的,通常在/dev下面。分为块设备
和字符设备。
5)管道(FIFO)文件 : 提供进程建通信的一种方式
6)套接字(socket) 文件: 该文件类型与网络通信有关
可以通过ls –l, file, stat几个命令来查看文件的类型等相关信息。
3.2 Linux目录
文件结构是文件存放在磁盘等存贮设备上的组织方法。主要体现
在对文件和目录的组织上。
目录提供了管理文件的一个方便而有效的途径。
Linux使用标准的目录结构,在安装的时候,安装程序就已经为用
户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录
的作用和其中的文件类型。
完整的目录树可划分为小的部分,这些小部分又可以单独存放在
自己的磁盘或分区上。这样,相对稳定的部分和经常变化的部分可单
独存放在不同的分区中,从而方便备份或系统管理。目录树的主要部
分有 root、/usr、/var、/home 等 。这样的布局可方便在 Linux 计算
机之间共享文件系统的某些部分。
Linux采用的是树型结构。最上层是根目录,其他的所有目录都是
从根目录出发而生成的。
微软的DOS和windows也是采用树型结构,但是在DOS和
windows中这样的树型结构的根是磁盘分区的盘符,有几个分区就有
几个树型结构,他们之间的关系是并列的。最顶部的是不同的磁盘(分
区),如:C,D,E,F等。
但是在linux中,无论操作系统管理几个磁盘分区,这样的目录树
只有一个。从结构上讲,各个磁盘分区上的树型目录不一定是并列的。
3.3.文件目录管理命令
磁盘和文件空间 :fdisk df du
文件目录与管理: cd pwd mkdir rmdir ls cp rm mv
查看文件内容 cat、tac、more、less、head 、tail
文件目录与权限 :chmod chown chgrp umask
文件查找:which、whereis、locate、find、find
linux操作系统的结构及详细说明:四、linux 应用
标准的Linux系统一般都有一套都有称为应用程序的程序集,它
包括文本编辑器、编程语言、X Window、办公套件、Internet工具和
数据库等。
linux操作系统的结构及详细说明:五、linux内核参数优化
内核参数是用户和系统内核之间交互的一个接口,通过这个接口,
用户可以在系统运行的同时动态更新内核配置,而这些内核参数是通
过Linux Proc文件系统存在的。因此,可以通过调整Proc文件系统
达到优化Linux性能的目的。
版权声明:本文标题:linux操作系统的结构及详细说明 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1735093883a1633646.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论