- 1、本文档共68页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一周﹝基础知识和安装﹞﹝5﹞
软件的分类 按提供方式和是否盈利划分 商业软件:开发出售,提供技术支持,用户只有使用权不得修改和扩散。 共享软件:开发者提供免费使用,升级,用户只有使用权不得修改和扩散。 自由软件:开发者使用所有源码,用户使用修改,并公开代码。 FSF (free software foundation) 自由软件基金会 GPL(general public license)通用公共许可证 Linux 的主要特性 开放性? 系统遵循遵循开放系统互连(Open Systems Interconnection,OSI)国际标准。 凡遵循国际标准所开发的硬件和软件,都能彼此兼容,可方便地实现互连。 多用户? 多用户是指系统资源可以被不同用户各自拥有使用,即每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响。 Linux和Unix都具有多用户的特性。? Linux 的主要特性 多任务? 计算机同时执行多个程序,而且各个程序的运行互相独立。 良好的用户界面? 图形界面 字符界面 系统调用界面 设备独立性? 所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以像使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。? Linux 的主要特性 丰富的网络功能? 完善的内置网络 Linux在通信和网络功能方面优于其他OS 可靠的系统安全? 文件读、写、执行等权限控制 带保护的子系统 审计跟踪 核心授权 良好的可移植性? 将OS从一个平台转移到另一个平台,OS仍然能按其自身的方式运行 要想了解更多背景与应用: 请观看Linux 20周年视频 /v_show/id_XMjU3MTU2MTE2.html 教材 [1] 鸟哥. 鸟哥的Linux私房菜基础学习篇(第3版) [2]鸟哥. 鸟哥的Linux私房菜-服务器架设篇(第2版). [3]红联Linux培训课件系列 课堂之外 兴趣人士 Linux 内核的重要组成部分 Linux内核分析 所有主要Linux发行版本(如Craftworks,Debian、Slackware和Redhat)都包含了源码在内。Linux系统核心就是从这些源码中构造出来的。 核心源码的组织 核心源码的顶层是/usr/src/目录,在此目录下可以看到大量子目录: arch 这个子目录包含了所有体系结构相关的核心代码。它还包含每种支持的体系结构的子目录,如i386。 include 这个目录包括了用来重构核心的大多数include文件。对于每种支持的体系结构分别有一个子目录。 init 此目录包含核心启动代码。 mm 此目录包含了所有的内存管理代码。与具体体系结构相关的内存管理代码位于arch/mm目录下,例如arch/i386/mm/fault.c 。 核心源码的组织 drivers 系统中所有的设备驱动都位于该目录中。它又进一步划分成几类设备驱动,如block。 ipc 此目录包含了核心的进程间通讯代码。 modules 此目录仅仅包含已建好的模块。 fs 所有的文件系统代码。它也被划分成对应不同文件系统的子目 录,如vfat和ext2。 kernel 主要核心代码。同时与处理器结构相关代码都放在arch/kernel目录下。 net 核心的网络部分代码。 lib 此目录包含了核心的库代码。与处理器结构相关库代码被放在arch/lib/目录下。 scripts 此目录包含用于配置核心的脚本文件(如awk和tk脚本)。 Linux内核源代码的组成 阅读核心某个部分经常要用到好几个其他的相关文件,对于源代码的阅读,要想比较顺利,事先最好对源代码的知识背景有一定的了解。阅读linux内核源代码的基本要求是: 1、操作系统的基本知识。 2、对C语言比较熟悉,最好要有汇编语言的知识和GNU C对标准C的扩展的知识的了解。另外,在阅读之前还应该知道Linux内核源代码的整体分布情况。 Linux内核源代码的组成如下 1 系统启动与初始化 在基于intel的系统上,Linux可以通过loadlin.exe或者LILO将核心载入内存并将控制传递给它。这部分程序 位于arch/i386/kerneld/head.s。此文件完成一些处理器相关操作并跳转到init/main.c中的main()例程。 2 内存管理 这部分代码主要位于mm目录里,而与处理器结构相关部分在arch/mm中。页面出错处理代码位于mm下的 memory.c文件中,内存映射与页面cache代码位于filemap.c中。buffer cache则在mm/buffer.c中实现, swap cache位于mm/swap_state.c和mm/swap
文档评论(0)