项目一 认识Linux 操作系统

任务一:查找Linux系统的基本概况

1步:通过搜索引擎搜索“Linux”

在百度以及Google等搜索引擎中搜索“UNIX”、“Linux”、“Linux操作系统”等关键词。阅读与Linux相关的文字材料。

Linux是一款开放源代码的类Linux操作系统。1991年,托瓦茨根据Minix(具有微内核的UNIX)写出了Linux内核并发布到网上,大家可以自由下载和修改。后来为了Linux的普及和发展,Linux通过了GPL软件许可,并且在Linux集成了大量GNU计划的应用程序(GPL是斯托曼老爷为了GNU计划而编写的软件许可),所有有时被称为GNU/Linux。我们平时口中的Linux 应该是Linux内核+应用程序,是一个完整的Linux操作系统并非仅仅只有内核。 学习使用Linux shell之前,肯定必须有Linux操作系统,shell,还有可能需要对应的桌面。Linux作为自由软件有两个特点:一是它免费提供源码,二是爱好者可以按照自己的需要自由修改、复制和发布程序的源码,并公布在Internet上。这就吸引了世界各地的操作系统高手为Linux编写各种各样的驱动程序和应用软件,使得Linux成为一种不仅只是一个内核,而且包括系统管理工具、完整的开发环境和开发工具、应用软件在内,用户很容易获得的操作系统。由于可以得到Linux的源码,所以操作系统的内部逻辑可见,这样就可以准确地查明故障原因,及时采取相应对策。在必要的情况下,用户可以及时地为Linux打 “补丁”这是其它操作系统所没有的优势。同时,这也使得用户容易根据操作系统的特点构建安全保障系统,不会由于不了解不公开源码的 “黑盒子”式的系统预留的什么 “后门”而受到意外的打击。 究其根本,Linux是一个UNIX系统变种,因此也就具有了Unix系统的一系列优良特性,Unix上的应用可以很方便地移植到Linux平台上,这使得Unix用户很容易掌握Linux。下面简要地描述UNIX亦即Linux的一系列特色。

 

2步: 收集整理搜索到的网页


(1)unix是大型机用的,主要特点是支持多用户同时操作系统,和共享系统资源。unix是一般人接触不到的,一般大型公司才用到。

2)Linux是一套免费使用和自由传播的类UNIX操作系统。它和UNIX的主要区别是UNIX是有版权的,与微软的Windows一样是要收费的。

3)Linux继承了UNIX以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

4)Linux可安装在各种计算机硬件设备中,例如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

5)严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。


任务二:总结Linux系统的最初十年

1步:关键词搜索

列如:Linux系统的发展历史

2步  收集、整理、归纳搜索到的资料并通过多方比较辨别真伪

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

1981 年IBM公司推出微型计算机IBM PC。

1991年,GNU计划已经开发出了许多工具软件,最受期盼的GNU C编译器已经出现,GNU的操作系统核心HURD一直处于实验阶段,没有任何可用性,实质上也没能开发出完整的GNU操作系统,但是GNU奠定了Linux用户基础和开发环境。

1991年初,林纳斯·托瓦兹开始在一台386sx兼容微机上学习minix操作系统。

1991年4月,林纳斯·托瓦兹开始酝酿并着手编制自己的操作系统。

1991 年4 月13 日在comp.os.minix 上发布说自己已经成功地将bash 移植到了minix 上,而且已经爱不释手、不能离开这个shell 软件了。

1991年7月3日,第一个与Linux有关的消息是在comp.os.minix上发布的(当然此时还不存在Linux这个名称,当时林纳斯·托瓦兹的脑子里想的可能是FREAX,FREAX的英文含义是怪诞的、怪物、异想天开等)。

1991年的10月5日,林纳斯·托瓦兹在comp.os.minix新闻组上发布消息,正式向外宣布Linux内核的诞生(Freeminix-like kernel sources for 386-AT)。

1993年,大约有100余名程序员参与了Linux内核代码编写/修改工作,其中核心组由5人组成,此时Linux 0.99的代码大约有十万行,用户大约有10万左右。

1994年3月,Linux1.0发布,代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL协议。

