linux体系结构

linux体系结构

从大面上来说,linux体系结构分为:

用户空间:C库、用户应用程序

内核空间:系统调用接口、内核、硬件平台依赖代码

 

具体来讲,linux可划分为5个部分:linux内核、GNU工具链、桌面环境、应用软件

 

 

linux内核

 

系统调用接口(SCI层):给应用用户提供一套标准的系统调用函数,上层用户可以通过这一套标准接口来访问底层

内存管理:

进程管理:

文件管理:

设备驱动管理:

内存管理

1.作用:管理物理内存、创建和管理虚拟内存

为了使有限的物理内存满足应用程序对内存的需求,linux采用“虚拟内存”的内存管理方式实现,实现原理:

交换空间:内核在硬盘上化一段存储空间来实现虚拟内存,这段存储空间称为“交换空间”

页面:内存存储单元被分割成很多块,称为“页面”

页面内存表:内核会维护一张表,来指明哪些页面位于物理内存,那么页面位于交换空间

换出:物理内存---->交换空间

换入:交换空间---->物理内存

工作过程:

  1、内核将程序运行用到的页面就放到内存里,暂时不用就放到交换空间中(换出)。

  2、当用到交换空间的页面时,就把它们调到内存中(换入),然后把物理内存其他用不到的页面换出到交换空间。

查看内存

#cat /proc/meminfo

MemTotal: 1035244 kB #物理内存1G
MemFree: 786616 kB #空闲内存700M左右

...

SwapTotal:     2096472 kB        #有2G的交换空间

....

查看内存使用情况

#free

total used free shared buffers cached
Mem: 502360 489964 12396 0 53852 283372
-/+ buffers/cache: 152740 349620
Swap: 1015800 0 1015800

共享内存页面:

 创建一写共享内存页面,用于多个进程共享使用。

 #ipcs -m   #查看共享内存页面

key               shmid    owner   perms   bytes      nattch status
0x00000000       0         rich      600       52228    6      dest
#owner:共享内存段的所有者
#perms:权限

进程管理

参见进程管理

文件管理

linux内核文件管理采用虚拟文件系统(VFS),隐藏各种文件系统的具体细节,为文件操作提供统一的接口。Linux提供了一个大的通用模型,如下:

常见文件系统:

ext3:第3阔啊站文件系统,支持日志功能

ext4 :第4扩展文件系统,支持高级日志功能

iso9660:ISO 9660文件系统(CD-ROM)

nfs :网络文件系统

ntfs:支持Microsoft NT文件系统

proc:访问系统信息

smb:支持网络访问的Samba SMB文件系统

vfat:Windows 95文件系统(FAT32)

硬件设备管理:

内核代码中必须加入设备驱动程序代码,才能与硬件进行通信,linux内核提供2种方法来插入设备驱动代码:

   1.编译进内核的设备驱动代码,缺点:添加新设备时,需要重新编译内核。

   2.可插入内核的设备驱动模块:增加新设备,驱动模板插入内核中,无需重新编译。设备不可用时,也可从内核模块中移走。

 GNU工具链

操作系统还需要工具链来执行一些标准功能,将linux内核和GNU操作系统工具整合起来,就可以创造一个完整的、功能丰富的免费操作系统

GNU工具链包括:

   1.核心GNU工具链:有一组核心工具,称为GNU软件包,包括:处理文件、操作文件、管理进程的工具。

   2.shell:是用户和操作系统沟通的桥梁:(用户----shell----kernel----硬件)

linux桌面环境

1.X-window系统

2.KDE桌面

3.GNOME桌面:已成为许多linux发行版,默认的桌面环境。

posted @ 2017-06-21 17:11  思念我的娃  阅读(6564)  评论(0编辑  收藏  举报