1、概述
Linux操作系统的基础概述请参见http://shanyou.sti.gd.cn/linux/linuxjc.htm
2、体系结构概述
按照Garlan和Shaw提出的Linux操作系统分层方法:Linux操作系统分为4层次,即四个子系统,分别是用户进程、系统调用接口、Linux内核、硬件控制器。下面简单介绍一下这四个组成部分。
3、Linux内核
从程序员的角度来讲,操作系统的内核提供了一个虚拟的机器接口。它抽象了许多硬件细节,程序可以以某种统一的方式来进行数据管理,而内核将所有的硬件抽象成统一的虚拟借口。
Linux以统一的方式支持多任务,而这种方式对用户进程是透明的,每一个进程运行起来就好像只有它一个进程在计算机上运行一样,独占内存和其他的硬件资源。实际上内核在并发的运行几个进程。并且能够让几个进程公平合理地使用硬件资源,也能使各个进程之间互不干扰安全的运行。读到这里你就明白了为什么linux不会象windows那样常死机、蓝屏。linux如果使用图形界面可能会发现计算机好像死机了,其实没有死,而是某个进程死了,可能就是你的kde,gnome.杀死这个进程就可以了不必reset.
Linux内核也要完成一般操作系统必须完成的任务:
内核必须包含虚拟文件系统(VFS)管理程序以及各种具体文件系统映射成VFS的程序。这可是Linux较有特设的一部分,这就是为什么Linux支持的文件系统(minix文件系统、ext2/ext3文件系统、msdos/vfat/ntfs文件系统、iso9600CD-ROM的标准文件系统、hpfs OS/2用的文件系统、ufs/sysv 文件系统)很多的原因。对于内存的管理,Linux使用虚拟存储管理方式,利用现代处理器的页面映射能力,在x86处理器上,Linux使用4GB的地址空间,操作系统处理利用物理存储器外还支持将硬盘空间映射成虚拟内存。所有的存储器(物理内存和虚拟内存)被分成大小相等的页面,系统通过给出页号和页面内偏移量对某个内存地址进行访问。物理内存紧张的时候,操作系统把某些没有使用的页面从内存移动到硬盘上以便腾出空闲的页面供程序使用,这个过程叫做交换(SWAP).Linux使用交换分区来处理交换需要的虚拟存储空间,在硬盘上开设一个独立的分区专门用于映射虚拟内存,交换分区可以有多个,之所以这样是因为早期的Linux核心要求每一个交换分区不能超过128MB.对于较重负荷的服务器,交换内存用到256MB甚至更多都是很正常的事情,因此那时的系统经常有多个交换分区。目前这个限制已经去除。
内核的另外一个任务是执行用户程序,为此核心必须支持可执行格式。Linux使用多种可执行文件个时,诸如elf、aout等等,这可与windows不同,没有办法从名字上区分一个文件到底是什么格式,核心只关心二进制文件的具体形式。
linux内核由五个主要的子系统组成:进程调度(SCHED)、内存管理(MM)、虚拟文件系统(VFS)、网络接口(NET)、进程间通信(IPC)。进程调度处于核心位置,所有的子系统都依赖于它,因为每一个子系统都需要挂起或者恢复进程。一般情况下,当一个进程等待硬件操作完成时,它会被挂起;当操作真正完成时,进程恢复执行。各个子系统之间的依赖关系如下:
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18