1995年1月,Bob Young创办了RedHat(小红帽),以GNU/Linux为核心,集成了400多个源代码开放的程序模块,搞出了一种冠以品牌的Linux,即RedHat Linux,称为Linux"发行版",在市场上出售。这在经营模式上是一种创举。

1996年6月,Linux 2.0内核发布,此内核有大约40万行代码,并可以支持多个处理器。此时的Linux 已经进入了实用阶段,全球大约有350万人使用。

1998年2月,以Eric Raymond为首的一批年轻的"老牛羚骨干分子"终于认识到GNU/Linux体系的产业化道路的本质,并非是什么自由哲学,而是市场竞争的驱动,创办了"Open Source Intiative"(开放源代码促进会)"复兴"的大旗,在互联网世界里展开了一场历史性的Linux产业化运动。

2001年1月,Linux 2.4发布,它进一步地提升了SMP系统的扩展性,同时它也集成了很多用于支持桌面系统的特性:USB,PC卡(PCMCIA)的支持,内置的即插即用,等等功能。

2003年12月,Linux 2.6版内核发布,相对于2.4版内核2.6在对系统的支持都有很大的变化。

2004年的第1月,SuSE嫁到了Novell,SCO继续顶着骂名四处强行“化缘”, Asianux, MandrakeSoft也在五年中首次宣布季度赢利。3月,SGI宣布成功实现了Linux操作系统支持256个Itanium 2处理器

Linux组成:除了核心程式以外,一个作业系统还需要其他的系统程式跟应用程式才有实用性,Linux 系统中常用的系统程式大部份是美国自由软体基金会 (Free Software Foundation) 开发出来的软体,而且也有不少机构或个人为 Linux 开发应用程式,这些程式一样大多都是自由软体,任何人都可以免费的在网路上取得,不过自行去取得这些程式再一一安装非常不便,於是有些公司或团体就会去搜集、整合 Linux 上的程式,把「核心-系统程式-应用程式」总合起来构成一个完整的作业系统,让一般使用者可以简便的安装完整个系统,这就是所谓的「安装套件」(distribution),我们一般讲的 Linux 系统便是针对这些安装套件而言,同样是 Linux 系统,却分成不同公司、机构整合出来的不同安装套件,这就是大家常常在网路上看到 Linux 有那么多「种」的原因。

Linux 是一套 Unix-like 的作业系统,是 Unix 的一种,它控制整个系统基本服务的核心程式 (kernel) 是由 Linus 带头开发出来的,「Linux」这个名称便是以「Linus's Minix」来命名,Linus 选择用「大众公有版权」 (GPL)的方式来发行这份程式,这个版权允许任何人以任何形式与散 Linux 的原始程式,换句话说,Linux 实际上是「免费的」,使用者在网路上就可以抓到 Linux 的原始程式码,随心所欲的与更改 Linux 的原始程式,在网际网路的日渐盛行以及 Linux 开放自由的版权之下,吸引了无数电脑高手投入开发、改善 Linux 的核心程式,使得 Linux 的功能日见强大。

 

任务三:研究Linux的特点、优势及发行版本

子任务一、阐述Linux系统的特点

Linux系统在短短的几年之内就得到了非常迅猛的发展,这与Linux系统的良好特性是分不开的。Linux系统包含了UNIX系统的全部功能和特性,简单地说,Linux系统具有以下主要特性。

1、开发性

是指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。凡遵循国际标准所开发的硬件和软件,都能彼此兼容,可方便地实现互连。

2、多用户

是指系统资源可以被不同用户使用,每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响。Linux和Unix都具有多用户的特性。

3、多任务

是现代计算机的最主要的一个特点。它是指计算机同时执行多个程序,而且各个程序的运行互相独立。Linux系统调度每一个进程平等地访问微处理器。由于CPU的处理速度非常快,其结果是,启动的应用程序看起来好像在并行运行。事实上,从处理器执行一个应用程序中的一组指令到Linux调度微处理器再次运行这个程序之间只有很短的时间延迟,用户是感觉不出来的。

4、良好的用户界面

