1-1Linux内核.ppt_第1页
1-1Linux内核.ppt_第2页
1-1Linux内核.ppt_第3页
1-1Linux内核.ppt_第4页
1-1Linux内核.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章Linux内核简介,操作系统的内核体系结构模型 Linux的特点及发展简史 Linux内核的结构及主要组成部分,Linux概述,1. Linux简介 Linux是一匹自由而奔 放的黑马 诞生于学生之手 成长于Internet 壮大于自由而开 放的文化,Linux之父-Linus Torvalds,芬兰、赫尔辛基大学、1990 起始于写两个进程 然后写驱动程序、文件系统、任务切换程序,从而形成一个操作系统的邹形。,Linux以它的高效性和灵活性著称。它能够在个人计算机上实现全部的Unix特性,具有多任务、多用户的能力。 Linux可在GNU(“不是UNIX”工程的缩写)公共许可权限下免费获

2、得,是一个符合POSIX标准的操作系统。 Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形用户界面。,Linux之所以受到广大计算机爱好者的喜爱,主要原因有两个: 一是它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改和无约束地继续传播。 二是它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中获益。,Linux得以流行的原因之一 遵循POSIX标准,POSIX 表示可移植操作系统接口(

3、Portable Operating System Interface) POSIX是在Unix标准化过程中出现的产物。 POSIX 1003.1标准定义了一个最小的Unix操作系统接口 任何操作系统只有符合这一标准,才有可能运行Unix程序,Linux的肥沃土壤GNU,GNU 是 GNU Is Not Unix 的递归缩写,是自由软件基金会的一个项目 。 GNU 项目产品包括 emacs 编辑器、著名的 GNU C 和 Gcc编译器等,这些软件叫做GNU软件。 GNU 软件和派生工作均适用 GNU 通用公共许可证,即 GPL(General Public License ) Linux的开发

4、使用了众多的GUN工具,GPL开源软件的法律,GPL 允许软件作者拥有软件版权 但GPL规定授予其他任何人以合法复制、发行和修改软件的权利。,2. Linux系统的主要特点,开放性:指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。 多用户:是指系统资源可以被不同用户使用,每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响。 多任务:它是指计算机同时执行多个程序,而且各个程序的运行互相独立。 良好的用户界面 :Linux向用户提供了两种界面:用户界面和系统调用。Linux还为用户提供了图形用户界面。它利用鼠标、菜单、窗口、滚动条等设施,给用户呈现一个直观、易操作、交

5、互性强的友好的图形化界面。,设备独立性:是指操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以象使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。Linux是具有设备独立性的操作系统,它的内核具有高度适应能力 提供了丰富的网络功能:完善的内置网络是Linux一大特点。 可靠的安全系统:Linux采取了许多安全技术措施,包括对读、写控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。 良好的可移植性:是指将操作系统从一个平台转移到另一个平台使它仍然能按其自身的方式运行的能力。Linux是一种可移植的操作系统,能

6、够在从微型计算机到大型计算机的任何环境中和任何平台上运行。,3. LINUX的组成,LINUX的内核:内核是系统的核心,是运行程序和管理像磁盘和打印机等硬件设备的核心程序。 LINUX SHELL: Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。 LINUX文件系统: Linux文件系统是文件存放在磁盘等存储设备上的组织方法。Linux能支持多种目前浒的文件系统,如EXT2、EXT3、FAT、VFAT、ISO9660、NFS、SMB等。 LINUX应用系统:标准的Linux系统都有一整套称为应用程序的程序集,包括文本编辑器、编程语言、X Window、办公套件、Inter

7、net工具、数据库等。,Linux内核,Linus领导下的开发小组开发出的系统内核 是所有Linux 发布版本的核心 内核开发人员一般在百人以上,任何自由程序员都可以提交自己的修改工作。 采用邮件列表来进行项目管理、交流、错误报告 有大量的用户进行测试,正式发布的代码质量高,4. Linux内核的特点,Unix内核是单内核、单模块设计 它是一个不可分割的静态可执行体,必须以完整、单独的可执行块的形式在一个单独的地址空间运行 Windows NT和Mach是微内核的典型实例 微内核的功能被划分为多个独立的过程,每个过程叫做一个服务器。 Linux内核与Unix内核一样是单内核,多模块设计 Lin

8、ux内核运行在单独的内核地址空间。 与Unix内核不同的是,Linux内核汲取微内核的思想 具备模块化设计、抢占式内核、支持内核线程以及动态装载内核模块的能力 所有模块全部运行在内核态,直接调用函数,无需消息传递 支持多称多处理SMP机制,讲究效率的单模块操作系统,进程管理,内存管理,设备管理,文件管理,模块之间可以互相调用的单模块结构,讲究效率的单模块操作系统,模块之间直接调用函数,除了函数调用的开销外,没有额外开销。 庞大的操作系统有数以千计的函数 复杂的调用关系势必导致操作系统维护的困难,追求简洁的微内核操作系统,客户进程,进程服务器,内存服务器,文件服务器,微内核,追求简洁的微内核操作

