Linux程序设计.pptx
- 文档编号:1381431
- 上传时间:2022-10-21
- 格式:PPTX
- 页数:475
- 大小:7.58MB
Linux程序设计.pptx
《Linux程序设计.pptx》由会员分享,可在线阅读,更多相关《Linux程序设计.pptx(475页珍藏版)》请在冰豆网上搜索。
Linux程序设计,讲师:
课程介绍,课程类别:
学科专业教育课程编号:
N03140112总学时:
32学分:
2先修课程:
程序设计基础主要参考书Linux环境C程序设计、linux简明教程、linux基础教程考核方式(包括作业、测验、考试等及其所占比例)考试:
60%实验:
30%平时:
10%,学时安排,实验项目及学时分配,第一章Linux基础,基本要求,1、了解什么是Linux,UNIX和Linux的历史,Linux/UNIX的系统结构;2、掌握Linux的基本命令和操作使用,Linux程序设计的预备知识。
什么是Linux,Linux系统是一种自由和开放源代码的类UNIX的完整操作系统。
林纳斯本纳第克特托瓦兹(LinusBenedictTorvalds,1969年)诞生于1991年10月5日。
Linux存在着许多不同的Linux版本,均使用Linux内核。
Linux系统基于GPL协议发布,该协议是GNU项目所创立开放源代码的公共许可证。
支持各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
Linux发展历史,GNU项目简介,GNU项目在1983年由理查德斯托曼(RichardStallman)创立GNU项目花了十余年时间创建了GCC编译器、Emacs编辑器等多个工具。
所有的工具以源代码形式发布,并且无需支付任何费用。
只是这些工具的改进版本和衍生品必须遵循同样的发布形式,这就形成了GPL协议。
但当时缺少一个最关键的组件操作系统核心,GNU项目组织结构,Linux起源,Minix安德鲁塔能鲍姆(AndrewTanenbaum)出于教学目的编写的类UNIX操作系统Freax(Freak+x)LinusTorvaldsLinuxAriLemmkeGNU/LinuxLinux内核与GNU工具结合体(GNU是“GNUisNotUnix”的递归缩写),Linux发展历史,1991年8月25号,Linus在MINIX新闻组发出了历史性的一贴,向各位使用minix的朋友征求意见。
Linus自己并没预料到他的小创造将改变整个计算科学领域。
1991年9月中旬,Linux0.01版问世了,并且被放到了网上。
它立即引起了人们的注意。
源代码被下载、测试、修改,最终被反馈给Linus。
10月5号,0.02版出来了几周以后,Linux0.03版发布了。
12月份,0.10版发布了。
这时的Linux还显得很简陋。
它只能支持AT硬盘,而且不用登录(启动就进bash)。
0.11版有了不少改进,可以支持多国语言键盘、软驱、VGA、EGA、Hercules等等。
Linux的版本号从0.12直接上升到了0.95、0.96.不久,Linux的源代码就通过在芬兰和其它一些地方的FTP站点传遍了全世界。
Linux发展历史(续),到了1992年,大约有1000人在使用Linux,值得一提的是,他们基本上都属于真正意义上的hacker1993年,大约有100余名程序员参与了Linux内核代码编写/修改工作,其中核心组由5人组成,此时Linux0.99的代码有大约有十万行,用户大约有10万左右。
1994年3月,Linux1.0发布,代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL协议。
至此,Linux的代码开发进入良性循环。
很多系统管理员开始在自己的操作系统环境中尝试linux,并将修改的代码提交给核心小组。
由于拥有了丰富的操作系统平台,因而Linux的代码中也充实了对不同硬件系统的支持,大大的提高了跨平台移植性。
Linux发展历史(续),1997年夏,大片泰坦尼克号在制作特效中使用的160台Alpha图形工作站中,有105台采用了Linux操作系统。
1998年是Linux迅猛发展的一年。
1月,小红帽高级研发实验室成立,同年RedHat5.0获得了InfoWorld的操作系统奖项。
4月Mozilla代码发布,成为linux图形界面上的王牌浏览器。
10月,Intel和Netscape宣布小额投资红帽软件,Linux获得商业认同的信号。
同月,微软在法国发布了反Linux公开信,这表明微软公司开始将Linux视作了一个对手来对待。
Linux发展历史(续),1999年,IBM宣布与Redhat公司建立伙伴关系,以确保Redhat在IBM机器上正确运行。
2000年初始,Sun公司在Linux的压力下宣布Solaris8降低售价。
事实上Linux对Sun造成的冲击远比对Windows来得更大。
2月RedHat发布了嵌入式Linux的开发环境,Linux在嵌入式行业的潜力逐渐被发掘出来。
在4月,拓林思公司宣布了推出中国首家Linux工程师认证考试,Linux发展历史(续),2001月,Oracle宣布在OTN上的所有会员都可免费索取Oracle9i的Linux版本;IBM则决定投入10亿美元扩大Linux系统的运用;8月红色代码爆发,引得许多站点纷纷从windows操作系统转向linux操作系统,2002年是Linux企业化的一年。
3月,内核开发者宣布新的Linux系统支持64位的计算机。
2003年1月,NEC宣布将在其手机中使用Linux操作系统,代表着Linux成功进军手机领域。
2007年八月,Linux基金会由开源发展实验室(OSDL)和自由标准组织(FSG)联合成立。
这个基金会目的是赞助Linux创始人Linus的工作。
基金会得到了主要的Linux和开源公司,包括富士通,HP,IBM,Intel,NEC,Oracle,Qualcomm,三星和来自世界各地的开发者的支持。
Linux发展历史(续),2007年11月,Google宣布组建开放手机联盟(OpenHandsetAlliance)和发布Android,它被称为“第一个真正开放的综合移动设备平台”。
2011年5月,GoogleI/O大会发布了Chrombook。
这是一款运行着所谓云操作系统ChromeOS的笔记本。
ChomeOS是基于Linux内核的。
2011年6月,LinusTorvalds发布了Linux3.0版本。
2013年12月,Valve公司发布基于Linux的StreamOS操作系统,这是一个视频游戏控制台系统。
Linux各大发行版,RedHat目前RedHat分为两个系列:
由RedHat公司提供收费技术支持和更新的RedHatEnterpriseLinux,以及由社区开发的免费的FedoraCore。
适用于服务器的版本是RedHatEnterpriseLinux,这是个收费的操作系统。
优点:
拥有数量庞大的用户,优秀的社区技术支持,许多创新缺点:
免费版(FedoraCore)版本生命周期太短,多媒体支持不佳,Linux各大发行版(续),SUSESUSE是德国最著名的Linux发行版,在全世界范围中也享有较高的声誉。
SUSE自主开发的软件包管理系统YaST也大受好评。
SUSE于2003年年末被Novell收购。
优点:
专业,易用的YaST软件包管理系统缺点:
FTP发布通常要比零售版晚13个月,Linux各大发行版(续),DebianGNU/LinuxDebian是菜鸟在服务器之前所采用的操作系统。
Debian最早由IanMurdock于1993年创建。
可以算是迄今为止,最遵循GNU规范的Linux系统。
优点:
遵循GNU规范,100%免费,优秀的网络和社区资源,强大的apt-get缺点:
安装相对不易,stable分支的软件极度过时,Linux各大发行版(续),UbuntuUbuntu就是一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的Linux操作系统优点:
人气颇高的论坛提供优秀的资源和技术支持,固定的版本更新周期和技术支持,可从DebianWoody直接升级缺点:
还未建立成熟的商业模式,Linux各大发行版(续),SlackwareSlackware由PatrickVolkerding创建于1992年。
算起来应当是历史最悠久的Linux发行版。
Slackware依然固执的追求最原始的效率所有的配置均还是要通过配置文件来进行。
优点:
非常稳定、安全,高度坚持UNIX的规范缺点:
所有的配置均通过编辑文件来进行,自动硬件检测能力较差,Linux各大发行版(续),Knoppix由德国的KlausKnopper开发的Knoppix,是一个基于Debian的发行版。
Knoppix严格算起来是一款LiveCD。
可以说,在LiveCD界,Knoppix是无人能及的优点:
无需安装可直接运行于CD上,优秀的硬件检测能力,可作为系统急救盘使用缺点:
LiveCD由于光盘的数据读取速度限制导致性能大幅下降,Linux各大发行版(续),CentOSCentOS,也叫做社区企业操作系统,是企业Linux发行版领头羊RedHatEnterpriseLinux的再编译版本。
RHEL是很多企业采用的Linux发行版本,但是如果想得到RedHat的服务与技术支持,用户必须向RedHat付费才可以。
CentOS的开发者们使用RedHatLinux的源代码创造了一个和RHEL近乎相同的Linux。
但是一切和RedHat有关的商标都被去除了。
CentOS是免费的,可以使用它像使用RHEL一样去构筑企业级的Linux系统环境,但不需要向RedHat付任何的费用。
目前,CentOS的技术支持主要通过社区的官方邮件列表、论坛和聊天室来提供。
国产操作系统,免费软件与开源软件,免费软件与开源软件概念并不相同,免费软件通常以二进制文件形式发布。
用户虽然可以免费使用,但无权对软件进行任何修改。
开源软件是将软件以源代码形式发布,并遵循GPL等开源协议,用户不仅能使用,而且还可对软件进行改进。
Linux系统是开源软件,所以基于Linux系统开发必须遵循开源规则。
这种开发方式最大的优势是,开发者能最大限度的利用现有代码,从而避免重复工作。
Linux内核与版本,内核是操作系统的心脏,系统其它部分必须依靠内核这部分软件提供的服务,例如管理硬件设备、分配系统资源等。
内核由中断服务程序、调度程序、内存管理程序、网络和进程间通信等系统程序共同组成。
Linux内核是提供保护机制的最前端系统,它独立于普通应用程序,一般处于系统态,拥有受保护的内存空间和访问硬件设备的所有权限。
这种系统态和被保护起来的内存空间,统称为内核空间。
内核负责管理计算机系统的硬件设备,为硬件设备提供驱动。
对于操作系统上层的应用程序来说,内核是抽象的硬件,这些应用程序可通过对内核的系统调用访问硬件。
这种方式简化了应用程序开发的难度,同时在一定程度上起到了保护硬件的作用。
Linux内核支持几乎所有的计算机系统结构,并将多种系统结构抽象为同样的逻辑结构。
Linux内核结构,Android系统结构,Linux系统架构和目录,Linux基本操作,Linux系统有两种操作方法,一种是使用鼠标键盘等输入设备直接在图形界面XWindow上操作,另一种是通过输入文本命令方式在控制台上操作。
各种Linux发行版的操作遵循同样的原则,所以操作方法非常相似。
Shell、控制台、终端,Shell是一种具备特殊功能的程序,也是介于用户和Linux内核间的一个接口。
Linux系统拥有多种shell,发行版中常用的是名为bash的shell。
这种shell不但能执行简单的命令,还能将多个命令、条件和参数编写为程序执行。
使用Linux系统进行程序开发通常需要掌握一些常用shell命令。
Linux系统是一个多用户多任务的分时操作系统。
任何一个要使用系统资源的用户都必须先向系统管理员申请一个账号,然后以这个账号的身份进入系统,该账号的名称就是登录名。
Linux系统通常有多个控制台,进入控制台后可使用shell程序操作计算机。
终端是XWindow里访问shell程序的接口。
桌面环境,GNOMEUnityKDEX
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 程序设计