深圳网站建设的公司,汽车网络营销分析报告,做seo必须有自己网站吗,地铁公司招聘信息网站Linux体系结构一、引入概念二、内核三、管理1、内存管理2、进程管理3、进程调度控制进程对CPU的访问4、设备驱动程序和网络接口四、Linux Shell五、磁盘分区硬盘内的分区Linux下磁盘分区和目录的关系一、引入
操作系统的本质是什么#xff1f; 是一种管理(协调)资源机制…
Linux体系结构一、引入概念二、内核三、管理1、内存管理2、进程管理3、进程调度控制进程对CPU的访问4、设备驱动程序和网络接口四、Linux Shell五、磁盘分区硬盘内的分区Linux下磁盘分区和目录的关系一、引入
操作系统的本质是什么 是一种管理(协调)资源机制管理(协调)的对象是计算机硬件主要构成设运算器/存储器/输入输出/控制器并赋予这些硬件设备在受限资源条件下产生超出硬件本身形态与作用的价值。 操作系统能够把计算机底层硬件在工作时伴随的通讯调用、时序切换、冲突等待、存储分配、进程、线程等复杂概念统一抽象为我们客观世界可以被认知的实物 ---------- 文件 概念 设备驱动程序 提供连接计算机的每个硬件设备的接口设备驱动器使程序能够写入设备而不需要了解执行每个硬件的细节。简单来说就是让你能吃到鸡蛋但不用养一只鸡 用户接口 操作系统需要为用户提供一种运行程序和访问文件系统的方法。如常用的 Windows 图形界面可以理解为一种用户与操作系统交互的方式智能手机的 Android 或 iOS 系统也是一种操作系统的交互方式 系统服务 当计算机启动时会自启动许多系统服务程序执行安装文件系统、启动网络服务、运行
具体到Linux操作系统它的体系主要由4部分构成即内核、shell、文件系统和应用程序。其中内核、shell、文件系统构成了操作系统最基本的结构。
二、内核 负责组织协调金属设备工作协调管理系统进程、内存、设备驱动程序、文件和网络系统决定系统的性能和稳定性 内核Linux 内核由如下几部分组成内存管理、进程管理、设备驱动程序、文件系统和网络管理等。SCI 层提供了某些机制执行从用户空间到内核的函数调用。这个接口依赖于体系结构甚至在相同的处理器家族内也是如此。SCI实际上是一个非常有用的函数调用多路复用和多路分解服务。在 ./linux/kernel 中您可以找到 SCI 的实现并在 ./linux/arch 中找到依赖于体系结构的部分。紧随SCI接口层之下就是一组处理用户操作的文件系统、内存管理、进程管理、设备驱动和网络管理。根据用户的操作要求各组件之间依据共同POSIX、FHS、LBS等标准接口各自负责处理不同的作业内容。
早期Linux的开发才众多系统的代码集成也比较庞杂系统兼容性受到一定的影响。所以Linux社区逐步引用了各项标准来规范操作系统运行时的规范与边界 POSIX标准定义了操作系统应该为应用程序提供的接口标准Linux正是遵从这个标准才得以从GNU获得大量的应用软件 FHS 标准定义了文件系统目录的规范分两层 第一层定义 / (根目录) 下面的各个目录应该要放什么文件数据例如/etc应该要放置设置文件/bin与/sbin则应该要放置可执行文件等等第二层针对/usr及/var这两个目录的子目录来定义。例如/var/log放置系统登录文件、/usr/share放置共享数据等等。 LSB标准制定了应用程序与运行环境之间的二进制接口确保应用程序可以跨系统移植运行。 用户空间这是Linux操作系统在多用户情况下针对内核程序与用户程序在内存运行过程中管理的概念。用户空间可以有多个内核空间有且仅有一个且两个空间之间是隔离访问的。
三、管理
1、内存管理
对任何一台计算机而言其内存以及其它资源都是有限的。为了让有限的物理内存满足应用程序对内存的大需求量Linux 采用了称为“虚拟内存”的内存管理方式。Linux 将内存划分为容易处理的“内存页”对于大部分体系结构来说都是 4KB。Linux 包括了管理可用内存的方式以及物理和虚拟映射所使用的硬件机制。
2、进程管理
在 Linux 系统中能够同时运行多个进程Linux 通过在短的时间间隔内轮流运行这些进程而实现“多任务”。这一短的时间间隔称为“时间片”让进程轮流运行的方法称为“进程调度” 完成调度的程序称为调度程序。进程实际是某特定应用程序的一个运行实体。
3、进程调度控制进程对CPU的访问
当需要选择下一个进程运行时由调度程序选择最值得运行的进程。可运行进程实际上是仅等待CPU资源的进程如果某个进程在等待其它资源则该进程是不可运行进程。Linux使用了比较简单的基于优先级的进程调度算法选择新的进程。
通过多任务机制每个进程可认为只有自己独占计算机从而简化程序的编写。每个进程有自己单独的地址空间并且只能由这一进程访问这样操作系统避免了进程之间的互相干扰以及“坏”程序对系统可能造成的危害。 为了完成某特定任务有时需要综合两个程序的功能例如一个程序输出文本而另一个程序对文本进行排序。为此操作系统还提供进程间的通讯机制来帮助完成这样的任务。Linux 中常见的进程间通讯机制有信号、管道、共享内存、信号量和套接字等。
内核通过 SCI 提供了一个应用程序编程接口API来创建一个新进程fork、exec 或 [POSⅨ] 函数停止进程kill、exit并在它们之间进行通信和同步signal 或者 POSⅨ 机制。
4、设备驱动程序和网络接口
设备驱动程序 设备驱动程序是 Linux 内核的主要部分。和操作系统的其它部分类似设备驱动程序运行在高特权级的处理器环境中从而可以直接对硬件进行操作但正因为如此任何一个设备驱动程序的错误都可能导致操作系统的崩溃。设备驱动程序实际控制操作系统和硬件设备之间的交互。
设备驱动程序提供一组操作系统可理解的抽象接口完成和操作系统之间的交互而与硬件相关的具体操作细节由设备驱动程序完成。一般而言设备驱动程序和设备的控制芯片有关例如如果计算机硬盘是 SCSI 硬盘则需要使用 SCSI 驱动程序而不是 IDE 驱动程序。
网络接口 提供了对各种网络标准的存取和各种网络硬件的支持。网络接口可分为网络协议和网络驱动程序。网络协议部分负责实现每一种可能的网络传输协议。众所周知TCP/IP 协议是 Internet 的标准协议同时也是事实上的工业标准。
Linux 的网络实现支持 BSD 套接字支持全部的TCP/IP协议。Linux内核的网络部分由BSD套接字、网络协议层和网络设备驱动程序组成。网络设备驱动程序负责与硬件设备通讯每一种可能的硬件设备都有相应的设备驱动程序
四、Linux Shell
shell是系统的用户界面提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行是一个命令解释器。另外shell编程语言具有普通编程语言的很多特点用这种编程语言编写的shell程序与其他应用程序具有同样的效果。
目前主要有下列版本的shell
Bourne ShellBASHKorn ShellC Shell
五、磁盘分区
磁盘分区linux分区不同于windows,硬盘和硬盘分区在Linux都表示为设备。硬盘分区类型主要有三种主分区扩展分区和逻辑分区。硬盘支持的分区主要分为主分区(Primary Partion)和扩展分区(Extension Partion)两种主分区和扩展分区数目之和不能大于四个。 主分区(Primary Partion)可以马上被使用但不能再分区。 扩展分区(Extension Partion)必须再进行分区后才能使用也就是说它必须还要进行二次分区。 逻辑分区((Logical Partion))由扩展分区建立起来的分区逻辑分区没有数量上限制。扩展分区只不过是逻辑分区的“容器”实际上只有主分区和逻辑分区进行数据存储。 Linux下硬盘分区的标识 硬盘分区的标识一般使用/dev/hd[a-z]X或者/dev/sd[a-z]X来标识其中[a-z]代表硬盘号X代表硬盘内的分区号。
整块硬盘分区的块号标识 Linux下用hda、hdb、sda、sdb 等来标识不同的硬盘。其中IDE接口硬盘表示为/dev/hda1、/dev/hdb …SCSI 接口的硬盘、SATA接口的硬盘表示为/dev/sda、/dev/sdb … …
硬盘内的分区
如果X的值是1到4,表示硬盘的主分区包含扩展分区逻辑分区从是从5开始的比如/dev/hda5肯定是逻辑分区了例如用hda1、hda2、 hda5、hda6 来标识不同的分区。其中字母a代表第一块硬盘b代表第二块硬盘依次类推。而数字1 代表一块硬盘的第一个分区、2 代表第二个分区依次类推。1 到4 对应的是主分区(Primary Partition)或扩展分区(Extension Partition)。从5开始对应的都是硬盘的逻辑分区(Logical Partition)。一块硬盘即使只有一个主分区逻辑分区也是从5开始编号的这点应特别注意。
总结一个硬盘分区首先要确认在哪个硬盘然后再确认它所在硬盘内的哪个分区。
Linux下磁盘分区和目录的关系 任何一个分区都必须挂载到某个目录上。 目录是逻辑上的区分。分区是物理上的区分。 磁盘Linux分区都必须挂载到目录树中的某个具体的目录上才能进行读写操作。 根目录是所有Linux的文件和目录所在的地方需要挂载上一个磁盘分区。