您的位置:首页 > 运维架构 > Linux

项目一认识Linux操作系统

2018-03-17 17:56 232 查看

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

UNIX简介 :UNIX操作系统(尤尼斯),是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T贝尔实验室开发。目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UNIX(UNIX-like)。

UNIX特性

UNIX系统是一个多用户,多任务的分时操作系统。
UNIX的系统结构可分为三部分:操作系统内核(是UNIX系统核心管理和控制中心,在系统启动或常驻内存),系统调用(供程序开发者开发应用程序时调用系统组件,包括进程管理,文件管理,设备状态等),应用程序(包括各种开发工具,编译器,网络通讯处理程序等,所有应用程序都在Shell的管理和控制下为用户服务)。
UNIX系统大部分是由C语言编写的,这使得系统易读,易修改,易移植。
UNIX提供了丰富的,精心挑选的系统调用,整个系统的实现十分紧凑,简洁。
UNIX提供了功能强大的可编程的Shell语言(外壳语言)作为用户界面具有简洁,高效的特点。
UNIX系统采用树状目录结构,具有良好的安全性,保密性和可维护性。
UNIX系统采用进程对换(Swapping)的内存管理机制和请求调页的存储方式,实现了虚拟内存管理,大大提高了内存的使用效率。
UNIX系统提供多种通信机制,如:管道通信,软中断通信,消息通信,共享存储器通信,信号灯通信。

诞生:

1965年时,贝尔实验室(Bell Labs)加入一项由通用电气(General Electric)和麻省理工学院(MIT)合作图1-1 PDP-7计算机的计划;该计划要建立一套多使用者、多任务、多层次(multi-user、multi-processor、multi-level)的MULTICS操作系统。直到1969年,因MULTICS计划的工作进度太慢,该计划被停了下来。当时,Ken Thompson(后被称为UNIX之父)已经有一个称为"星际旅行"的程序在GE-635的机器上跑,但是反应非常慢,正巧被他发现了一部被闲置的PDP-7(Digital的主机),Ken Thompson和Dernis Ritchie就将"星际旅行"的程序移植到PDP-7上。而这部PDP-7(如图1-1所示)就此在整个计算机历史上留下了芳名。[1] MULTICS其实是"Multiplexed Information and Computing Service"的缩写,在1970年时,那部PDP-7却只能支持两个使用者,当时,Brian Kernighan就开玩笑地称他们的系统其实是:"UNiplexed Information and Computing Service",缩写为"UNICS",后来,大家取其谐音,就称其为"UNIX"了。1970年可称为"UNIX元年"。

流行:

1971年,Ken Thompson写了充分长篇的申请报告,申请到了一台PDP-11/24的机器。于是Uni
16b85
x第一版出来了。在一台PDP-11/24的机器上完成。这台电脑只有24KB的物理内存和500K磁盘空间。Unix占用了12KB的内存,剩下的一半内存可以支持两用户进行Space Travel的游戏。而著名的fork()系统调用也就是在这时出现的。到了1973年的时候,Ken Thompson 与Dennis Ritchie感到用汇编语言做移植太过于头痛,他们想用高级语言来完成第三版,对于当时完全以汇编语言来开发程序的年代,他们的想法算是相当的疯狂。一开始他们想尝试用Fortran,可是失败了。后来他们用一个叫BCPL(Basic Combined Programming Language)的语言开发,他们整合了BCPL形成B语言,后来Dennis Ritchie觉得B语言还是不能满足要求,于是就改良了B语言,这就是今天的大名鼎鼎的C语言。于是,Ken Thompson 与Dennis Ritchie成功地用C语言重

Unix写了Unix的第三版内核。至此,Unix这个操作系统修改、移植相当便利,为Unix日后的普及打下了坚实的基础。而Unix和C完美地结合成为一个统一体,C与Unix很快成为世界的主导。Unix的第一篇文章 “The UNIX Time Sharing System”由Ken Thompson和Dennis Ritchie于1974年7月的 The Communications of the ACM发表。这是UNIX与外界的首次接触。结果引起了学术界的广泛兴趣并对其源码索取,所以,Unix第五版就以“仅用于教育目的”的协议,提供给各大学作为教学之用,成为当时操作系统课程中的范例教材。各大学公司开始通过Unix源码对Unix进行了各种各样的改进和扩展。于是,Unix开始广泛流行。Linux简介:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIXUNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位64位硬件。Linux继承了Unix网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机平板电脑路由器、视频游戏控制台、台式计算机、大型机和超级计算机。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。


