




已阅读5页,还剩63页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux操作系统 基础知识篇,软件的分类,按提供方式和是否盈利划分 商业软件:开发出售,提供技术支持,用户只有使用权不得修改和扩散。 共享软件:开发者提供免费使用,升级,用户只有使用权不得修改和扩散。 自由软件:开发者使用所有源码,用户使用修改,并公开代码。 FSF (free software foundation) 自由软件基金会 GPL(general public license)通用公共许可证,目前全球软件业三大主流操作系统,微软WINDOWS操作系统 以专有硬件平台为基础的UNIX厂家 AIX(IBM) HP-UX(HP) Solaris(SUN) 由全球各地成千上万的程序员设计和实现的Linux,Linux 是什么?,Linux是免费使用和自由传播的类Unix操作系统 符合POSIX标准,以网络为核心的设计思想 由全世界各地成千上万的程序员设计和实现 不受任何商品化软件的版权制约,可自由使用 Linux以高效性、灵活性和稳定性著称,Linux 的主要特性,开放性 系统遵循遵循开放系统互连(Open Systems Interconnection,OSI)国际标准。 凡遵循国际标准所开发的硬件和软件,都能彼此兼容,可方便地实现互连。 多用户 多用户是指系统资源可以被不同用户各自拥有使用,即每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响。 Linux和Unix都具有多用户的特性。,Linux 的主要特性,多任务 计算机同时执行多个程序,而且各个程序的运行互相独立。 良好的用户界面 图形界面 字符界面 系统调用界面 设备独立性 所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以像使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。,Linux 的主要特性,丰富的网络功能 完善的内置网络 Linux在通信和网络功能方面优于其他OS 可靠的系统安全 文件读、写、执行等权限控制 带保护的子系统 审计跟踪 核心授权 良好的可移植性 将OS从一个平台转移到另一个平台,OS仍然能按其自身的方式运行,Linux的应用,超级计算机 应用服务器 嵌入式领域 软件开发 桌面应用,Linux的应用,超级计算机 全球超级计算机20强中,有19强使用的是Linux系列的操作系统,市场占有率达到95% 全球超级计算机前10强中,Linux的市场占有率是100%,Linux的应用,应用服务器 Linux系统的可靠性使它成为企业Web服务器的重要选择 邮件服务器成年累月运行,不需要重新启动 网络服务器面对海量访问,不崩溃 支持多种硬件平台,非常容易与其他平台如Windows,UNIX等系统共存,还可以自由无限制地修改 使用Linux操作系统的知名大网站 腾讯、GNU.org、阿里巴巴、百度、网易。,Linux的应用,嵌入式领域 嵌入式操作系统是当前操作系统领域的热点 系统内核小: Enea公司的OSE分布式系统,5K 专用性强:针对硬件的变化和增减进行修改 系统精简:控制系统成本,实现系统安全 高实时性:软件代码要求高质量和高可靠性 Linux的低成本、小内核以及模块化的特点吸引很多嵌入式设备都纷纷使用 诺基亚、摩托罗拉、三星、爱立信、惠普,Linux的应用,软件开发 Linux开发工具和应用正日臻完善,Linux开发者可以使用C,C+,Perl或PHP来开发应用程序 桌面应用 新版本的Linux系统在桌面应用方面进行了改进,达到了相当高的水平,完全可以作为一种集办公应用、多媒体应用、游戏娱乐和网络应用等多方面功能于一体的图形界面操作系统,要想了解更多背景与应用:,请观看Linux 20周年视频 /v_show/id_XMjU3MTU2MTE2.html,从实用主义角度来看:求职 从理性主义角度来看:扩充自己的知识面 学习系统软件,不光要懂得系统的工作原理,还要结合实际系统,学习实际系统的实现方法 “Read the fucking source code” by Linus 从更高的层面: Windows不开源代码,知其然而不知其所以然 美国政府有明确规定为了国家安全任何公司的加密技术都必须有解密方法 中国自主操作系统,从而构建一个自主、完整的软件产业体系。,为什么要学习Linux?,为什么要学习Linux?,2010.8.4, 腾讯 招聘 Linux,如何学习Linux?,授课内容一览,教材,1 鸟哥. 鸟哥的Linux私房菜基础学习篇(第3版) 2鸟哥. 鸟哥的Linux私房菜-服务器架设篇(第2版). 3红联Linux培训课件系列,师傅领进门, 修行在个人,取乎其上,得乎其中; 取乎其中,得乎其下; 取乎其下,则无所得矣,专心听课,你会少走很多弯路,Linux操作系统-基础知识篇,本节内容 1 Linux系统简介 2 Linux版本介绍 3 Fedora Core 3.1 系统概述 3.2 安装Fedora系统 3.3 登录、注销和关闭系统 3.4 GNOME基本使用 3.5 系统设置,内核 Shell 文件系统 应用程序,Linux系统的组成,文件系统,内核是操作系统的核心 存储管理:虚拟内存 CPU和进程管理:多任务,共享库 文件系统:加载和卸载 设备管理和驱动 网络通信:TCP/IP网络功能 系统的初始化和系统调用,Linux系统的组成 -内核,它接收用户输入的命令 解释用户输入的命令并将其送到内核去执行 Shell编写的程序与其他应用程序有相同的效果,Linux系统的组成 - Shell,Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口,Linux系统的组成 - Shell,文件系统是文件存放在磁盘等存储设备上的组织方法 Linux虚拟文件系统为用户提供了一个一种公共的接口,而不需要了解物理设备或逻辑系统的细节。系统允许系统管理员将在任何物理设备上的逻辑文件系统挂接在文件目录中。 支持多种文件系统:Ext2、Ext3、Ext4、FAT、FAT32、VFAT、ISO9660, ,Linux系统的组成-文件系统,标准的Linux系统都有一套称为应用程序的程序集,它包括文本编辑器、编程语言、X Window、办公软件、Internet工具和数据库等,Linux系统的组成-应用程序,Linux系统的组成 内核 Shell 文件系统 应用程序,Linux版本介绍,Linux的版本号分为两部分 内核版本(kernel) 发行版本(distribution),内核是一个用来和硬件打交道并为用户程序 提供一个有限服务集的低级支撑软件 内核版本号由3个数字组成:r.x.y r:目前发布的内核主版本 x:偶数表示稳定版本;奇数表示开发中 版本 y:错误修补的次数,2.1 Linux内核版本,2.6.33,2.2 Linux发行版本,一些组织和厂家,将Linux系统的内核、应 用软件和文档包装起来,并提供一些系统安 装界面、系统配置设定管理工具,就构成了 Linux发行版本. 系统工具+应用工具+网络工具+编译工具 各发布厂商发行版本的版本号各不相同,与 Linux系统内核的版本号是相对独立的。 根据GPL准则,这些发行版本虽然都源自一 个内核,但都没有自己的版权。,(1)Mandriva (2)Red Hat (3)SUSE (4)Debian (5)Ubuntu (6)Gentoo (7)Slackware (8)Red Flag,主流Linux发行版本介绍,Fedora系统概述,Fedora是一个开放的、创新的以及前瞻性的平台, 它允许任何人自由地使用、修改和重发布 前身就是Red Hat Linux,被Red Hat公司定位为新 技术的实验场 2003年11月,第一个发行版本 Fedora Core 1 出炉,版本代码: Yarrow 2004年5月,FC2正式发布,版本代码: Tettnang 2004年11月,FC3正式发布,版本代码: Heidelberg 2010年5月25日,Fedora13正式版发布, 最新版 本Fedora 13 Goddard,安装Fedora系统,参见Win7使用 VMware 安装 Linux (Fedora13) 庞宇杰(现在穆迪信息咨询工作) 王晓哲(现在明尼苏达大学(University of Minnesota)就读),感谢历届学生的无私奉献!,旧时王谢堂前燕, 飞入寻常百姓家。,登录、注销和关闭系统,Fedora系统使用账号来管理权限和维护安 全,不是所有的账号都具有相同的权限,某 些账号所拥有的文件访问权限和服务要比其 他账号少,登录系统,注销系统 在Fedora系统中,要注销Fedora 8系统,单击面板上的“系统”“注销”,弹出注销确认对话框,单击“注销”按钮即可注销系统 如果不采取任何操作,那么系统会在60s之后自动注销 切换用户,关机和重新启动系统 在切断计算机电源之前必须首先关闭Fedora 系统 不执行关闭Fedora系统就直接切断计算机的 电源,会导致未存盘数据的丢失或者系统的 损害,GNOME基本使用,Fedora系统包括了一个功能强大的图形化桌面环境GNOME,可以很方便地访问应用程序、文件和系统资源,使用桌面,Fedora系统默认图形化桌面环境是GNOME,通过图形化桌面环境能够使用图形化应用程序以及利用图形界面对计算机进行系统设置 Fedora提供了3种主要工具来使用系统上的应用程序:面板图标、桌面图标和菜单系统,面板(顶部),面板(底部),使用面板,可以单击面板上的“应用程序”按钮,进入系统内 的应用程序 可以使用面板上的“位置”快速地进入某个文件夹中,如主文件夹、桌面、计算机和网络等;还可以在系统中搜索文件;查看最近打开的文档等 可以使用面板上的“系统”操纵首选项、管理、帮助、注销以及关机功能,其中使用“管理”可以对Fedora系统进行大部分的管理操作,小程序是运行在面板上的小型应用程序,通常会监控系统中的各类情况,使用小程序,在面板上添加项目,图形化桌面提供了使用多个工作区的功能,因此不必把所有运行着的应用程序都堆积在一个可视桌面区域,工作区切换器,系 统 设 置,登录Fedora系统之后,有可能需要对其进行设置,比如桌面背景、屏幕保护程序、日期和时间设置、系统监视、磁盘分析、声卡检测等,下面对这些内容分别进行介绍,系统监视器,使用“系统监视器”可以查看Fedora系统的系统信息、进程信息、资源信息以及文件系统信息,使用“磁盘使用分析器”工具可以对本地计算机甚至远程计算机的文件夹和文件系统进行扫描并分析,磁盘使用分析器,磁盘使用分析器,在Fedora系统安装过程中对显示器、视频卡和显示设置都进行了配置,显示设置,使用“时间/日期属性”工具允许用户更改系统日期和时间、配置系统使用的时区以及设置网络时间协议(NTP)守护进程来与时间服务器的系统时钟进行同步,日期和时间配置,使用“外观首选项”工具可以更改桌面的背景,可以从/usr/share/backgrounds/目录中选择图像,也可以使用自己的图像,更改桌面背景,外观首选项,当需要检测Fedora系统上的声卡是否正常时,单击面板上的“系统”“管理”“声卡检测”,打开“声音配置”界面,声卡检测,声音配置,当需要查看Fedora系统的日志时,单击面板上的“应用程序”“系统工具”“系统日志”,打开如图所示的“系统日志查看器”界面,系统日志,系统日志查看器,课堂之外 兴趣人士,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/swapfile.c中。,Linux内核源代码的组成,3 核心 大多数通用代码位于kernel目录下,而处理器相关代码被放在arch/kernel中。调度管理程序位于kernel/sched.c,fork代码位于kernel/fork.c。底层部分处理及中断处理的代码位于include/linux/interrupt.h里。在/linux/sched.h中可以找到task_struct的描叙。 4 PCI PCI伪设备驱动位于drivers/pci/pci.c且其系统通用定义放在include/linux/pci.h中。每个处理器结构 具有特殊的PCI BIOS代码,Alpha AXP的位于arch/alpha/kernel/bios32.c中。,Linux内核源代码的组成如下,5 进程间通讯 进程间通讯所有代码都在ipc目录中。系统V IPC对象都包含一个ipc_perm结构,它在include/linux/ipc.h中描叙。 系统V消息在ipc/msg.c中实现,共享内存在ipc/shm.c而信号灯位于ipc/sem.c中。管道在ipc/pipe.c中实现。 6 中断处理 核心的中断处理代码总是与微处理器结构相关。Intel系统的中断处理代码位于arch/i386/kernel/irq.c中, 其定义位于include/asm-i386/irq.h中。,Linux内核源代码的组成如下,7 设备驱动 Linux核心源码的大多数都是设备驱动。所有Linux的设备驱动源码都放在drivers目录中并分成以下几类: /block 块设备驱动包括IDE(在ide.c中)驱动。如果想寻找这些可包含文件系统的设备的初始化过程 则应该在drivers/block/genhd.c中的device_setup()。当安装一个nfs文件系统时不但要初始化 硬盘还需初始化网络。块设备包括IDE与SCSI设备。 /char 此目录包含字符设备的驱动,如ttys,串行口以及鼠标。,Linux内核源代码的组成,7 设备驱动 Linux核心源码的大多数都是设备驱动。所有Linux的设备驱动源码都放在drivers目录中并分成以下几类: /cdrom 包含所有Linux CDROM代码。在这里可以找到某些特殊的CDROM设备(如Soundblaster CDROM)。 IDE接口的CD驱动位于drivers/block/ide-cd.c中而SCSI CD驱动位于drivers/scsi/scsi.c中。 /pci 它包含了PCI伪设备驱动源码。这里可以找到关于PCI子系统映射与初始化的代码。另外位于 arch/alpha/kernel/bios32.c中的Alpha AXP PCI补丁代码也值得一读。,Linux内核源代码的组成,7 设备驱动 Linux核心源码的大多数都是设备驱动。所有Linux的设备驱动源码都放在drivers目录中并分成以下几类: /scsi 这里可以找到所有的SCSI代码以及Linux支持的SCSI 设备的设备驱动。 /net 包含网络驱动源码,如tulip.c中的DECChip 21040 PCI以太网驱动。 /sound 所有的声卡驱动源码。,Linux内核源代码的组成,8 文件系统 EXT2文件系统的源码位于fs/ext2中,其数据结构定义位于include/linux/ext2_fs.h, ext2_fs_i.h 以及 ext2_fs_sb.h中。虚拟文件系统数据结构在include/linux/fs.h中描叙且其代码在fs/中。buffer cache 和update核心后台进程在fs/buffer.c中实现。 9 网络 网络代码位于net目录而大多数包含文件位于include/net中。BSD套接口代码位于net/socket.c中。IPV4的 INET套接口代码位于net/ipv4/af_inet.c中。通用协议支撑代码(包括sk_buff处理过程)位于net/core中, 同时TCP/IP网络代码位于net/ipv4中。网络设备驱动位于drivers/net中。,Linux内核源代码的组成,10 核心模块 核心模块代码部分位于核心中部分位于modules包中。核心代码位于kernel/modules.c且其数据结构与核心 后台进程kerneld消息位于include/linux/module.h和include/linux/kerneld.h目录中。同时必要时需查阅 include/linux/elf.h中的ELF文件格式。,Linux内核分析方法,Linux的最大的优点之一就是它的源码公开。 首先是可以从中学到很多的计算机的底层知识,如后面将讲到的系统的引导和硬件提供的中断机制等;其它,如虚拟存储的实现机制、多任务机制、系统保护机制等等,这些都是非读源码不能体会的。 其次是可以从操作系统的整体结构中,体会整体设计在软件设计中的份量和作用,以及一些宏观设计的方法和技巧:Linux的内核为上层应用提供一个与具体硬件不相关的平台;同时在内核内部,它又把代码分为与体系结构和硬件相关的部分,和可移植的部分;再例如,Linux虽然不是微内核的,但它把大部分的设备驱动处理成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/TS 9166:2025 EN Health informatics - Guidelines for self-assessment questionnaire systems
- 【正版授权】 ISO 80000-12:2019/Amd 1:2025 EN Quantities and units - Part 12: Condensed matter physics - Amendment 1
- 【正版授权】 ISO 2575:2021/Amd 1:2024 EN Road vehicles - Symbols for controls,indicators and tell-tales - Amendment 1
- 【正版授权】 ISO 13099-2:2025 EN Colloidal systems - Methods for zeta-potential determination - Part 2: Optical methods
- 【正版授权】 IEC TR 62786-102:2025 EN Distributed energy resources connection with the grid - Part 102: CAES connection to the grid
- 校园应急知识培训心得
- 学前语音考试试题及答案
- 农业植物试题及答案
- 校园安全知识培训课件体会
- 治安防暴笔试题及答案
- 2025年匹克球裁判试题及答案
- 2025秋苏教版科学三年级上册教学设计(附目录)
- 《初中必读名著导读:《水浒传》核心知识点与深度解读》
- 诊断学血管检查
- 大连市甘井子区社区工作者招聘笔试真题2024
- 生产安全会议纪要
- 哪个团队收益大+课件2025-2026学年+北师大版(2024)八年级数学上册
- 初中情景教学法教案课件
- 《中华人民共和国传染病防治法(2025年版)》解读
- 智慧校园建设“十五五”发展规划
- 幼儿发展评价手册使用培训
评论
0/150
提交评论