第一次作业

5个发展过程:

 

(一)无操作系统的计算机系统(真空管):

 

    分为人工操作方式和脱机输入/输出方式两种方式;

 

(二)单道批处理系统(晶体管):

 

    其自动处理过程是:首先,由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业。当该作业处理完成时,     又把控制权交还给监督程序,再由监督程序把磁带(盘)上的第二个作业调入内存。计算机系统就这样自动地一个作业一个作

 

    业地进行处理(顺序性),直至磁带(盘)上的所有作业全部完成(自动性)。内存中仅有一道程序运行,即监督程序每次从磁       带上只调入一道程序进入内存运行,当该程序完成或发生异常情况时,才换入其后继程序进入内存运行(单道性),这样便形     成了早期的批处理系统;

 

 

(三)多道批处理系统(小规模集成电路):

 

     1、运行过程:

 

        在该系统中,用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”(首先将作业放置在磁盘中,然后           再由磁盘调入道内存中);然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享 CPU           和系统中的各种资源。

 

     2、优缺点:

 

        提高资源利用率:共享资源的充分利用;

 

        提高系统吞吐量:系统在单位时间内完成的总工作量;

 

        平均周转时间长:作业从进入系统开始直至作业完成并推出系统所经历的时间;

 

        无交互能力:用户无法与自己的作业进行交互;

 

    3、多道批处理系统应该解决的问题:

 

        处理机的管理;

 

        内存的管理;

 

        I/O设备的管理;

 

        文件的管理;

 

        作业的管理;

 

 

 

(四)分时操作系统(CTSS  compatable time sharing system);

 

    1、分时系统的描述:

 

        是指,在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式 使用计算机,           共享主机中的资源;;

 

    2、分时操作系统的特点:

 

       (1) 可以实现人机交互:

 

       (2)共享主机:

 

            用户在使用机器时应能够像自己独占计算机一样,不仅可以随时与计算机交互,而且应感觉不到其他用户也在用                     该计算机

 

       (3)便于用户上机:

 

            用户可以通过终端将作业传送到主机上,并实现对作业的控制;

 

     3、分时操作系统需要解决的问题:

 

        (1)及时接收:为主机配置多路卡,为终端配置缓存器;

 

        (2)及时处理:人机交互的关键,是使用户键入命令后能及时地控制自己作业的运行,或修改自己的作业。为此,各个              用户的作业都必须在内存中,且应能频繁地获得处理机而运行;否则,用户键入的命令将无法作用到自己的作业上。前面            介绍的批处理系统是无法实现人机交互的。因为通常大多数作业都还驻留在外存上,即使是已调入内存的作业,也经常要            经过较长时间的等待后方能运行,因而使用户键入的命令很难及时作用到自己的作业上。

 

        由此可见,为实现人机交互,必须彻底地改变原来批处理系统的运行方式。首先,用户作业不能先进入磁盘,然后再调入           内存。因为作业在磁盘上不能运行,当然用户也无法与机器交互,因此,作业应直接进入内存。其次,不允许一个作业长期         占用处理机,直至它运行结束或出现 I/O 请求后,方才调度其它作业运行。为此,应该规定每个作业只运行一个很短的时           间(例如 0.1 秒钟,通常把这段时间称为时间片),然后便暂停该作业的运行,并立即调度下一个程序运行。如果在不长的时         间(如 3 秒)内能使所有的用户作业都执行一次(一个时间片的时间),便可使每个用户都能及时地与自己的作业交互,从而可         使用户的请求得到及时响应。

 

   4、分时系统的特征:

 

        (1)多路性:即实时性;

 

        (2)独立性:每个用户各占一个终端;

 

        (3)及时性:快速获得响应;

 

        (4)交互性:用户可以通过终端实现与系统的人机对话;

 

