第一讲Linux操作系统和开放源代码文化_第1页
第一讲Linux操作系统和开放源代码文化_第2页
第一讲Linux操作系统和开放源代码文化_第3页
第一讲Linux操作系统和开放源代码文化_第4页
第一讲Linux操作系统和开放源代码文化_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章 Linux操作系统和开放源代码文化韦 勇信息安全教研室Linux系统及程序设计Linux的发音o A:linju:ks o B:linkso C:linkso D:linikso 正确发音 GO“hello,this is linus torvalds and i pronounce linux as linux”其他发音o GNUo Gnomeo Ubuntuo Debiano Solariso SuSEo Mozillao Samba课程概况o Linux系统及程序设计n 选修课必修课n 学分数:4n 总学时:64n 理论课:16(1-8周)n 实验课:48(4-15周)课程要求o

2、 了解Linux操作系统、发行版本的背景知识,理解开放源代码运动o 理解Linux操作系统的基本概念和特性,掌握操作系统相关的管理命令o 掌握Linux操作系统的其他操作命令、管理命令、帮助命令和编辑器的使用课程要求(续)o 理解Linux操作系统安全配置和管理的目的,了解进行安全配置和管理的方法o 掌握Shell编程的基本方法o 掌握C编译器、调试器的使用方法o 理解开放源代码项目的概念,掌握使用automake进行自动编译以及CVS进行版本控制的方法,掌握开放源代码项目的开发过程用人单位需求o 内核、驱动开发类用人单位需求(续)o 系统管理、网络管理类用人单位需求(续)o 应用软件开发类理

3、论课内容o Linux操作系统和开放源代码文化n Linux背景知识n Linux安装o Linux操作系统的基本使用n 系统特性n 操作命令n 管理命令n 帮助系统n 编辑器vi的使用理论课内容(续)o Linux操作系统安全配置与管理n 安全和管理的相关命令举例n 安全配置的准则和举例n 安全管理的准则理论课内容(续)o Linux系统管理的Shell程序实现n 语法、逻辑控制、环境变量n Shell程序的举例和改进o Linux操作系统环境下的C程序开发技术n 编译器gcc的使用n 调试器gdb的使用理论课内容(续)o 开放源代码软件的开发技术n 开发过程介绍n 开发工具的使用(auto

4、make和cvs)n 组织、开发一个开源软件项目实验课内容o Linux系统的安装o Linux系统的基本命令使用o X Window的使用o Linux系统的网络管理o Linux系统的安全配置和管理o Shell程序分析o Shell程序设计实践实验课内容(续)o Linux操作系统环境下的C程序设计o 开放源代码软件项目开发工具使用o Linux上应用软件的安装o 开放源代码软件项目开发实践o Linux下的网络安全防御(选做)o Linux在渗透测试中的应用(选做)o 网络编程实验(选做)教材o 孟庆昌;牛欣源. Linux教程(第3版). 电子工业出版社. 2011.8参考教材o 刘

5、海燕;荆涛. Linux系统应用与开发教程(第2版). 机械工业出版社. 2010.6 o Sarwar,Al-Saqabi,英宇、姚锋 译. Linux & Unix程序开发基础教程(原 书 名:Linux & Unix Programming Tools). 清华大学出版社. 2004.1o Neil Matthew;Richard Stones,陈健,宋健建 译. Linux程序设计(第3版). 人民邮电出版社. 2007.7课程考核方式o 实验课成绩(60%,实验过程和实验报告)o 期末开卷考试(30%)o 平时成绩(10%,作业和考勤)课堂纪律o 不迟到、不早退、不旷课o 课堂保持安

6、静,不要影响他人o 手机关机或静音o 作业按时提交o 作业和实验报告严禁抄袭联系方式o 韦 勇o QQ:7236727o Email:o 办公室:新综合楼2-69本章内容o 什么是Linux?o 开放源代码运动,自由软件基金会;o Linux背景知识:Linux发展史、Linux的主要特性、发行版本介绍;o Fedora安装介绍计算机系统体系结构什么是操作系统?o 计算机硬件、软件资源的管理者n CPU、存储、外设、数据、软件o 用户使用计算机硬件、软件的接口n 命令行、菜单式、命令脚本、图形界面o 扩展机(extended machine)n 在裸机上添加设备管理、文件管理、存储管理等操作系

