博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LINUX概念与常识
阅读量:6757 次
发布时间:2019-06-26

本文共 4808 字,大约阅读时间需要 16 分钟。

一、描述计算机的组成及其功能

1、控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。2、运算器(Datapath):运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。3、存储器(Memory):存储器的功能是存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息。4、输入(Input system):输入设备是计算机的重要组成部分,输入设备与输出设备合称为外部设备,简称外设,输入设备的作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。常见的输入设备有键盘、鼠标器、光电输入机、磁带机、磁盘机、光盘机等。5、输出(Output system):输出设备与输入设备同样是计算机的重要组成部分,它把外算机的中间结果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出出来。微机常用的输出设备有显示终端CRT、打印机、激光印字机、绘图仪及磁带、光盘机等。

二、描述内核功能以及作用

Linux组成:硬件、内核、系统调用、库和shell、应用*1、内核封装了硬件,把硬件功能转换为系统调用,内核不做具体的工作,他只做通用性的工作:进程管理,把一个静态的进程变成一个由生命周期的进程活动,如:内存管理,文件系统,硬件驱动,网络功能,安全加密,因此其他所有的工作都是由外部的应用程序完成。

三、按系列罗列常见Linux的发行版,并描述不同发行版之间的联系与区别。

LINUX概念与常识

今天的Linux=Linux内核+GNU应用

1991年后诞生的Linux(一部分著名的Linux发行版):

RedHat 、Fedora 、suse 、红旗 、debian 、Ubuntu
这里写图片描述

RedHat

RdeHat Enterprise Linux 是RedHat公司的LINUX发行版,主要面向商业市场,包括大机型,当然它是收费的。RdeHat公式对企业版LINUX的内一个版本提供7年的支持。

Fdeore

Fdeore奠基于RedHat Linux,它是一套功能完备、更新快速的免费操作系统。而对赞助者RedHat公司而言,它是许多新技术的测试平台,被认为可用的技术最终会加入到RedHat Enterprise Linux中。

suse

suse Linux原是以Slackwaare Linux为基础,并提供完整德文使用界面的产品。1992年PeterMcDonald成立了Softlanding Linu System(SLS)这个发行版。这套发行版包含的软件非常多,更首次收录了X Window及TCP/IP等包。

红旗

红旗Linux是由北京中科红旗软件技术有限公司开发的Linux发行版,包括桌面版、工作站版、数据中心服务器版、HA集群版和红旗嵌入式Linux等产品。目前在中国各软件专卖店可以购买到光盘版,同时官方网站也提供光盘镜像免费下载。

Debin

Debian,是一种自由操作系统,全称Debian GNU/Linux,采用Linux作为内核,由Debian计划(Debian Project)组织维护。Debian是一个纯粹由自由软件所组合而成的作业环境,而其背后并没有任何的营利组织支持。

Ubuntu

Ubuntu是一个以桌面应用为主的GNU/Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”。 Ubuntu基于Debian发行版和GNOME桌面环境,与Debian的不同在于它每6个月会发布一个新版本。

四、描述常见的开源协议(GPL,LGPL, BSD,Apache等)以及开源协议的区别

GNU GPL

GNU General Public Licence (GPL) 有可能是开源界最常用的许可模式。GPL 保证了所有开发者的权利,同时为使用者提供了足够的复制,分发,修改的权利:

可自由复制

你可以将软件复制到你的电脑,你客户的电脑,或者任何地方。复制份数没有任何限制。

1、可自由分发

在你的网站提供下载,拷贝到U盘送人,或者将源代码打印出来从窗户扔出去(环保起见,请别这样做)。
2、可以用来盈利
你可以在分发软件的时候收费,但你必须在收费前向你的客户提供该软件的 GNU GPL 许可协议,以便让他们知道,他们可以从别的渠道免费得到这份软件,以及你收费的理由。
3、可自由修改
如果你想添加或删除某个功能,没问题,如果你想在别的项目中使用部分代码,也没问题,唯一的要求是,使用这段代码的项目也必须使用 GPL 协议。
需要注意的是,分发的时候,需要明确提供源代码和二进制文件,另外,用于某些程序的某些协议有一些问题和限制,你可以看一下 @PierreJoye 写的 Practical Guide to GPL Compliance 一文。使用 GPL 协议,你必须在源代码代码中包含相应信息,以及协议本身。