(五)实时系统:

 

    1、实时系统功能:

 

        (1)实现实时控制:用于进行实时控制的系统称为实时系统。

 

        (2)实时信息处理:该系统由一台或多台主机通过通信线路连接到成百上千个远程终端上,计算机接收从远程终端上发              来的服务请求,根据用户提出的请求对信息进行检索和处理,并在很短的时间内为用户做出正确的响应。

 

    2、实时任务:

 

        (1)概念:在实时系统中必然存在着若干个实时任务,这些任务通常与某个(些)外部设备相关,能反应或控制相应的外部            设备,因而带有某种程度的紧迫性

 

        (2)分类:   

 

                1)按任务执行时是否呈现周期性进行划分:周期性实时任务和非周期性实时任务;

 

                2)根据对截止时间的要求进行划分:硬实时任务和软实时任务;

 

      3、实时系统与分时系统的特征比较(待续):

 

(六)微机操作系统:  

 

    微机操作系统两种分类方式:

 

      1、微型机的字长:8位、16位、32位、64位;

 

      2、微型机运行方式:

 

         (1)单用户单任务:只允许一个用户上机,且只允许用户程序作为一个任务运行。适用于8位机和16位机。                              CP/M、MS-DOS;

 

         (2)单用户多任务:只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行,从而有效地改善了                系统的性能。Windows XP、Windows 9X;

 

         (3)多用户多任务:允许多个用户通过各自的终端使用同一台机器,共享主机系统中的各种资源,而每个用户程序又                可进一步分为几个任务,使它们能并发执行,从而可进一步提高资源利用率和系统吞吐量。Unix、Linux、Windows7

 

 

 

 

第1章 Linux简介

 

1.1 什么是操作系统?

 

简单讲:操作系统就是一个人与计算机硬件的中介。

 

操作系统,英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心。

操作系统的作用是管理和控制计算机系统中的硬件和软件资源,例如,它负责直接管理计算机系统的各种硬件资源,如对CPU,内存,磁盘等的管理,同时对系统资源供需的优先次序进行管理。操作系统还可以控制设备的输入,输出以及操作网络与管理文件系统等事务。同时,它也负责对计算机系统中各类软件资源的管理。例如各类应用软件的安装,运行环境设置等。

 

操作系统就是处于用户与计算机系统硬件之间用于传递信息的系统程序软件。例如:操作系统会在接收到用户输入的信息后,将其传给计算机系统硬件核心进行处理,然后再把计算机系统硬件的处理结果返回给使用者。

 

思考一下世界上什么操作系统使用率最高?

 

1.2 什么是Linux?

 

类似windows,Linux也是一个操作系统软件,Linux是一套开放源代码程序的,并可以自由传播的类Unix操作系统软件,多用户,多任务并且支持多线程和多CPU的操作系统。

Linux系统主要被应用于服务器端,嵌入式开发和个人PC桌面3大领域,其中服务器端领域是重中之重。 BAT(百度,阿里,腾讯)

我们熟知的大型,超大型互联网企业(百度,Sina,淘宝等)都在使用Linux系统作为服务器端的程序运行平台,全球及国内排名前十的网站使用的主流系统几乎都是Linux系统。

我们熟知的大型,超大型互联网企业(百度,sina,淘宝等)都在使用Linux系统作为其服务器端的程序运行平台,全球及国内排名前十的网站使用的主流系统几乎都是Linux系统。

从上面的内容可以看出,Linux操作系统之所以如此流行,是因为它具有如下一些特点:

 

是开放源代码的程序软件,可自由修改

Unix系统兼容,具备几乎所有Unix的优秀特性

可自由传播,无任何商业化版权制约

适合Intel等X86CPU系统架构的计算机

技巧:学会对阶段性知识的小结是学好运维的关键

1.3 Linux的起源

 

1.3.1 Unix的历史

 

Unix系统于1969年在AT&T的贝尔实验室诞生,20世纪70年代,它逐步盛行,这期间,又产生了一个比较重要的分支,就是大约1977年诞生的BSD(Berkeley Software Distribution)系统。从BSD系统开始,各大厂商及商业公司开始了根据自身公司的硬件架构,并以BSD系统为基础进行Unix系统的研发,从而产生了各种版本的Unix系统,例如:SUN公司的Solaris,IBM公司的AIX,HP公司的HPUNIX等。

 