7、统功能o 处理机(CPU)管理o 存储管理o 设备管理o 信息(文件)管理o 用户接口用户接口操作系统类型o MS OS: MS DOS, MS Windows 3.x, Windows 95/98, Windows NT/2000/XP,Windows Vista, Windows 7, Windows 8.操作系统类型(续)o UNIX: FreeBSD, Solaris, IBM AIX, HP Unix,Linux操作系统类型(续)o Mac OSo Novell Netware什么是UNIXo UNIX是有OPEN GROUP管理的一个商标,它指的是一个遵循特定规范的计算机操作系统o

8、 这个规范称为单一UNIX规范(The Single UNIX Specification)类UNIX系统o 多数为商用,如IBM的AIX、HP的HP-UX和Sun的Solariso 免费的有FreeBSD和LinuxLinux源起o 1991 年 8 月,芬兰的一个学生在comp.os.minix 新闻组贴上了以下这段话:你好,所有使用 minix 的人 -我正在为386 ( 486 ) AT 做一個免费的操作系統 ( 只是为了爱好 ),不会像 GNU 那样很大很专业。Linus TorvaldsLinux源起(续)o 1990年秋,荷兰赫尔辛基大学,本科生Linus修读Unix课程,基于m

9、inix编写仿真程序(本科毕业设计)o 1991年10月发布linux0.02版本o 1993年发布linux0.99版本o 1994年3月发布linux1.0版本o 1994年加入GNU组织GNU和FSFo 自由软件基金会(Free Software Foundation, FSF)是1985年由Richard Stallman发起的一个非盈利性的组织,来支持自由软件运动。o GNU 是 GNU Is Not UNIX 的缩写,是的FSF一个项目,采用了GNU General Public License (GPL)软件协议,目标是开发一个自由的 UNIX 版本HURD。软件模式o 当前流行

10、的软件三种模式,即:n 商业软件(Commercial software) n 共享软件(Shareware)n 自由软件(Freeware或Free software)自由软件o 不论目的为何,有运行该软件的自由o 有研究该软件如何运行,以及按需改写该软件的自由。取得该软件源代码为达成此目的之前提o 有重新发布拷贝的自由o 有改进该软件,以及向公众发布改进的自由,这样整个社群都可受惠。取得该软件源码为达成此目的之前提GPL (General Public License)o 它要求软件以源代码源代码的形式发布,并规定任何用户能够以源代码的形式将软件复制或发布给别的用户。 o 它提醒每个用户,

11、对于该软件不提供任何形式的担保。 o 如果用户的软件使用了受 GPL 保护的任何软件的一部分,那么该软件就继承了 GPL 软件,并因此而成为 GPL 软件,也就是说必须随应用程序一起发布源代码。 o GPL 并不排斥对自由软件进行商业性质的包装和发行,也不限制在自由软件的基础上打包发行其他非自由软件。 o 遵照 GPL 的软件并不是可以任意传播的,这些软件通常都有正式的版权,GPL在发布软件或者复制软件时声明限制条件。但是,从用户的角度考虑,这些根本不能算是限制条件,相反用户只会从中受益,因为用户可以确保获得源代码。在GPL条款下发布的主要GNU项目o GCCo G+o GDBo GNU ma

12、keo Basho GNU EmacsLinux和GNUo尽管 HURD 尚未完成,但 GNU 项目已经开发了许多高质量的编程工具,包括 emacs 编辑器、著名的 GNU C 和 C+ 编译器(gcc 和 g+),这些编译器可以在任何计算机系统上运行。oLinux 的开发使用了许多 GNU工具。Linux 系统上用于实现 POSIX.2 标准的工具几乎都是 GNU 项目开发的,Linux 内核、GNU 工具以及其他一些自由软件组成了人们常说的 Linux: n 符合 POSIX 标准的操作系统 Shell 和外围工具。 n C 语言编译器和其他开发工具及函数库。 n X Window 窗口系