任务二:总结Linux系统的最初十年Linux 操作系统的诞生创始人林纳斯·托瓦兹、发展和成长过程始终依赖着五个重要支柱:UNIX 操作系统、MINIX 操作系统、GNU计划、POSIX 标准和Internet 网络。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-likekernel 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的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令硬件软件设备、操作系统进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。[3] 完全免费Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。[4] 完全兼容POSIX1.0标准这使得可以在Linux下通过相应的模拟器运行常见的DOSWindows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。[4] 多用户、多任务Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。[4] 良好的界面Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。[4] 支持多种平台Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARCAlpha处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑机顶盒游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。
Linux和UNIX的最大的区别:                                                                                                                                        前者是开发源代码的自由软件,而后者是对源代码实行知识产权保护的传统商业软件。这应该是他们最大的不同,这种 不同体现在用户对前者有很高的自主权,而对后者却只能去被动的适应;这种不同还表现在前者的开发是处在一个完全开放的环境之中,而后者的开发完全是处在一 个黑箱之中,只有相关的开发人员才能够接触的产品的原型。

Linux 的源头要追溯到最古老的UNIX。1969年,Bell实验室的Ken Thompson开始利用一台闲置的 PDP-7计算机开发了一种多用户,多任务操作系统。很快,Dennis Richie加入了这个项目,在他们共同努力下诞生了最早的UNIX。Richie受一个更早的项目——MULTICS的启发,将此操作系统命名为 Unix。早期UNIX是用汇编语言编写的,但其第三个版本用一种崭新的编程语言C重新设计了。C是Richie设计出来并用于编写操作系统的程序语言。 通过这次重新编写,Unix得以移植到更为强大的 DEC PDP-11/45与11/70计算机上运行。后来发生的一切,正如他们所说,已经成为历史。Unix从实验室走出来并成为了操作系统的主流,现在几乎每 个主要的计算机厂商都有其自有版本的Unix.

Linux起源于一个学生的简单需求。Linus Torvalds,Linux的作者与主要维护者,在其上大学时所买得起的唯一软件是Minix. Minix是一个类似Unix,被广泛用来辅助教学的简单操作系统。Linus 对Minix不是很满意,于是决定自己编写软件。他以学生时代熟悉的Unix作为原型, 在一台Intel 386 PC上开始了他的工作。他的进展很快,受工作成绩的鼓舞,他将这项成果通过互连网与其他同学共享,主要用于学术领域。有人看到了这个软件并开始分发。每当 出现新问题时,有人会立刻找到解决办法并加入其中,很快的, Linux成为了一个操作系统。值得注意的是Linux并没有包括Unix源码。它是按照公开的POSIX标准重新编写的。Linux大量使用了由麻省剑 桥免费软件基金的GNU软件,同时Linux自身也是用它们构造而成。

另外两大区别:

1) UNIX系统大多是与硬件配套的,而Linux则可运行在多种硬件平台上.

2) UNIX是商业软件,而Linux是自由软件,免费、公开源代码的.

UNIX(5万美圆)而Linux免费
任务三 :研究Linux的特点、优势及发行版本

1.阐述Linux系统的特点(子任务一)

(1)稳定性:linux操作系统的架构完全沿袭了UNIX的系统架构,所以先天就具有成熟稳定的特点,在这方面Windows系列操作系统是无法比的。(2)安全性:可以说一个操作系统的架构就已经预先决定了它的安全性。linux系统在设计的时候就是针对多用户环境的,所以对系统文件,用户文件都做了明确的区分,每个文件都有不同的用户属性。作为一个普通用户,通常只能读写自己的文件,而对一般的系统文件只能读取而不能改动,一些敏感的系统文件甚至连读却都是禁止的。这种设计从根本上保证了系统的安全,即使一个用户文件出现了问题,也不会殃及整个系统。(3)软件安装便利性:对于计算机初级用户来说,软件安装时个大问题。在Windows平台下,如果你不知道软件应该如何安装,通常只要一直用鼠标单击下一步按钮就可以完成安装。在linux平台下,软件安装的便利性方面曾衣服落后于Windows,但是 APT和YUM的出现使得这种局面得到了彻底的改观,用户只要告诉安装程序自己需要安装什么软件,安装程序就会自动去下载这个程序,然后自行安装,最后等待用户开始运行它。从这个意义上讲,linux已经超越了windows软件的安装方式,进一步降低了用户的参与程度,方便用户。(4)资源消耗:由于内核小,因此它可以支持多种电子产品,如Android手机,PDA等,资源消耗很少。2.分析Linux系统的优势(子任务二)(1)linux系统所有组件的源代码都是自由的:程序的源代码是开放的,任何人都可以读,可以修改,唯一的限制就是,修改后的程序必须连同源代码也一起发布。对于开发者而言可以通过大量的经典程序的源代码,迅速提高自己的编码水平,在需要的时候可以修改源代码来适应自己的需要。(2)linux系统能有效性保护学习成果:linux的系统架构源于UNIX,这个架构从1969年诞生至今一直沿用,在可以预见的未来它仍然会使用下去。同时主力的开发语言一直是C语言,编辑器仍然是历史悠久的vi。虽然现在你可以使用任何一种语言来linux系统贡献代码,但是它们的作用都是辅助性的,C语言作为这个古老系统的核心语言的地位没有发生变化。二Windows平台则远远没有这么乐观。编程语言从古老的Basic到后来的VB,C++到现在的C#,几年就一换,开发工具更是令人眼花缭乱,让人无从选择。无论你选择了那种语言,那种开发工具,两三年后你都不得不学习性工具的使用,新平台的特点,一埂上微软变幻莫测的脚步。只有过来人才能体会到做Windows平台开发的艰辛和无奈。
(3)Linux系统就业前景:从行业角度来看,随着中国互联网的高速发展、网站规模越来越来大、架构越来越复杂,企业对专职网站运维工程师、网站架构师的需求,特别是对有经验的优秀运维人才需求量大。从技术角度来看,Linux运维工程师技术含量及要求会越来越高,同时也是对公司应用、架构最了解最熟悉的人、越来越得到重视。网站运维将成为一个融合多学科(网络、系统、开发、安全、应用架构、存储等)的综合性技术岗位,给大家提供一个很好的个人能力与技术广度的发展空间。从职业发展角度来看,由于运维岗位所接触的知识面非常广阔,更容易培养或发挥出个人某些方面的特长或爱好,如内核、网络、开发、数据库等方面,可以做得非常深入精通、成为这方面的专家。从各大招聘网站统计数据来看:初级Linux运维工程师月薪6000左右;中级Linux运维工程师月薪10000左右;高级Linux运维工程师月薪20000左右。运维的前景和公司的业务、规模是密切相关的,业务发展越好,公司规模越大,运维的价值也会变大。