Unix的5大优势特性

 

技术成熟,可靠性高

极强的可伸缩性

Unix支持的CPU处理器体系架构非常多,包括Intel/AMD及HP-PA,MIPS,PowerPC,UltraSPARC,ALPHA等RISC芯片,以及SMP,MPP等技术

提示:可能是由于早期各大厂商都基于Unix进行适合自己的硬件开发,因此,Unix支持的CPU架构才更多。

 

强大的网络功能

Internet互联最重要的协议TCP/IP就是在Unix上开发和发展起来的。此外,Unix还支持非常多的常用的网络协议,如NFS,DCE,IPX/SPX,SLIP,PPP等

强大的数据库支持能力

Oracle,DB2,Sybase,Informix等大型数据库,都把Unix作为其主要的数据库开发和运行平台,一直到目前为止,依然如此。

强大的开发能力

正是Unix促使了C语言的诞生

1.4 Unix操作系统的革命

 

70年代中后期,由于各厂商及商业公司开发的Unix及内置软件都是针对自己公司特定硬件的,因此在其他公司的硬件上基本上无法直接运行。

70年代末,Unix又面临了突如其来的被AT&T回收授权的重大问题,特别是要求禁止对学生群体提供Unix系统源代码。

也是在80年代初期,同样是由于之前的Unix系统版权和源代码限制等问题,使得当时大学里教学Unix系统的束缚很大。因此,当时的一个大学的教授,名字为Andrew Tanenbaum (谭宁邦),基于之前还在开源的Unix部分开发了一个可以运行于x86PC平台的系统,这个系统的名字为Minix

由于谭宁邦开发的这个Minix系统的目的只是用于教学,因此,Minix系统的功能无法满足商用的需求,但是Minix的产生对于Linux的诞生又是至关重要的一个部分。

1984年,Richard Stallman发起了开发自由软件的运动,并成立了自由软件基金会(Free Software Foundation,FSF)和GNU项目。

当时发起这个自由软件运动和创建GNU项目的目的其实很简单,就是想开发一个类似Unix系统,并且是自由软件的完整操作系统,也就是要解决70年代末Unix版权问题以及软件源代码面临闭源的问题,这个系统叫做GNU操作系统。

这个GNU系统后来没有流行起来。现在的GNU系统通常是使用Linux系统的内核,以及使用了GNU项目贡献的一些组件加上其它相关程序组成,这样的组合被称为GNU/Linux操作系统。http://www.dawen.org/wen/2907.html

 

2.4 Linux的诞生

 

Linux系统的诞生开始于芬兰赫尔辛基大学的一位计算机系的学生,名字为Linus Torvalds。

Linux的标志和吉祥物为一只名字叫做Tux的企鹅--Torvalds‘ Unix

 

1.5 Linux 的发展历程

 

1,linux的发展历程简介

 

1)1984年,Andrew S.Tanenbaum开发了用于教学的Unix系统,命名为MINIX。

2)1989年,Andrew S.Tanendaum将MINIX系统运行于x86的PC计算机平台

3)1990年,芬兰赫尔辛基大学学生Linus Torvalds首次接触MINIX系统

4)1991年,Linux Torvalds开始在MINIX上编写各种驱动程序等操作系统内核组件。

5)1991年底,Linus Torvalds公开了Linux内核源代码0.02版,注意,这里公开的Linux内核源码并不是我们现在使用的Linux系统的全部,而仅仅是Linux内核kernel部分的代码。

6)1993年,Linux1.0版发行,Linux转向GPL版权协议

7)1994年,Linux的第一个商业发行版Slackware问世。

8)1996年,美国国家标准技术局的计算机系统实验室确认Linux版本1.2.13(由Open LInux公司打包)符合POSIX标准