9、系统,内核与各个服务器之间通过通信机制进行交互,这使得微内核结构的效率大大折扣。 内核发出请求,服务器做出应答 为各个服务器模块的相对独立性,使得其维护相对容易,5. Linux内核的组成,Linux内核主要由五个子系统组成:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信。,6.内核在整个系统的位置,硬件,系统调用接口,应用 程序进程1,应用 程序进程2,应用 程序进程3,Linux内核,用户进程,内核子系统,系统调用,整个系统的核心内核,用户进程运行在Linux内核之上的一个庞大软件集合。 系统调用内核的出口,用户程序通过它使用内核提供的功能。 Linux内核操作系统的灵魂,负责管理

10、磁盘上的文件、内存,负责启动并运行程序,负责从网络上接收和发送数据包等等。 硬件包括了Linux安装时需要的所有可能的物理设备。例如,CPU、 内存、硬盘、网络硬件等等。,内核子系统,内核子系统,进程调度控制着进程对CPU的访问。 内存管理允许多个进程安全地共享主内存区域 虚拟文件系统隐藏各种不同硬件的具体细节,为所有设备提供统一的接口。 网络提供了对各种网络标准协议的存取和各种网络硬件的支持。 进程间通信(IPC) 支持进程间各种通信机制,包括共享内存、消息队列及管道等。,Linux内核版本树,0.01Linux(第一版),0.13版 | 产品化版本实验版本 1.0.0 1.1.0(1.0.

11、0的拷贝) 1.0.X(修改)1.1.X(增加新功能,进行测试) 1.1.95(成为1.2.0),几种流行的Linux发行版本,内核源代码结构,arch:包含与硬件体系结构相关的代码,每种平台占一个相应的目录。比如:32位PC相关的代码存放在i386目录下,ARM平台相关的代码存放在arm目录下。在每个平台的目录中,还有一些子目录。其中比较重要的包括kernel(内核核心部分)、mm(内存管理)、lib(硬件相关工具函数)和boot(引导程序)等。 Documentation:关于内核各部分的通用解释和注释。 drivers:设备驱动程序,每个不同的驱动占用一个子目录。 fs:各种支持的文件系

12、统,如ext、fat、ntfs等。 include:内核头文件。其中,include/asm-*/中是体系结构相关的头文件(*表示体系结构的名称,比如:include/asm-arm)。include/linux中是内核基本的头文件。 init:内核C语言部分的初始化代码(注意不是系统引导代码)。 ipc:进程间通信的代码。,kernel:内核的最核心部分,包括进程调度、定时器等,和平台相关的一部分代码放在arch/*/kernel目录下。 lib:各种库文件代码。 mm:内存管理代码,和平台相关的一部分代码放在arch/*/mm目录下。 net:网络相关代码,实现了各种常见的网络协议。 cr

13、ypto:常用加密和散列算法(如AES、SHA等),还有一些压缩和CRC校验算法。 scripts:用于配置内核文件的脚本文件。 sound:常用音频设备的驱动程序等。 usr:实现了一个cpio。cpio可以从cpio或tar格式的归档包中存入和读取文件,归档包是一种包含其他文件和有关信息的文件。,Linux内核源代码采用的语言,GNU 的C语言 /docs/learnc/ AT&T的汇编 Linux Assemlby Programming: DOS vs. AT&T Syntax.,Linux操作系统的心脏Kernel,Linux内核体系结构,嵌入式L

14、inux的开发,Linux在中国,开源文件的蔓延,通过Internet Linux爱好者的参与 商业公司的加入 政府的支持,中文Linux网站,中国Linux论坛 丰富的Linux文档资料: 中国Linux公社: /nuke/index.php,开源项目,共创软件联盟的开发源码库 丰富的源码库,政府支持如虎添翼,政府采购看准开放标准 政府软件采购招标中, Linux中标.,如火如荼的培训,Linux发布者 培训机构,Linux教学层次,Linux的使用 系统管理 应用程序的开发 内核级的开发,计算机学会 开源组织 出版行业,组织开源软件大赛,Linux应用现状,Linux主要应用于软件供应商、学术界及ASP、ISP公司,主要用于服务器平台,嵌入式系统,桌面环境欠缺。 开放源代码软件的使用符合国家和民族的利益,这样可以避免依赖某一个公司的产品。 软件产业正处于转型期,从PC时代靠销售软件产品的版权来赢利逐渐向Internet时代以软件服务为主。Linux是代表。,Linux应用现状,Linux在市场不断取得成功,IBM、Sun、Oracle、Intel、苹果等著名IT公司纷纷加入Linux的阵营 开放源码不断深入,微软受到挑战 开放源代码软件模式更有利于解决软件中存在的安全缺陷。,Linux发展方向,提供更

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论