3.总结linux系统的发行本(子任务三)(1)  linux的发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的RedHat为代表,后者以Debian为代表。(2)找出几个比较经典的Linux发行版本的下载地址: Debian ISO映像文件地址:http://www.debian.org/CD/http-ftp/       Ubuntu ISO映像文件地址:http://www.ubuntu.org.cn/getubuntu/download/
       Gentoo镜像文件地址:http://www.gentoo.org/main/en/where.xml       红帽企业级Linux测试版DVD ISO映像文件下载地址:https://idp.Redhat.com/idp/
      OpenSuse12.3DVD ISO映像文件地址:http://software.opensuse.org/123/en
      CentOS 6.4 DVD ISO映像文件下载地址: https://www.centos.org/download/
      Arch Linux ISO映像文件地址:https://www.archlinux.org/download/。
4.Linux运维职业生涯规划:  (1)发展前景: linux人才已成为IT职场紧缺人才,未来5年我国linux人才缺口将达到120万。IT从业人员的平均薪水同比涨幅2%,二linux人员的薪水同比涨幅为5%,linux高级架构师平均年薪20万元。 (2)规划学习内容: 在互联网时代,设备和IT技术更新永无止境。作为一个Linux运维人员你无法阻止技术的更新,但是我们可以有“工欲善其事,必先利其器”的觉悟,脚踏实地走自己的道,修自己的行。Linux运维人员主要划分为:初级、中级和高级三个等级,不同级别的Linux运维人员需要掌握的技能不同。一个行业要想熟练,甚至精通要花上5到10年的时间,做一件事重在转移,即使现在不会,只要每天进步一步一点点,每天实践一点点,改变一点点,相信未来会更好,只有专注才能成功。初级linux运维工程师应学习:留下基础和架构,linux命令使用和管理,linux磁盘及文件系统管理,linux平台RAID和LVM网络和TCP/IP协议,linux企业级YUM软件管理,linux脚本和进行恒管理,linux精简系统和内核管理,linux系统安装和常见故障排除。中级linux运维工程师应学习:linux安全加固常用加密协议,linux域名解析DNS和DHCP服务,linux基础Web服务,linux企业级应用LAMP架构,linux邮件服务企业级应用,linux企业级文件共享服务,linux企业Windows跨域共享,企业级安全Iptbles配置与管理,linux认证和防护机制。高级linux运维工程师应学习:M有SQL数据库配置与管理,linux集群Lvs 技术,linux企业搞可用服务集群,linux企业高可用技术。资深linux运维工程师应学习:顶级MySQL主从复制,企业级Nginx基础,负载,读写分离,载均衡HAproxy和Varnish,Tomcat负载均衡,调优,linux架构师高级系统调优策略,XEN和KVM云计算虚拟化技术,OpenStack企业私有云,运维必备Python语法,企业级大型监控系统Zabbix,运维自动化Puppet。-对于一个计算机小白的话,入门很不容易。首先科普一下计算机的组成和工作原理、处理器的体系结构及原理、存储器、I/O设备、内存原理和文件系统等。通过这些的学习至少能够让我对计算机有一个基本的认识,如果能更深入的理解这方面的知识对于日后对Linux系统调优起着不可取代的作用。可以试着做一次服务器的设备选型,去了解更多关于硬件的知识。


   
 

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: