一、什么是计算机
1、介绍
一说到计算机,我们首先想到的就是电脑,没错,电脑就是计算机,但是计算机不只是电脑。
所谓的电脑就是一种计算机,而计算机其实是:接收使用者输入的指令与资料,经*处理器的数学与逻辑单元运算处理后,产生或储存成有用的资讯。
因此,只要有输入设备(键盘、触摸板等)及输出设备(电脑屏幕、打印机等),
让你可以输入资料使该机器产生资讯的,那就是一部计算机了。
例如:
个人电脑、手机、ATM、GPS等,这些都是计算机。
2、电脑硬件的组成
电脑硬件主要可分为三部分:
输入单元:包括键盘、鼠标、读卡机、扫描器、手写板、触控萤幕等
主机部分:主板、CPU、内存(RAM)等
输出单元:例如屏幕、打印机等
3、各硬件的作用
类比成一个人
CPU=大脑:每个人会作的事情都不一样(微指令集的差异),但主要都是透过大脑来进行判断与控制身体各部分的活动;
内存=大脑中正在思考的资料的区块:在实际活动过程中,我们的大脑需要有外界刺激的资料(例如光线、环境、语言等)来分析,这些互动资料暂时存放的地方就是内存,主要是用来提供给大脑判断用的资讯。
硬盘=脑袋中放置回忆的记忆区块:跟刚刚的内存不同,内存是提供给大脑目前要思考与处理的资讯,而硬盘主要目的是将重要的资料记录起来,以便未来将这些重要的资料再次的使用;
主机板=神经系统:好像人类的神经一样,将所有重要的元件连接起来,包括手脚的活动都是大脑发布命令后,透过神经(主机板)传导给手脚来进行活动
各项周边设备=人体与外界沟通的手、脚、皮肤、眼睛等:就好像手脚一般,是人体与外界互动的重要关键!
显示卡=大脑中的影像:将来自眼睛的刺激转成影像后在脑袋中呈现,所以显示卡所产生的资料来源也是CPU控制的。
电源供应器(Power)=心脏:所有的元件要能运作得要有足够的电力供给才行!这电力供给就好像心脏一样,如果心脏不够力, 那么全身也就无法动弹的!
二、服务器
1、互联网常见服务器介绍
服务器:
服务器指的是网络中能对其他机器提供某些服务的计算机系统,相对普通PC,服务器指的是高性能计算机,稳定性、安全性要求更高
服务器的高性能体现在高速的运转能力,长时间的可靠运行,强大的数据吞吐能力
常见的服务器有:
DELL(大多数公司在用)
HP
IBM(百度,银行,*)(贵)
浪潮
联想
2、服务器
1. 包括大型机、小型机和UNIX服务器
价格昂贵,体系封闭,但是稳定性极强,性能强、主要用在金融、电信等大型企业核心系统中。
2. 普通PC
也就是通常所说的PC服务器,价格便宜、兼容性好,稳定性差,不够安全,常用在中小型企业。
3、linux服务器环境分类
1. 云服务器:阿里云 百度云 亚马逊云
2. 有实体服务器:dell power r720 服务器
-自建机房,例如:苹果的数据中心就建在贵州
-机房的特点,无尘,无静电,恒温,低温
-服务器托管,世纪互联公司,专做服务器托管
服务器就是一个性能超强的主机,且对外提供服务器的机器,称作服务器
三、操作系统
1、操作系统可以分为四大类
Windows系列操作系统
Unix类操作系统
Linux类操作系统
Mac操作系统
2、操作系统是什么
我们都知道windows/xp/7/8/10,其实就是操作系统,操作系统全称是Operating System,简称OS,是计算机系统中必不可少的基础系统软件,
它是应用程序运行及用户操作必备的基础环境支撑。
整个电脑主机是由一堆硬件所组成,为了有效的控制这些硬件资源,于是就有操作系统的产生了。操作系统除了有效的控制这些硬件资源的运作,
并且提供电脑运行所需的功能(例如网络功能)。
由上图看出操作系统跑于硬件之上,应用程序运行在操作系统之上,由于Linux只是一套操作系统并不含有其他应用程序,
因此工程师需要在下载Linux系统并且安装之后,就可以使用了。
Shell(也叫做终端或壳)充当的是人与内核(硬件)之间的翻译官,用户吧一些命令“传递”给终端(终端就是windows上cmd,Linux里面就叫终端),
它就会调用相应的程序服务去完成工作。红帽Linux默认使用的终端是Bash解释器。
四、Linux介绍
1、Linux起源
1991年,一个名叫Linus torvalds的芬兰研究生购买了自己的第一台PC,为了满足自己读写新闻和邮件的需求,他突发奇想决定开始开发自己的操作系统。
他选择了Minix作为自己研究的对象。 Minix是由荷兰教授 Andrew S Tanenbaum开发的一种模型操作系统,这个开放源代码的操作系统最初只是用于研究目的。
Linus torvalds成功地编写出了自己的操作系统后,他也把源代码上传到互联网上,作为开源的操作系统。最后Linus把这个操作系统命名为Linux,意思是:Linus的Minix(Linus, Minix-->liunx)
2、开源潮流
开源软件,英文表示是open source software,简称为OSS,直接的字面意思是公开源代码的软件。具备免费使用和公布源代码的特点。
开源软件,不仅让用户可以随意使用,还可以根据用户的需求进行修改,或编制成衍生产品再发布出去。用户具有使用*、修改*、重新发布*以及创建衍生品的*。
开源软件最重要的特性有:
低风险
使用闭源软件无疑把命运交付给他人,一旦封闭的源代码没有人来维护,你将进退维谷;
而且相较于商业软件公司,开源社区很少存在倒闭的问题。
高品质
相较于闭源软件产品,开源项目通常是由开源社区来研发及维护的,参与编写、维护、测试的用户量众多,
一般的bug还没有等爆发就已经被修补。
低成本
开源工作者都是在幕后默默且无偿地付出劳动成果,为美好的世界贡献一份力量,
因此使用开源社区推动的软件项目可以节省大量的人力、物力和财力。
更透明
像木马、后门等恶意代码没有人会把它们放到开放的源代码中去的,
这样无疑是把自己的罪行暴露在阳光之下
3、开源许可协议
如果开源软件一味的追求“*”却牺牲了程序员的利益,这样也会影响程序员的激情,因此世界上就有了“开源许可协议”来保证开源工作者的权益
常见的几种开源许可协议:
1. GPL(General Public License,通用性公开许可协议)
GPL授予程序接受人以下权利,或称“*”:
* 以任何目的运行此程序的*
* 以学习程序工作机理为目的,对程序进行修改的*(能得到源代码是前提)
* 再发行复制件的*
* 改进此程序,并公开发布改进的*(能得到源代码是前提)
相反地,随版权所有软件的最终用户许可证几乎从不授予用户任何权利(除了使用的权利),甚至可能限制法律允许的行为,比如逆向工程。
GPL与其他一些更“许可的”*软件许可证(比如BSD许可证)相比,主要区别就在于GPL寻求确保上述*能在复制件及演绎作品中得到保障。
它通过一种由Stallman发明的叫copyleft的法律机制实现,即要求GPL程序的演绎作品也要在GPL之下。相反,BSD式的许可证并不禁止演绎作品变成版权所有软件。
2. BSD授权许可证(FreeBSD Copyright Information)
BSD具有多种授权许可证。总的来说你可以对软件任意处理,只要你在软件中注明其是来自于那个项目的就可以了。也就是说你具有更大的*度来处置软件。
如果你对软件进行了修改,你可以限制其他使用者得到你修改的软件的*。
BSD授权许可证没有实现"通透性"*,也就是其不保证软件源代码开放的连续性。这样如果你希望采用别人开发的BSD软件,进行一些修改,然后作为产品卖,
或者仅仅保密自己的做的一些除了软件开发以外的工作,那么你就可以从中得利。
当一个非程序员仅仅理解一个程序的功能,但是不了解程序是如何做的时,即使你没有在开发软件中做任何工作那你就可以通过高超的市场技巧将软件卖给该用户。
比如拿最流行的桌面操作系统作为例子,你就能很好的理解一个没有很好的程序技巧的软件公司只要具有高超的市场营销策略同样可以将垃圾卖给客户。
如果你不具有很强大的编程能力,但是具有很强的市场能力和能将其他开发者的软件包括到自己的系统,而同时不将自己的修改开放出来将是非常强大的能力。
从赚钱为目的的商务角度看来,如果你使用了BSD授权许可证的软件,那么你就可以任意进行。你可以更好地控制你的OS系统,并且防止其他人拷贝你的商业产品。
3. 总结
简单的说,就是你使用了GPL许可证的软件,那么你的软件产品就被GPL“传染”了,也必须“*”!这对国内的商业软件开发商来说是很难接受的。
但是LGPL, Apache License, BSD就不存在这个问题,后两者只要求你对软件原作者的工作进行必要的认可和尊重就行了,所以这是适合商业应用的。
所以在选择应用开源软件时,一定要明白自己的用途,选择合适许可证下的软件。
4、Linux的优势
Linux以高效和灵活主城,Linux同事具有多任务、多用户的能力,支持多线程,多CPU。
Linux包括了文本编辑器,高级语言编译器,以及图形用户界面登应用软件,当然绝大多数服务器都是使用命令行,文本模式操作Linux的。
Linux遵循GNU通用公共许可协议,属于*软件,用户不需要支付费用就可以获得系统和系统源代码,无偿使用且*传播。
Linux具有很高的系统稳定性和可靠性。
Linux具有很高的系统安全性
众多业界厂商支持,如IBM、Oracle、Intel、HP、Google等
有完善的数据库平台,包括Oracle、DB/2、Sybase、MySQL、PostgreSQL等。
有完善的图形化用户界面,包括GNOME、KDE等。
有完善的开发平台,包括C/C++、Java、Python等。
5、Linux的发行版本
1. Linux内核与Linux发行版本的区别
linux就是一个操作系统,但是实际上Linux这个词只是代表着Linux操作系统的内核,而不是代表Linux操作系统。这个内核由www.kernel.org维护
Linux是一类Unix计算机操作系统的统称。Linux操作系统的内核的名字也是“Linux”。Linux操作系统也是*软件和开放源代码发展中最著名的例子。
严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统
Linux发行版就是在Linux内核的基础上添加了一些工具软件构成的一套庞大复杂的操作系统。
虽然内核都是一样的,但添加部分各不相同,这就构成了不同的发行版本。
也就是说Linux本身指的是一个操作系统内核,只有内核是无法直接使用的。
我们需要的,可以使用的操作系统是一个包含了内核和一批有用的程序的的一个集合体,这个就是Linux发行版
2. Linux常见的发行版本
桌面系统:Ubuntu(乌班图)
服务端系统: redhat(红帽),centos
使用数据库高级服务或电子邮件:suse
数据库安全性很高的:Debian,FreeBSD
使用最新的技术: fedora
-- redhat(RedHat Enterprise Linux RHEL)
红帽公司是全球最大的开源技术厂商,RHEL 是全世界内使 用最广泛的 Linux 系统。
RHEL系统具有极强的性能与稳定性,并且在全球范围内拥有完善的技术支持。
-- CentOS(Community Enterprise Operating System)
CentOS 通过把 RHEL 系统重新编译并发布给用户免费使用的 Linux 系统,具有广泛的使用人群。
CentOS 当前已被红帽公司 “收编”。
-- openSUSE
源自德国的一款著名的 Linux 系统,在全球范围内 有着不错的声誉及市场占有率。
主要使用客户是中国移动、中国电信、交通银行、浦发银行等等安全性极高的客户
-- Debian
稳定性、安全性强,提供了免费的基础支持,可以良好地支持各种硬件架构,以及提供近十万种不同的开源软件,
在国外拥有很高的认可度和使用率
-- Ubuntu
是一款派生自 Debian 的操作系统,对新款硬件具有极 强的兼容能力。Ubuntu 与 Fedora 都是极其出色的 Linux 桌面系统,
而且 Ubuntu 也可用于服务器领域。
3. redhat与CentOS的区别
在过去的10年中, Red hat公司一直是 Linux乃至开源世界的领导者。2003年,公司高层决定将其产品分成两个不同的发行版本。商业版本被称为 Red Hat Enterprise Linux,这个发行版本专注于企业级应用,并向使用它的企业提供全套技术支持, Red Hat公司从中收取相关许可证费。
RedHat Linux对硬件的支持非常友好,主流硬件厂商早早的将服务器拿去测试,很少遇见硬件兼容性问题,大量的商业软件都是基于RedHat认证的,例如Oracle。Linux内核代码的贡献,redhat厂商的大牛也是最多,要知道全世界的互联网大客户,一般都会使用商业服务器,因为出了问题有专业的技术人员技术支持。
CentOS 系统是通过把 RHEL 系统释放出的程序源代码经 过二次编译之后生成的一种 Linux 系统,其命令操作和服务配置方法与 RHEL 完全相同,但 是去掉了很多收费的服务套件功能,而且还不提供任何形式的技术支持,出现问题后只能由运维人员自己解决
6、Linux和windows区别
1.使用领域
我们经常使用Windows是为什么?因为windows适合生活服务和游戏,
那么使用Linux是为什么?作为开发人员,学习Linux代表着你要开发软件,你要测试程序,你要维护服务器,Linux表着严谨和工作。
2. 免费与收费
最新正版Windows10官方售价¥888
Linux几乎免费(更多人愿意钻研开源软件,而收费的产品出现更多的盗版)
3. 软件支持
Windows平台:数量和质量的优势,但是大部分为收费软件;由微软提供技术支持和服务
Linux平台:大多为开源软件,用户可以修改定制与发布,由于免费没有资金支持,部分软件质量可能欠缺
4. 安全稳定性
Windows平台:三天两头修复补丁,仍然会中毒(即便装了360,瑞星,金山毒霸)
Linux平台:安全问题很少,无需安装xx杀毒,xx卫士
5. 使用习惯
Windows:普通用户基本依靠图形界面操作,鼠标和键盘完成一切需求,上手简单容易
Linux:兼具图形界面(需要带有桌面环境的发行版Linux)和完全命令行操作,无法使用鼠标,新手入门困难,需要学习后方可使用,熟练后效率极高
6. 应用领域
Linux:人们日常在Windows*问的百度、淘宝、qq,支撑这些软件运行的,后台是成千上万的Linux服务器,它们时时刻刻进行着忙碌的数据处理和运算
Windows:可以运行英雄联盟、绝地求生、地下城与勇士等游戏,而Linux开发的游戏几乎很少