1、描述计算机的组成及其功能。
计算机主要由运算器、存储器、控制器、输入设备、输出设备五部分组成
存储器主要是负责对数据和控制信息的存储,是计算机的记忆单元
运算器对数据进行算术和逻辑运算
控制器解释指令含义,控制其他部件工作,记录系统内部的状态
输入设备接受用户输入的程序或数据
输出设备将计算机的运算结果显示出来
2、描述内核功能以及作用
内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。
1、进程调度:进程调度负责控制进程对 CPU 的访问,如当需要选择下一个进程运行时,由进程调度子系统根据某种算法选择最值得运行的进程。可运行进程实际上是仅等待CPU 资源的进程。如果某个进程还在等待其它资源,则该进程将不会被选择。Linux 操作系统使用了比较简单的基于优先级的进程调度算法选择新的进程。
2、内存管理:内存管理子系统用来管理多个进程对内存的使用。Linux 支持虚拟内存,即在计算机中运行的程序,其程序代码、数据、堆栈的总量可以超过实际内存的大小,操作系统只是把当前使用的程序块保留在内存中,其余的程序块则保留在磁盘中。必要时,操作系统负责在磁盘和内存间交换程序块。内存管理从逻辑上可以分为硬件无关部分和硬件有关部分。其中,硬件无关部分提供了进程的映射和逻辑内存的对换;硬件有关部分为内存管理硬件部分提供了虚拟接口。
3、文件系统: 虚拟文件系统隐藏了各种硬件的具体细节,为所有的设备提供了统一的接口。虚拟文件系统提供了数 10 种不同的文件系统,并且又分为逻辑文件系统和设备驱动程序。其中,逻辑文件系统是指Linux 所支持的文件系统,如ext3、FAT等;设备驱动程序是指为每一种硬件控制器所编写的设备驱动程序模块
4、进程通信:进程通信提供了进程之间的各种通信机制。所有其它的子系统都依赖于中心位置的进程调度,因为每个子系统都需要挂起或恢复进程。一般情况下,当一个进程等待硬件操作完成时被挂起。当操作真正完成时,进程被恢复执行。
5、网络管理:网络接口提供了对各种网络标准的存取和各种网络硬件的支持。网络接口可分为网络协议和网络驱动程序2部分组成。其中,网络协议部分负责实现每一种可能的网络传输协议;网络设备驱动程序负责与硬件设备的通信,每一种可能的硬件设备都有相应的设备驱动程序。
3、按系列罗列常见Linux的发行版,并描述不同发行版之间的联系与区别。
Linux发行版主要有三个分支:Debian、Slackware、Redhat
Redhat
rhel
centos
Fedora
Debian
Ubuntu
mint
knopix
Slackware
S.u.S.E
OpenSuse
sles
Debian:(以社区的方式运作)
联系:所有发行版都是使用Linux内核;
都需要遵循GNU的GPL协定;
所有的发行版都有自己的版本号,版本格式约定基本一样(主版本号.次版本号.发行号.修正号)。
区别:发行版的本质区别,在于集成不同版本的内核,库、程序的组成。
不同发行版几乎采用了不同包管理器
只有debain以社区的方式运作
4、描述常见的开源协议(GPL,LGPL, BSD,Apache等)以及开源协议的区别
GPL协议和BSD,Apache Licence等鼓励代码重用的许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。这也是 GPL代表的自由软件和普通开源软件的最大区别所在。GPL协议的主要内容是只要在一个软件中使用GPL协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。
和GPL要求不同。LGPL允许商业软件通过类库引用方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。但是如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品。
伯克利软件套件,原来是指Unix系统的一个版本,随着该系统的发展,也形成了一种授权许可模式,称之为BSD许可证。BSD许可是一种“自恋式”的许可,它基本上许可使用方对自己源代码做任何修改,不受任何限制,唯一要求就是必须首先属好原作者的大名,而且代代都要属,并不得以作者的名义进行市场行为。从其本意来说,该模式还是在要求后续使用者要去尊重前手代码作者的著作权。
Apache许可证与BSD许可证类似,但是略微严格,如果被授权者修改了授权代码,那么被授权者应当在代码中做出说明,而不仅是保留授权者的署名。
5、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
Linux哲学思想:
1、一切皆文件。包括设备在内均属于文件。
2、由众多目的单一应用程序组成。一个程序只做一件事情。
3、组合目的单一的小程序完成复杂任务。
4、尽量避免跟用户交互。即只需要用户输入一个命令,即可完成想要的结果。
5、使用文本文件保存配置信息。通过修改配置文件来实现修改系统的配置,不必重启电脑,只需重启相应的服务即可。
6、描述linux目录结构以及目录结构命名规定。
/bin: 所有用户可用的基本命令程序文件;
/sbin:供系统管理使用的工具程序;
/boot:引导加载器必须用到的各静态文件:kernel、inintramfs(inintrd)、grub等;
/dev:存储特殊文件或设备文件;
设备有两种类型:字符设备(线性设备)、块设备(随机设备)
/etc:系统程序的配置文件,只能为静态;
/home:普通用户的家目录;一般每个普通用户的家目录默认为此目录与用户同名的子目录,/home/USERNAME
/root:管理员的家目录;可选;
/lib:为系统启动或根文件系统上的应用程序(/bin、/sbin等)提供共享库,以及为内核提供内核模块
/lib64:64位系统特有的存放64位共享库的路径;
/media:便捷式设备挂载点,可选路径;
/mnt:其他文件系统的临时挂载点;
/opt:附加程序的安装位置,可选路径;
/srv:当前为服务提供的数据;
/tmp:为那些会产生临时数据的程序提供用于存储临时文件的目录。可供所有用户操作;有特殊权限;
/usr:usr Hierarchy ,全局共享的只读数据路径;
include:C程序的头文件;
/usr/local/:Local hierarchy,让系统管理员安装本地程序;也通常用于安装第三方程序;
/share:命令手册和自带文档等架构持有的文件存储位置;
X11R6:X-window程序的安装位置;
/src:程序源代码文件的存储位置;
/var :/var hierachy 存储发生变化的数据目录;
/proc : 基于内存的虚拟文件系统,用于为内核及进程存储的相关信息;他们为内核参数,例如:net.ipv4_forward,虚拟内存为/net/ipv4/ip_forward,存储于/proc/sys,因此其完整的路径为/proc/sys/net/ipv4/ip_forward;
/sys:sysfs 虚拟文件系统 提供了一种比proc更为理想的访问内核数据的路径;其主要作用在于为管理Linux设备提供一种统一的模型接口;