LINUX操作系统LINUX操作系统十讲LINUX操作系统十讲信息科学与工程学院付冲LINUX操作系统第一讲Linux导论第二讲Linux文件系统与基本指令集第三讲LinuxC程序设计基础第四讲Linux文件系统程序设计第五讲Linux多进程与多线程程序设计第六讲Linux进程间通信程序设计第七讲Linux服务与TCP/IP网络程序设计第八讲LinuxShell程序设计第九讲LinuxGUI程序设计第十讲Linux前沿热点技术导论(集群,虚拟化,存储,安全)Linux操作系统十讲LINUX操作系统第一讲Linux导论LINUX操作系统1.从Unix谈起企业级核心服务器领域:小型机、中型机、大型机(1)IBM:eServerpSeries(RISC6000),Systemi(AS400),S390(2)SUN:UltraEnterpriseSeries(SPARCserver)(3)DEC:AlphaSerials(4)HP:9000SeriesDECCompaqHPSUNOracle思考:IT时代的变迁给我们带来的启示。LINUX操作系统变革是IT时代永远的主题AnExample:SybianPalmNucleusWindowsMobileMTK(MediaTek)RIM(BlackBerry)AppleAndroidWhatisthenextone?LINUX操作系统Unix的发展历程LINUX操作系统2.Unix操作系统分类总结:(1)FreeBSD:UniversityofCalifornia,Berkeley(2)SCOUNIX:SCO(3)AIXUNIX:IBM(4)SolarisUNIX:SUN(Oracle)(5)TRU64(OSF)UNIX:DEC(CompaqHP)(6)HPUNIX:HP提供IntelX86(PC)平台支持:1,2,4LINUX操作系统3.Unix操作系统的技术优势与特点(1)技术成熟,可靠性高365*24不间断可靠运行。思考:能否举例说出5个以上这样的领域?到目前为止,世界上还没有任何核心信息处理系统完全建立在WindowsServer之上。LINUX操作系统(2)极强的可伸缩性UNIX系统是世界上唯一能在所有主要CPU芯片搭建的体系结构上运行的操作系统:Intel/AMD(X86),HP-PA,MIPS,PowerPC,UltraSPARC,ALPHA等RISC芯片。UNIX系统能很好地支持SMP、MPP和Cluster等技术,使其可伸缩性又有了很大的增强。思考:什么是SMP,MPP,Cluster?LINUX操作系统SMP——SymmetricalMulti-ProcessingMPP——MassiveParallelProcessingCluster——Acomputerclusterisagroupoflinkedcomputers,workingtogethercloselythusinmanyrespectsformingasinglecomputer.LINUX操作系统(3)强大的网络功能作为Internet技术和异构系统互连重要手段的TCP/IP协议集就是在UNIX上开发和发展起来的。TCP/IP是所有UNIX系统不可分割的组成部分。此外,UNIX还支持所有常用的网络通信协议,包括NFS、DCE、IPX/SPX、SLIP、PPP等,使得UNIX系统能方便地与已有的主机系统,以及各种广域网和局域网相连接。LINUX操作系统(4)强大的数据库支持能力所有主要数据库厂商,包括Oracle,DB2,Sybase,Informix,Postgres等,都把UNIX作为主要的数据库开发和运行平台。思考:你平时学习/设计时使用何种数据库?LINUX操作系统(5)强大的开发功能UNIX系统促使了C语言的诞生,并相互促进与发展,成为工程的首选和主要的操作系统和开发环境。有重大意义的软件新技术的出现几乎都在UNIX上,如TCP/IP,等等。思考:什么是OODBMS,XML?LINUX操作系统OODBMS——ObjectOrientedDatabaseManagementSystemXML——ExtensibleMarkupLanguageLINUX操作系统(6)UNIX系统具有较高的构建成本以小型机系统构建为例:硬件:50~150万;软件:10~20万;且具有较高的后期维护成本。LINUX操作系统(7)UNIX的标准没有为所有Unix操作系统提供统一的标准;Unix标准组织的真实目标是为用户和厂家定义一种规定Unix形态的基础,标准将保证Unix系统是可操作的,并且其应用是便于移植的;允许相互竞争的开放开发环境能创新和具有技术特色;由于UNIX是有版权的,而且其源头有多家,许多厂家自行开发,并强调特色而导致UNIX版本的不统一;目前的标准:1988年——SVR4(SystemVRelease4)LINUX操作系统4.Windows服务器操作系统发展历程(1)1988年:为开发下一代网络操作系统,微软从DEC挖来了操作系统大师DavidCutler。他曾经在80年代设计了著名VMS操作系统,为DEC确立了计算机界的领导地位。NT:NewTechnology(2)1993年:WindowsNT3.11994年:WindowsNT3.51995年:WindowsNT3.511996年:WindowsNT4.02000年:Windows2000LINUX操作系统2003年:WindowsServer20032008年:WindowsServer2008LINUX操作系统5.Windows服务器级操作系统存在的缺陷(1)稳定性与可靠性故障率对比数据:Unix:≤2Hours/yearWindowsServer:≥200Hours/year(2)安全性(3)执行效率、性能(4)新技术的支持(5)可伸缩性与可移植性LINUX操作系统6.客观评价Unix:高效率,高可靠性,高成本Windows:低效率,低可靠性,低成本需求:高效率,高可靠性,低成本背景:PCServer性能不断增强,逼近传统小型机,代表性产品:IntelXeon/Itanium,从而为Linux的发展带来巨大的历史机遇。当前情况:基于PCServer的Linux集群系统业已显示出巨大的应用优势,代表企业:Google,Baidu。LINUX操作系统7.发展方向:高端核心服务器:Unix部分中端、全部低端服务器:Linux用户桌面系统:MicrosoftWindows注:在桌面级系统中,MicrosoftWindows具有不可替代的优势,故学习与应用Linux应有侧重点。LINUX操作系统8.学习Linux的注意事项(1)正确的指导思想:Linux侧重为服务器操作系统,而非桌面级操作系统。(2)不允许使用图形界面。(安装Oracle数据库等特殊情况除外)(3)Linuxexpert=50%knowledge+50%experience,thereforepracticeisveryveryimportant.LINUX操作系统9.Linux简介9.1Linux的起源(1)80年代末至90年代初,AndrewS.Tanenbaum:MINIXOperatingSystems运行于PC平台。(2)1990年,芬兰,赫尔辛基大学,LinusTorvalds首次接触MINIX。(3)1991年中,LinusTorvalds开始在MINIX上编写各种驱动程序等操作系统内核组件。LINUX操作系统(4)1991年底,LinusTorvalds公开了Linux内核。(5)1993年,Linux1.0版发行,Linux转向GPL版权协议。操作系统*GNU与GPL背景知识FSF:背景:反Unix商业化。自1984年起,RichardStallman在软件开发团体中发起开发自由软件的运动,并获得麻省理工学院(MIT)的支持。这就导致了自由软件基金会(FreeSoftwareFoundation,FSF)的建立和GNU项目的产生。操作系统GPL:在其它人的协作下,他创立了通用公共许可证(GeneralPublicLicense,GPL),这对推动自由软件发展起了重要的作用。GPL保证任何人有共享和修改自由软件的自由,任何人有权取得、修改和重新发布自由软件的源代码。LINUX操作系统FSF的主要项目:GNU(GNU’sNotUnix)。目标:建立可自由发布和可移植的类Unix操作系统。GNU项目本身产生的主要软件包包括:Emacs编辑软件、gcc编译软件、bash命令解释程序和编程语言,以及gawk(GNU’sawk)等等,此外还包括许多操作系统必不可少的工具。LINUX操作系统到1991年Linux内核发布的时候,GNU已经几乎完成了除了系统内核之外的各种必备软件的开发。在LinusTorvalds和其它开发人员的努力下,GNU组件可以运行于Linux内核之上。整个Linux内核是基于GNU通用公共许可,即GPL的,但是Linux内核并不是GNU计划的一部分。LINUX操作系统(6)Linux操作系统的另一些重要组成部分则来自加利福尼亚大学Berkeley分校的BSDUnix和MIT的XWindows系统项目。这些都是经过长期考验的成果。结论:正是Linux内核与GNU项目、BSDUnix以及MIT的X11的结合,才使整个Linux操作系统得以很快形成,而且建立在稳固的基础上。LINUX操作系统(7)1994年,Linux的第一个商业发行版Slackware问世。(8)1996年,美国国家标准技术局的计算机系统实验室确认Linux版本1.2.13(由OpenLinux公司打包)符合POSIX标准。(9)1999年,Linux的简体中文发行版相继问世。(10)2000年后,Linux系统日趋成熟,涌现大量基于Linux服务器平台的应用,并广泛应用于基于ARM技术的嵌入式系统中。思考:什么是ARM,你对ARM有所少了解?LINUX操作系统(11)Linux的标志和吉祥物——一只名字叫做Tux的企鹅Tux--Torvalds’UnixLINUX操作系统9.2.Linux的优点(1)Linux:Unix在PC系统上的克隆,仿Unix内核构建,同Unix基本指令集向下兼容;(2)完善的多用户,多任务系统;(3)高系统稳定性与可靠性;(4)高系统安全性;(5)完善的网络服务:HTTP,FTP,SMTP,POP,SAMBA,SNMP,DNS,DHCP,SSH,TELNET,etc.LINUX操作系统(6)GNU开放式系统;(7)大量第三方免费应用程序;(8)众多业界厂商支持:IBM,ORACLE,INTEL,HP,MOTO,Google,……(9)完善的大型数据库平台:Oracle,DB/2,Sybase,Mysql,Postgres,……(10)完善的图形用户界面:GNOME,KDELINUX操作系统(11)完善的开发平台与工具:C/C++,Java,Perl(CGI),PHP,各类GUIAPI(GTK+,QT),Eclipse思考:什么是CGI,GUI?(12)众多厂商提供的J2EE应用服务器平台支持,包括:IBM:WebsphereBEA:WeblogicApache:TomcatRedhat:JBossOracle:OracleASSUN:SUNJES(前身为SUNOne)LINUX操作系统9.3Linux的版本(1)Linux操作系统=内核+系统软件+应用程序(2)Linux内核(kernel)版本(3)Linux发行商:Slackware,Redhat,Debian,Fedora,TurboLinux,Mandriva,SUSE,CentOS,Ubuntu,红旗,……(4)以Redhat为例:Redhat