13、统。 n 各种应用软件,包括字处理软件、图象处理软件等。 n 其他各种 Internet 软件,包括 FTP 服务器、WWW 服务器等。 n 关系数据库管理系统等。Linux系统结构Kernel库,库函数库,库函数(API)ShellApplicationsLinux的特性 o 开放性n遵循国际标准 o 多用户 n各个用户拥有自己的系统资源,互不影响o 多任务 n多个程序同时执行,相互独立o 良好的用户界面 nShell,X WindowLinux的特性o 设备独立性 n外部设备视作文件o 丰富的网络功能 n通信和网络功能o 可靠的系统安全n权限控制、带保护的子系统、审计跟踪、核心授权o 良好

14、的可移植性n可运行于微型到大型的各个平台Linux品牌o RedHat Linuxo SuSE Linuxo Debian GNU/Linuxo Gentoo Linuxo Slackwareo Knoppixo Ubuntuo FedoraRed Hat Enterprise Linuxo Red Hat公司维护,最早的基于开源软件的公司;o 目标是企业市场;o 每1824个月发行一个新版本;o 使用RPM作为软件包管理器。SUSEo Novell公司的发行版本;o 几个子项目:nopenSUSE:社区开发方式,采用自由或者开源软件;nSUSE Linux Enterprise Server

15、:面向服务器,目标是商用市场;nSUSE Linux Enterprise Desktop:面向桌面系统,目标是企业市场nSUSE Linux Enterprise Real Time:面向实时应用。Debiano 包含应用软件最多(8000多个)的发行版本;o 继承Unix和自由软件哲学最好的版本;(Open Sources: Voices from the Open Source Revolution)o 完全由自愿者维护;o 因为软件包管理(APT)系统而闻名。Slackwareo 最早的Linux发行版本;o 目标是稳定、简单、最类似UNIX;o 可配置程度高,适合高级用户使用。Kno

16、ppixo 完全运行在光盘上的发行版本;o 即包含自由软件,也包含私有软件;o 基于Debian。Ubuntuo 着眼于可用性、经常性发布、安装简单;o 基于Debian;o 有Kubuntu(KDE桌面), Xubuntu(Xface桌面), Eubuntu(为教育环境)几个子项目。Gentooo 包含高度优化和经常升级的软件;o 使用软件包管理器portage;o 目标在于模块化、可移植、易于维护等;o 所有软件和工具都需要从源代码进行编译。Fedorao 继承自Red Hat,由Red Hat公司赞助;o 仅仅包含自由和开放源代码软件;o 6个月发行一个新版本;o 着眼于家庭用户;o 基

17、于yum和RPM软件包管理器;内核版本号与发行版本号o 内核版本号:由Linus等人制定和维护,全球统一o 发行版本号:由各个发行公司或者组织自行制定,不同公司的发行版本号之间无可比性o 内核版本号格式:x.y.zz-www,x为主版本号,y为次版本号,zz为次次版本号,www发行号,自2.6.8开始增加小数点版本号n 例如:Kernel -117表示主版本号2,次版本号6,次次版本号27,小数点版本号5,发行号117 Linux与其他操作系统的区别 o Linux与MSDOS之间的区别n 就发挥处理器功能来说,MS-DOS没有完全发挥x86处理器的功能,而Linux完全在处理

18、器保护模式下运行,并且发掘了处理器的所有特性n 就操作系统的功能来说,MS-DOS是单任务的操作系统,而Linux是多任务的操作系统,用户可以同时运行多个应用程序。n 就使用费用而言,MS-DOS价格比较便宜,而且在PC机用户中有很大的占有率。但是,Linux是免费的,用户可以从Internet上或者其他途径获得它的版本。 Linux与Windows之间的区别 n 从发展的背景看,Linux是从一个比较成熟的操作系统UNIX发展而来的,而Windows是自成体系,无对应的相依托的操作系统。n 从使用费用上看,Linux是一种开放、免费的操作系统,Windows是封闭的系统,需要有偿使用。 n