GNU LGPL

GNU 还有另外一种协议,叫做 LGPL (Lesser General Public Licence),它对产品所保留的权利比 GPL 少,总的来说,LGPL 适合那些用于非 GPL 或非开源产品的开源类库或框架。因为 GPL 要求,使用了 GPL 代码的产品必须也使用 GPL 协议,开发者不允许将 GPL 代码用于商业产品。LGPL 绕过了这一限制。

BSD

BSD 在软件分发方面的限制比别的开源协议(如 GNU GPL)要少。该协议有多种版本,最主要的版本有两个,新 BSD 协议与简单 BSD 协议,这两种协议经过修正,都和 GPL 兼容,并为开源组织所认可。

新 BSD 协议(3条款协议)在软件分发方面,除需要包含一份版权提示和免责声明之外,没有任何限制。另外,该协议还禁止拿开发者的名义为衍生产品背书,但简单 BSD 协议删除了这一条款。

MIT

MIT 协议可能是几大开源协议中最宽松的一个,核心条款是:

该软件及其相关文档对所有人免费,可以任意处置,包括使用,复制,修改,合并,发表,分发,再授权,或者销售。唯一的限制是,软件中必须包含上述版 权和许可提示。

这意味着:

你可以自由使用,复制,修改,可以用于自己的项目。

可以免费分发或用来盈利。
唯一的限制是必须包含许可声明。
MIT 协议是所有开源许可中最宽松的一个,除了必须包含许可声明外,再无任何限制。

Apache

Apache 协议 2.0 和别的开源协议相比,除了为用户提供版权许可之外,还有专利许可,对于那些涉及专利内容的开发者而言,该协议最适合(这里有 一篇文章阐述这个问题)。

Apache 协议还有以下需要说明的地方:

永久权利

一旦被授权,永久拥有。
全球范围的权利
在一个国家获得授权,适用于所有国家。假如你在美国,许可是从印度授权的,也没有问题。
授权免费,且无版税
前期,后期均无任何费用。
授权无排他性
任何人都可以获得授权
授权不可撤消
一旦获得授权,没有任何人可以取消。比如,你基于该产品代码开发了衍生产品,你不用担心会在某一天被禁止使用该代码。
分发代码方面包含一些要求,主要是,要在声明中对参与开发的人给予认可并包含一份许可协议原文。

Creative Commons

Creative Commons (CC) 并非严格意义上的开源许可,它主要用于设计。Creative Commons 有多种协议,每种都提供了相应授权模式,CC 协议主要包含 4 种基本形式:

署名权

必须为原始作者署名,然后才可以修改,分发,复制。
保持一致
作品同样可以在 CC 协议基础上修改,分发,复制。
非商业
作品可以被修改,分发,复制,但不能用于商业用途。但商业的定义有些模糊,比如,有的人认为非商业用途指的是不能销售,有的认为是甚至不能放在有广告的网 站,也有人认为非商业的意思是非盈利。
不能衍生新作品
你可以复制,分发,但不能修改,也不能以此为基础创作自己的作品。
这些许可形式可以结合起来用,其中最严厉的组合是“署名,非商用,不能衍生新作品”,意味着,你可以分享作品,但不能改动或以此盈利,而且必须为原 作者署名。在这种许可模式下,原始作者对作品还拥有完全的控制权,而最宽松的组合是“署名”,意味着,只要为原始作者署名了,就可以自由处置。

当然最直观的用一张图来描述他们各自的区别。

LINUX概念与常识

五、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。

一切皆为文件

1、硬件设备也通过文件表示
2、有众多功能单一的程序组成:组合小程序,完成复杂任务
3、尽量避免跟用户交互:目标易于以编程的方式实现自动化任务
4、使用文本文件保存配置信息