9)1999年,Linux的简体中文发行版问世

10)2000年后,Linux系统日趋成熟,涌现大量基于Linux服务器平台的应用,并广泛应用于基于ARM技术的嵌入式系统中。

 

2,Linux发展历程中相关人物

我们一定要向前辈们致以深深地敬意,没有他们,就没有今天的Linux系统存在了。

 

第2章 Linux核心概念知识

 

2.1 自由软件与FSF

 

1,自由软件

简单地理解,自由软件的核心就是没有商业化软件版权制约,源代码开放,可无约束自由传播。

 

注意:自由软件强调的是权利问题,而非是否免费的问题。大家一定要理解这个概念,自由软件中的自由是“言论自由”中的“自由”,而不是“免费啤酒”中的“免费”。

 

自由意味着freedom,而免费意味着free,这是完全不同的概念。例如:RedHatLinux自由但不免费,CentOS Linux是自由且免费的。

自由软件关乎使用者运行,复制,发布,研究,修改和改进该软件的自由。

 

2,2 自由软件基金会FSF

 

FSF(Free Software Foundation)的中文意思是自由软件基金会,是Richard Stallman于1984年发起和创办的。FSF的主要项目是GNU项目。GNU项目本身产生的主要软件包括:Emacs (神一样的软件)gcc,bash和编程语言,以及gawk(GNU‘s awk)等。

 

2.3 GNU知识

 

GNU的全程为GNU‘s not unix,意思是“GNU不是UNIX“,GNU计划,又称革奴计划,是由Richard Stallman 在1984年公开发起的,是FSF的主要项目。前面已经提到过,这个项目的目标是建立一套完全自由的和可移植的类Unix操作系统。

但是GNU自己的内核Hurd仍在开发中,离实用还有一定的距离。

现在的GNU系统通常是使用Linux系统的内核,加上GNU项目贡献的一些组件,以及其它相关程序组成的,这样的组合被称为GNU/Linux操作系统,

到1991年linux内核发布的时候,GNU项目已经完成了除系统内核之外的各种必备软件的开发。在Linus Torvalds和其它开发人员的努力下,GNU项目的部分组件又运行到了Linux内核之上,例如:GNU项目里的Emacs,gcc,bash,gawk等,至今都是Linux系统中很重要的基础软件。

 

2.4 GPL知识

 

GPL全称为General Public License,中文名为通用公共许可,是一个最著名的开源许可协议,开源社区最著名的Linux内核就是在GPL许可下发布的。GPL许可是自由软件基金会(Free Software foundation)创建的。

1984年,Richard Stallman发起开发自由软件的运动后不久,在其他人的协作下,他创立了通用公共许可证(GPL),这对推动自由软件的发展起了至关重要的作用,那么,这个GPL到底是什么意思呢?

简单的理解,GPL许可的核心,是保证任何人有共享和修改自由软件的自由,任何人有权取得,修改和重新发布自由软件的源代码权利,但都必须同时给出具体更改的源代码。

虽然整个Linux内核是基于GNU通用公共许可的,但是Linux内核并不是GNU计划的一部分。这一点,请不要混淆。

FSF(公司)==>GPL(项目)==>emacs gcc bash gawk

FSF(公司)==>GPL(项目) ==>自由传播 修改源代码 但是必须把修改后的源代码也要发布出来

Linus Torvalds==>linux内核

 

2.5 Linux系统组成

 

Linux操作系统=linux内核+GNU软件及系统软件+必要的应用程序

第3章 Linux的特点

 

3.1 Linux为什么受欢迎?

 

Linux系统之所以受到广大计算机爱好者的喜爱,主要原因有两个:

一是,Linux属于自由软件,用户不用支付任何费用就可以获得系统和系统的源代码,并且可以根据自己的需要对源代码进行必要的修改,无偿使用,无约束地自由传播。