19、Linux系统的开发,遵循UNIX的开放系统标准,任何一个软件商或开发者都可以实现这些标准。Windows操作系统是具有版权的产品,其接口和设计均由某一公司控制,只有这些公司才有权实现其设计。Linux与Windows之间的区别(续)n Linux不仅提供强大的操作系统功能,还提供丰富的应用软件,而在Windows下,几乎所有的软件都有独立的版权,需要购买使用,即使某些软件可以免费使用,也一般不提供其源代码,更不用说由用户修改扩充其功能了。 n Windows对硬件配置要求高,而Linux在低端PC系统上仍然可以流畅运行 n Linux的组网能力非常强大,它提供了对于当前的TCP/IP协议的完

20、全支持,并且包括了对下一代Internet协议IPv6的支持。 Linux与商用UNIX的区别 n Linux和商用UNIX都基本支持同样的软件、程序设计环境和网络特性,可以说Linux是UNIX的PC版本,Linux在PC机上提供了相当于UNIX工作站的性能。n Linux是免费软件,用户可以从网上下载,而商用的UNIX除了软件本身的价格外,用户还需支付文档、售后服务费用;n Linux拥有GNU软件支持,Linux能够运行GNU计划的大量免费软件,这些软件包括应用程序开发、文字处理、游戏等方面的内容;n Linux的开发是开放的,任何志愿者都可以对开发过程做出贡献;而商用UNIX则是由专门

21、的软件公司进行开发的。Linux与自由的UNIX的区别 o首先在组织方式上,FreeBSD由它的核心团队(core team)的领导,他们负责原始程序的开发与维护。Linux没有核心团队,在Linus的主导下来自世界各地的爱好者都可以发布自己的补丁(patch) 。o在发展方向上,由于人力有限,FreeBSD的核心团队将主要精力投入在UNIX自身的风格和特点上,不像Linux那样对相关硬件支持多,因而在易用上稍微逊色一些。Linux通常会首先考虑加入商品化系统上的各种东西,Linux更容易上手和使用。o在系统核心功能上二者区别不大,但是,由于Linux庞大的开发队伍,在Linux系统上,几乎可

22、是找到任何需要的功能,许多商用软件才具有的功能在Linux上很快就会出现。 o在系统的性能上,据专家分析,FreeBSD在网络性能、软件移植性和系统规范化上略胜一畴,而在硬件支持、磁盘IO操作等方面Linux略强一些。Linux产业现状o 国内Linux市场普及度越来越高o 银行、证券、电信、邮政、税务、航空等对稳定性、安全性要求颇高的领域应用广(服务器端) o 手机软件也用到了Linux嵌入式开发平台 o 桌面市场不成熟Linux人才现状o Linux在中国前景光明,但缺少这方面的人才已成为其发展的瓶颈o 国内熟练的Linux开发人员不多,而且有很大一部分都是自由软件的爱好者,并没有经过专业

23、的课程培训o 根据EvansData发表的有关Linux开发状况的调查结果,目前Linux应用软件开发人员中,有52%是从Windows应用软件开发领域转行过来的,另外还有30%曾经从事过UNIX的应用开发 人才问题o 其一,人才培养跟不上。企业能直接从学校或社会上招聘到的Linux人才少,一般只能招到公司后再慢慢培训;o 其二,高层次的Linux技术人才少。很多人对Linux都是一知半解,只懂点皮毛,对内核级别有研究的更是凤毛麟角;o 其三,Linux企业以外的Linux人才少。 Linux的安装o 参考资料(虚拟机安装):nhttp:/ 一个硬盘最多有4个主(primary)分区o 扩展(Extend)分区是一种特殊的主分区o 一般的主分区不可再分,而扩展分区可分为若干个逻辑(Logical)分区o PC上最多可连接4个IDE硬盘,它们分别被命名为/dev/hda, /dev/hdb, /dev/hdc, /dev/hddo 四个主分区的设备名为/dev/hdx14o 如果有逻辑分区,则设备从5开始按顺序编号Linux的目录树与挂载点o Linux采用一种树状结构目录o “把

温馨提示

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

评论

0/150

提交评论