1、描述计算机的组成及其功能。
计算器是由运算器,控制器,存储器,输入装置和输出装置五大部件组成计算机。
控制器:是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。
运算器:运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。
存储器:存储器的功能是存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息。
输入设备:输入设备是计算机的重要组成部分,输入设备与输出设备合称为外部设备,简称外设,输入设备的作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。常见的输入设备有键盘、鼠标器、光电输入机、磁带机、磁盘机、光盘机等。
输出设备:输出设备与输入设备同样是计算机的重要组成部分,它把外算机的中间结果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出出来。微机常用的输出设备有显示终端CRT、打印机、激光印字机、绘图仪及磁带、光盘机等。
2、描述内核功能以及作用
linux内核管理的五大功能:
1、管理进程:内核负责创建和销毁进程, 并处理它们与外部世界的联系(输入和输出),不同进程间通讯(通过信号,管道,或者进程间通讯原语)对整个系统功能来说是基本的,也由内核处理。 另外, 调度器, 控制进程如何共享CPU,是进程管理的一部分。更通常地,内核的进程管理活动实现了多个进程在一个单个或者几个CPU 之上的抽象。
2、管理内存:计算机的内存是主要的资源, 处理它所用的策略对系统性能是至关重要的。内核为所有进程的每一个都在有限的可用资源上建立了一个虚拟地址空间。内核的不同部分与内存管理子系统通过一套函数调用交互,从简单的malloc/free对到更多更复杂的功能。
3、文件管理:Unix 在很大程度上基于文件系统的概念;几乎Unix中的任何东西都可看作一个文件。内核在非结构化的硬件之上建立了一个结构化的文件系统,结果是文件的抽象非常多地在整个系统中应用。另外,Linux 支持多个文件系统类型,就是说,物理介质上不同的数据组织方式。例如,磁盘可被格式化成标准Linux的ext4文件系统,普遍使用的NTFS文件系统,或者其他几个文件系统。
4、设备控制:几乎每个系统操作终都映射到一个物理设备上,除了处理器,内存和非常少的别的实体之外,全部中的任何设备控制操作都由特定于要寻址的设备相关的代码来进行。这些代码称为设备驱动。内核中必须嵌入系统中出现的每个外设的驱动,从硬盘驱动到键盘和磁带驱动器。内核功能的这个方面是本书中的我们主要感兴趣的地方。
5、网络管理:网络必须由操作系统来管理,因为大部分网络操作不是特定于某一个进程: 进入系统的报文是异步事件。报文在某一个进程接手之前必须被收集,识别,分发,系统负责在程序和网络接口之间递送数据报文,它必须根据程序的网络活动来控制程序的执行。另外,所有的路由和地址解析问题都在内核中实现。
3、按系列罗列常见Linux的发行版,并描述不同发行版之间的联系与区别。
1、Debian:三大主流发行版之一,以社区方式运作,没有商业公司支持
knopix是基于Debian的二次发行
ubuntu是基于Debian的二次发行
2、S.U.S.E:三大主流发行版之一,
S.U.S.E企业版分支-SLES。
S.U.S.E个人版分支-openSUSE。
3、Fedora:三大主流发行版之一,
Redhat个人版分支-Fedora Core
Redhat企业版分支-Red Hat Enterprise Linux
CentOS是基于Red Hat Enterprise Linux版的二次发行
Oracle Enterprise是基于Red Hat Enterprise Linux版的二次发行
4、描述常见的开源协议(GPL,LGPL, BSD,Apache等)以及开源协议的区别。
1、GPL(GNU General Public License)
GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。
GPL的“传染性”在于:只要在一个软件中使用(”使用”指类库引用,修改后的代码或者衍生代码)GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。我们所熟悉的Linux就是采用了GPL。
2、LGPL(GNU Lesser General Public License)
LGPL是GPL的一个为主要为类库使用设计的开源协议。LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。
3、BSD(Berkerley Software Distribution)
BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。
当使用了BSD协议的代码,或者以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:
如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议;如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议;不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。因此,很多公司企业在选择开源软件的时候都首选BSD协议,因为可以完全控制这些第三方的代码,而且在必要的时候可以进行修改或者二次开发。
4、Apache License
Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件也和BSD类似:
需要给代码的用户一份Apache Licence;如果你修改了代码,需要在被修改的文件中说明;在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明;如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。
5、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
Linux哲学思想:一切皆文件。
Linux系统当中的文件,目录、字符设备、块设备、 套接字等在 Unix/Linux 中都是以文件被对待;它们虽然类型不同,但是对其提供的却是同一套操作界面。
6、描述linux目录结构以及目录结构命名规定。
/bin :存放系统命令
/sbin:超级用户使用的命令存放的目录
/boot:存放着系统的启动文件和内核
/dev:设备文件主目录
/proc:系统进程和系统硬件信息
/etc:系统主配置文件
/var:所有服务的登录的文件或错误信息文件(LOG FILES)都在/var/log下,此外,一些数据库如MySQL则在/var/lib下,还有,用户未读的邮件的默认存放地点为/var/spool/mail
/home:普通用户的家目录
/lib&lib64:系统库文件存放的目录
/usr:系统帮助文档以及源码包安装位置,此目录是最庞大的目录,要用的应用程序和文件几乎都在这个目录
/mnt:用户挂载目录
/run:存放当前运行程序库的目录(当前运行的目录)
/root:超级用户root家目录
/tmp:临时文件存放目录 系统启动过程中会产生一些临时文件,这些临时文件就存放在tmp目录下。如果说tmp目录没有存储空间,系统一定启动不起来。
/media:可移动介质挂载点
/opt:第三方应用程序文件存放目录