二是,Linux具有Unix的全部优秀特性,任何使用Unix操作系统或想要学习Unix操作系统的人,都可以通过学习Linux来了解Unix,同样可以获得Unix中的几乎所有优秀功能,并且Linux系统更开放,社区开发和全世界的使用者也更活跃。

 

第4章 如何选择Linux的发行版

 

4.1 Linux的发行版本介绍

 

Linux内核(kernel)版本主要有4个系列,分别为Linux kernel2.2,Linux kernel2.4,Linuxkernel2.6,Linux kernel3.x,更多更新版本请浏览kernel官网,点击即可

linux的发行商包括Slackware,Redhat,Debjan,Fedora,TurboLinux,Mandrake,SUSE,CentOS,Ubuntu,红旗,麒麟...

下面看看其中几个重要的发行版本。

1)Red Hat:Red Hat Linux9.0的内核为2.4.20.在版本9.0后,Red Hat 不再遵循GPL协议,成为收费产品(但仍开源),发展的新版本依次为Red Hat 3.x,Red Hat 4.x,Red Hat 5.x Red Hat 6.x,Red Hat 7.x .

2)Fedora:为Red Hat的一个分支,仍遵循GPL协议,可以认为是RedHat预发布版。(游戏公测)

3)CentOS(Community Enterprise Operationg System):与redhat做到二进制级别的一摸一样。RedHat的另一个重要分支,以RedHat所发布的源代码重建符合GPL许可协议的Linux系统,即将Red Hat Linux 源代码的商标LOGO以及非自由软件部分去除后再编译而成的版本,目前CentOS已被RedHat公司收购,但仍开源免费。CentOS Linux是国内互联网公司使用最多的Linux系统版本。

 

提示:有关Linux操作系统,记住Redhat,CentOS,Ubuntu,Fedora,SUSE,DEbian等即可。Redhat与CentOS的区别和联系,有时会被面试官问到,需要重点了解。

 

4.2 Linux发行版本应用场景

 

4.3 CentOS的主流版本再国内互联网企业的使用现状说明

 

CentOS 5系列:占25%左右,主流版本有CentOS 5.5,CentOS5.11,不推荐学习。===>Linux 2.4

CentOS 6系列:占45%左右,主流版本有CentOS 6.2,CentOS 6.4,CentOS 6.6,CentOS 6.8 ===>Linux 2.6

CentOS 7 系列:刚刚发布不久,目前极少企业正式使用,因此不建议玩它。这里有一个企业使用的大环境问题,因为学完了没地方用不说,企业实际用的CentOS 5和CentOS 66系列你反而不会,那样就舍本逐末了,先学习6,再过2年等企业用上了CentOS7,轻松就可以转过去,根据企业的主流应用选择才是明智的。

4.4 为什么企业环境要选择64位操作系统?

 

目前绝大多数企业生产环境中,使用的都是64位CentOS系统,32位与64位系统的定位和区别。

区别一:当初设计时定位不同。64位操作系统的设计定位是:满足机械设计和分析,三维动画,视频编辑和创作,以及科学计算和高性能计算应用程序等领域,这些应用领域的共同特点就是需要有大量的系统内存和浮点性能。简单地说,64位操作系统是为高科技人员使用本行业特殊软件的运行平台而设计的。而32位操作系统是为普通用户设计的。

区别二:安装要求配置不同。64位操作系统只能安装在64位电脑上(CPU必须是64位的),并且只在针对64位的软件时才能发挥最佳性能。32位操作系统可以安装在32位(32位CPU)电脑上,也可以安装在64位(64CPU)电脑上。当然,此时32位的操作系统是无法发挥674位硬件性能的。

区别三:运算速度不同:

64位===>8车道大马路(2^8)

32位===>4车道马路(2^2)

区别四:寻址能力不同

支持的最大内存不同

32位系统 4GB 内存

64位系统 128GB 内存

 

posted @ 2019-02-28 11:13  执着1224  阅读(150)  评论(0编辑  收藏  举报