6描述linux目录结构以及目录结构命名规定

LINUX概念与常识
inux目录结构
/bin 存放系统命令
/boot 存放着系统的启动文件和内核
/dev 设备文件主目录(设备不在这里,具体设备息/proc目录中)
/proc 系统进程和系统硬件信息
/etc 系统 主配置文件 主目录
(windows下安装QQ,安装目录在E:盘,C盘也会写入相应的QQ软件信息
c盘的QQ文件称之为主配置文件(系统文件)---/etc)
/var 系统配置文件主目录
(E盘的QQ安装目录的文件称之为配置文件(功能型文件)---/var)
/home 普通用户的家目录
/lib&lib64 系统库文件存放的目录 .dll
/usr 系统帮助文档以及源码包安装位置 源码包不属于RedHat,属于广大的爱好开发者
usr目录是最庞大的目录,要用的应用程序和文件几乎都在这个目录
/sbin 超级用户使用的命令存放的目录
/mnt 用户挂载目录
/run 存放当前运行程序库的目录(当前运行的目录)
/root 超级用户root家目录
/tmp 临时文件存放目录 系统启动过程中会产生一些临时文件,这些临时文件就存放在tmp目录下
如果说tmp目录没有存储空间,系统一定启动不起来
/media 可移动介质挂载点
/opt 第三方应用程序文件存放目录
命名法则及规定:
文件命令规则:
1、除了/(根目录)之外,所有的字符都合法。
2、有些字符最好不用,如空格符、制表符、退格符和字符@#¥()- 等。
3、避免使用 ▪ 作为普通文件名的第一个字符。
4、大小写敏感。
变量命名规则:
1)变量名必须有一定的意义,并且意义准确。例如有一个变量用于保存图书的数目,可以命名为number_of_book或者num_of_book。不建议使用i,因为它没有意义。也不建议使用number或book,因为意义不准确。
2)不建议大小写混用。如定义一个计数变量,int nCount;这在Windows中是一个很好的变量名,其中nCount的首字母n用来说明这个变量的类型是int。但在Linux下不建议大小写混合使用,一般标识符只由小写字母,数字和下划线构成。
3)在失去意义的情况下,尽量使用较短的变量名。例如有一个变量,用于暂时存储一个计数值,把变量命名为tmp_count显然要比this_is_a_temperary_counter好。
4)不采用匈牙利命名法表示变量的类型。如int nCount;n用于说明变量的类型,在Linux中不建议这样命名变量。
5)函数名应该以动词开头,因为函数是一组具有特定功能的语句块。比如一个函数,它用于取得外部输入的数值,则可以命名为get_input_number。
6)尽量避免使用全局变量

转载于:https://blog.51cto.com/12479468/2346960

你可能感兴趣的文章
No.2----数据类型(常用的)
查看>>
字符串指针
查看>>
锐捷网关交换机开启dhcp服务
查看>>
android 窃听电话
查看>>
链表例题
查看>>
POJ-1321 棋盘问题 搜索
查看>>
HDU-4478 Where is the King 搜索
查看>>
将博客搬至CSDN
查看>>
大三学长带我学习JAVA。作业1. 第1讲.Java.SE入门、JDK的下载与安装、第一个Java程序、Java程序的编译与执行 大三学长带我学习JAVA。作业1....
查看>>
在ie9浏览器中ajax请求数据始终执行error的问题解决
查看>>
类和原型之工厂模式!
查看>>
hdu 5396 Expression
查看>>
时间选择器(js,css,html)
查看>>
xshell常用命令大全
查看>>
Day01_变量,数据类型_程序交互_流程控制
查看>>
POJ 3087 Shuffle'm Up 模拟,看着不像搜索啊
查看>>
你知道 GNU Binutils 吗?【binutils】
查看>>
OC与swift相互调用
查看>>
quartus ii 中文注释乱码解决办法
查看>>
Linux网卡配置与绑定
查看>>