Linux向用户提供了两种界面:用户界面和系统调用。Linux的传统用户界面是基于文本的命令行界面,即shell,它既可以联机使用,又可存在文件上脱机使用。shell有很强的程序设计能力,用户可方便地用它编制程序,从而为用户扩充系统功能提供了更高级的手段。可编程Shell是指将多条命令组合在一起,形成一个Shell程序,这个程序可以单独运行,也可以与其他程序同时运行。系统调用给用户提供编程时使用的界面。用户可以在编程时直接使用系统提供的系统调用命令。系统通过这个界面为用户程序提供低级、高效率的服务。Linux还为用户提供了图形用户界面。它利用鼠标、菜单、窗口、滚动条等设施,给用户呈现一个直观、易操作、交互性强的友好的图形化界面。

5、设备独立性

设备独立性是指操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以象使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。 具有设备独立性的操作系统,通过把每一个外围设备看作一个独立文件来简化增加新设备的工作。当需要增加新设备时、系统管理员就在内核中增加必要的连接。这种连接(也称作设备驱动程序)保证每次调用设备提供服务时,内核以相同的方式来处理它们。当新的及更好的外设被开发并交付给用户时,操作允许在这些设备连接到内核后,就能不受限制地立即访问它们。设备独立性的关键在于内核的适应能力。其他操作系统只允许一定数量或一定种类的外部设备连接。而设备独立性的操作系统能够容纳任意种类及任意数量的设备,因为每一个设备都是通过其与内核的专用连接独立进行访问。 Linux是具有设备独立性的操作系统,它的内核具有高度适应能力,随着更多的程序员加入Linux编程,会有更多硬件设备加入到各种Linux内核和发行版本中。另外,由于用户可以免费得到Linux的内核源代码,因此,用户可以修改内核源代码,以便适应新增加的外部设备。

6、丰富的网络功能功能 

完善的内置网络是Linux一大特点。Linux在通信和网络功能方面优于其他操作系统。其他操作系统没有如此紧密地和内核结合在一起的连接网络的能力,也没有内置这些联网特性的灵活性。而Linux为用户提供了完善的、强大的网络功能。

1)支持Internet是其网络功能之一。Linux免费提供了大量支持Internet的软件,Internet是在Unix领域中建立并繁荣起来的,在这方面使用Linux是相当方便的,用户能用Linux与世界上的其他人通过Internet网络进行通信。

2)文件传输是其网络功能之二。用户能通过一些Linux命令完成内部信息或文件的传输。

3.)Linux不仅允许进行文件和程序的传输,它还为系统管理员和技术人员提供了访问其他系统的窗口。通过这种远程访问的功能的一位技术人员能够有效地为多个系统服务,即使那些系统位于相距很远的地方。

7、可靠的系统安全

Linux采取了许多安全技术措施,包括对读、写控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。

8、良好的可移植性

Linux可移植性是指将操作系统从一个平台转移到另一个平台使它仍然能按其自身的方式运行的能力。Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。可移植性为运行Linux的不同计算机平台与其他任何机器进行准确而有效的通信提供了手段,不需要另外增加特殊的和昂贵的通信接口。

 

子任务二、分析Linux系统的优势:

Linux系统优势一:跨平台的硬件支持由于Linux 的内核大部分是用C 语言编写的,并采用了可移植的Unix标准应用程序接口,所以它支持如i386、Alpha、AMD和Sparc等系统平台,以及从个人电脑到大型主机,甚至包括嵌入式系统在内的各种硬件设备。

Linux系统优势二:丰富的软件支持与其他的操作系统不同的是,安装了Linux系统后,用户常用的一些办公软件、图形处理工具、多媒体播放软件和网络工具等都已无需安装。而对于程序开发人员来说,Linux更是一个很好的操作平台,在Linux 的软件包中,包含了多种程序语言与开发工具,如gcc、cc、C++、Tcl/Tk、Perl、Fortran77 等。

Linux系统优势三:多用户多任务和Unix系统一样,Linux系统是一个真正的多用户多任务的操作系统。多个用户可以各自拥有和使用系统资源,即每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响,同时多个用户可以在同一时间以网络联机的方式使用计算机系统。多任务是现代计算机的最主要的一个特点,由于Linux系统调度每一个进程是平等地访问处理器的,所以它能同时执行多个程序,而且各个程序的运行是互相独立的。

Linux系统优势四:可靠的安全性Linux系统是一个具有先天病毒免疫能力的操作系统,很少受到病毒攻击。对于一个开放式系统而言,在方便用户的同时,很可能存在安全隐患。不过,利用Linux自带防火墙、入侵检测和安全认证等工具,及时修补系统的漏洞,就能大大提高Linux系统的安全性,让黑客们无机可乘。

Linux系统优势五:良好的稳定性Linux 内核的源代码是以标准规范的32 位(在64 位CPU上是64 位)的计算机来做的最佳化设计,可确保其系统的稳定性。正因为Linux 的稳定,才使得一些安装 Linux 的主机像Unix 机一样常年不关而不曾宕机。

Linux系统优势六:完善的网络功能Linux 内置了很丰富的免费网络服务器软件、数据库和网页的开发工具,如Apache、Sendmail、VSFtp、SSH、MySQL、PHP和JSP 等。近年来,越来越多的企业看到了Linux 的这些强大的功能,利用Linux 担任全方位的网络服务器。Linux 在它的追捧者眼里是一个近乎完美的操作系统,它具有运行稳定、功能强大、获取方便等优点,因而有着广阔的前景,或许也值得我们每一个计算机爱好者学习和应用。

Linux系统优势七:Linux 具有 Unix 系统的程式介面跟操作方式,也继承了 Unix 稳定有效率的特点。网路上安装 Linux 的主机连续运做一年以上而不曾宕机、不必关机是稀松平常的事,不过 Linux 却不像一般 Unix 要负担庞大的版权费用,也不需要在专属的昂贵硬体上才可以使用;Linux 可以在一般的 i386 PC 上执行,效能又高,自然而然的接收了过去几十年来在 Unix 上累积的程式资源跟使用者,加上 GPL 的版权允许大家自由散 Linux 的原始码,并针对自己的需求修改程式,使得 Linux 在目前已经成为非常受人欢迎的一个多人多工、免费、稳定、效率高、可以在包括 i386、Sparc、Alpha、Mips、PPC 等众多不同电脑系统平台上执行的作业系统

 

子任务三、总结Linux系统发行版本:

Linux发行版: 托瓦茨只写出了Linux内核,作为Linux的大多数用户来说,肯定需要配套的应用程序,否则有多少人会直接编译内核,然后再直接发送命令给内核执行呢。因此有很多厂商就在Linux的基础上,增加了很多的应用程序,比如shell, 桌面(对于Linux来说,桌面就是一款软件,后面再细说),软件安装包管理器,浏览器, GCC编译器等等。常见的发行版有Red Hat系列,其阵营中比较著名的有CentOS,Red Hat,Fedora,还有就是国产的红旗; Debian系列,其阵营中包括Debian,还有大家很熟悉的Ubuntu;Gentoo,其阵营包括Chrome OS;Slackware,其阵营中包括SUSE,OPENSUSE;Arch Linux系列以及其他等等。大家可以选择自己喜欢的系统,Ubuntu可能是一个不错的选择。

1、主流的Linux发行版:  Asianux ,ArchLinux,B2D Linux ,Conectiva Linux ,Debian GNU/Linux ,Fedora Core ,Gentoo Linux ,Knoppix Linux ,Linux From Scratch ,Magic Linux ,Mandriva Linux ,Red Hat Linux ,Slackware Linux ,Stanix Live CD ,SUSE Linux ,Turbo Linux ,Ubuntu Linux.IPCop,NUtyx,DEFT,NETbsd,turbolinux

2、中国大陆的Linux发行版:  红旗Linux(Redflag Linux) ,Qomo Linux(原Everest),冲浪Linux(Xteam Linux) ,蓝点Linux ,新华Linux ,共创Linux ,百资Linux ,veket, lucky8k-veket.Open Desktop ,Hiweed GNU/Linux ,Magic Linux ,Engineering Computing GNU/Linux ,kylin,中标普华Linux ,中软Linux ,新华华镭Linux(RaysLX) ,CD Linux ,MC Linux ,即时Linux(Thizlinux) ,b2d linux ,IBOX ,MCLOS ,FANX,酷博linux,新氧Linux,Hiweed,Deepin Linux,YLMF OS。需要说明的是,新氧、Hiweed、Deepin都是基于ubuntu,并且Deepin Linux是Hiweed与深度合并后的版本,原来的Hiweed已经停止更新,新氧也停止更新了。 目前,银河麒麟公司开发的麒麟系列操作系统正在成为 linux操作系统中的新秀。其桌面版已经能够支持所有体系结构的linux软件,尤其是对red hat有相当广泛的支持。

 

任务四:Linux运维职业生涯规划

1步:了解Linux运维工程师的发展前景  

 1,基本要掌握的有,操作系统,计算机原理,编译原理,计算机网络等等等等。基于理论性的知识,基础知识,必须扎实,才能灵活应用。2一家公司的所有服务器,基础环境,一般由运维去搭建的。所有程序员跑的程序,必须跑在搭建的环境中。服务器的root 权限掌握在运维手里,一个命令可以毁了一个网站,一个团队,重要吧?运维可以根据现在业务的统计数据,去规划一下网站的未来发展。3,运维团队,有一个方向,是DBA 。DBA 就是管数据的。一个简单的例子:现在的网站,瓶颈一般都在DB 上,DBA 的其中一个职责,就是提升DB 的性能。DBA 还有一个职责,就是保证DB 的高可用。网站的程序可以重写,但用户的数据不能伪造,如果数据永远地丢了,那这个网站也就完了。 4,运维团队,还有一个方向,是运维开发。

2步:规划自己的学习内容

1、 为自己创造一个学习Linux的环境

2、初学Linux建议是使用redhat,原因如下:  1)现在很多书都是以redhat为例讲的,为了与书本协调一致  2)周围的人都用redhat,交流比较方便  3)redhat应用范围广,有典型性和代表性  4)它易于使用和安装  。

3、进阶   掌握至少50个以上的常用命令  理解shell管道"|",文件流重定向">"及追加">>"等  熟悉Gnome/KDE等X-windows桌面环境操作  掌握.tgz.rpm.biz等软件包的常用安装方法  学习添加外设,安装设备驱动程序(比如modem)  熟悉Grub/Lilo引导器及简单的修复操作  熟悉系统固有目录的名称及公用  学会用mount命令访问其他文件系统  了解vi,gcc,gdb等常用编辑器,编译器,调试器  学习Linux环境下的简单组网 。

4、高级应用澄清一些概念:  Linux的普通操作与真正的系统管理不能相提并论,后者需要很多知识 。

5、比较重要几种Linux语言 

 (1)英语  因为实质上计算机语言就是英文和字符,所谓的多国语言只是外部包装   在搜索引擎找到的英文网站和网页中熟练的检索  最好能有用英文直接交流的能力。

 (2)shell[sed/awk]  shell是命令解释器,是内核与用户界面交流通道,shell写的小脚本有点类似于win下的.bat  但shell比.bat强大的多,shell不只是解释命令,更是一种编程语言,有时候几百行的c用shell  几十行就能代替完成工作,因为shell的工作方式建立在系统已有的众多应用程序之上  这也是CS中的一个重要思想。  此外,shell可以实现工作自动化,这个概念也比较重要  sed,awk用来处理文本。 

 (3)Perl/PHP  漂亮的脚本, CGI的首选,比ASP好,应用面很广。 

 (4)C\C++  C、C++是Linux/unix的核心语言,系统代码都是C写的 。

 (5)ASM  系统底层及内核,硬件,设备驱动程序,嵌入式开发都需要  //走核心路线的话,才c\c++,asm最重要           Java,Python,Tcl,XML  *系统管理篇 在熟悉Linux的基础上还需要掌握至少一种unix 。

6、深入学习Linux理解的读Linux内核需要的基础:  

1)  《The C Programming Language》Second Edition这本圣经  /*如果想学缓冲区溢出,这点C的功力可能是不够的*/  还有,<C陷阱与缺陷>,<C专家编程>,<C\C++深层探索> 。

2)数据结构(离散数学)  计算机专业的核心课程。  

3)操作系统原理,微机原理/组成原理(数字电路)。

4)软件工程/编译原理 。

                                           项目一 心得体会

网络真的很强大,用在学习上将是一个非常高效的助手。几乎所有有关Linux的资料都能够在网上找到。从linux虚拟机的安装,到linux的各种基本命令操作,再到gtk的图形函数,最后到文件系统的详细解析。同时越是难的问题,然后有越是要有挑战的心理最好在做课设的过程中能够有记录的习惯,这样在写实验报告时能够比较完整的回忆起中间遇到的各种问题。

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值