最新消息:三苏博客专业为广大站长朋友提供网站源码

计算机起源与Linux简述

Linux 三苏 157浏览 0评论

什么是计算机

计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。
它由硬件系统和软件系统组成,没有安装任何软件的计算机被称为裸机。硬件系统由运算器,控制器,存储器,输入设备,输出设备几部分组成;软件系统则分为系统软件和应用软件。计算机按照规模又可分为巨型计算机、大型计算机、小型计算机、微型计算机。
世界上第一台计算机
ENIAC(埃尼阿克),是电子数值积分计算机(The Electronic Numberical Intergrator and Computer)的缩写,它是世界上第一台计算机,于1946年2月15日在美国宾夕法尼亚大学诞生并投入使用,是美国伯丁武器试验场为了满足计算弹道需要而研制成的。它使用了17468个真空电子管,耗电174千瓦,占地170平方米,重达30吨,每秒钟可进行5000次加法运算。
ENIAC诞生后,数学家冯•诺依曼提出了重大的改进理论,主要有两点:其一是电子计算机应该以二进制为运算基础,其二是电子计算机应采用存储程序方式工作,并且进一步明确指出了整个计算机的结构应由五个部分组成:运算器、控制器、存储器、输入装置和输出装置。冯•诺依曼的这些理论的提出,解决了计算机的运算自动化的问题和速度配合问题,对后来计算机的发展起到了决定性的作用。直至今天,绝大部分的计算机还是采用冯•诺依曼方式工作。

服务器

服务器(Server)指一个管理资源并为用户提供服务的计算机,通常分为文件服务器、数据库服务器和应用程序服务器。运行以上软件的计算机或计算机系统也被称为服务器。相对于普通PC来说,服务器在稳定性、安全性、性能等方面都要求更高,因此CPU、芯片组、内存、磁盘系统、网络等硬件和普通PC有所不同。
服务器按应用功能可分为:Web服务器、数据库服务器、邮件服务器、文件服务器、中间件应用服务器、日志服务器、监控服务器,程序版本控制服务器、虚拟
机服务器、打印服务器、域控制服务器、多媒体服务器、通讯服务器、ERP服务器等。

按外形分类:塔式服务器、机架式服务器、刀片式服务器

塔式服务器

机架式服务器
刀片式服务器

服务器硬件组成:

CPU:Central Processing Unit的缩写,即中央处理器。由控制器和运算器构成,是整个计算机系统中最重要的部分。

服务器按照CPU体系架构来区分,主要分为两类:

非x86服务器:使用RISC(精简指令集)或EPIC(并行指令代码) 处理器,并且主要采用UNIX和其它专用操作系统的服务器,指令系统相对简单,它只要求硬件执行很有限且最常用的那部分指令。这种服务器价格昂贵,体系封闭,但是稳定性好,性能强,主要用在金融、电信等大型企业的核心系统。x86服务器:又称CISC(复杂指令集)架构服务器,即通常所讲的PC服务器,它是基于PC机体系结构,使用Intel或其它兼容x86指令集的处理器芯片的服务器。这种服务器价格相对便宜、兼容性好但稳定性较差、安全性不算太高。

按CPU个数来分:
4核及4核以上服务器(企业级服务器)
2核服务器(部门级服务器)
1核服务器(入门级服务器)

主板:主板mainboard、系统板systemboard或母板(motherboard)它安装在机箱内,是计算机最基本的也是最重要的部件之一。主板一般为矩形电路板,上面安装了组成计算机的主要电路系统,一般有BIOS芯片、I/O控制芯片、键盘和面板控制开关接口、指示灯插接件、扩充插槽、主板及插卡的直流电源
供电接插件等元件。

内存:内存是介于CPU 和外部存储之间,是CPU 对外部存储中程序与数据进行高速运算时存放程序指令、数据和中间结果的临时场所,它的物理实质就是一组具备数据输入输出和数据存储功能的高速集成电路。 内存是CPU能直接寻址的存储空间,由半导体器件制成。内存的特点是存取速度快。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。
容量即该内存的存储容量,单位一般为MB或GB。

硬盘:由存储介质(Media)—盘片、读写头(Read Write Head)—磁头、马达( Spindle Motor & Voice Coil Motor )组成。

硬盘基本参数

容量:是硬盘最主要的参数。单位有MB、GB、TB。

转速:转速是指硬盘盘片每分钟转动的圈数,单位为rpm。现在硬盘的转速已经达到10000rpm,15000rpm。

传输速率:硬盘的数据传输率是指硬盘读写数据的速度,单位为兆字节每秒(MB/s)
缓存:硬盘缓存的目的是为了解决系统前后级读写速度不匹配的问题,以提高硬盘的读写速度.
目前主流的硬盘接口为SATA何SAS接口,因此硬盘按接口类型可分为SATA硬盘和SAS硬盘。

阵列卡(Raid卡):用来实现RAID的建立和重建,检测和修复多位错误,错误磁盘自动检测等功能。RAID芯片使CPU的资源得以释放。

电源:支持服务器的电力负载;支持冗余,防止电源故障;故障预警和防止; 故障之前的预防性维护;保证服务器持续运行。

显卡:服务器都在主板上集成了显卡,但是显存容量不高,一般为16M或32M。

网卡:服务器都在主板上集成了网卡,传输速率为1Gbps,即千兆网卡,特殊应用需要高端网卡,如光纤网卡,Infiniband网卡等,传输速率能达到10Gbps、20Gbps,即万兆网卡。

热插拔技术:又称热交换技术(HotSwap),允许在不关机的状态下更换故障热插拔设备。常见的热插拔设备:硬盘,电源,PCI设备,风扇等。热插拔硬盘技术与RAID技术配合起来,可以使服务器在不关机的状态下恢复故障硬盘上的数据,同时并不影响网络用户对数据的使用。

机柜:服务器放置的地方。

存储网络
DAS—–直接连接存储(Direct Attached Storage)
NAS—–网络连接存储(Network Attached Storage)
SAN—–存储区域网络(Storage Area Networks

操作系统

操作系统简称OS(Operating System)是计算机系统中的一个系统软件,是一些程序模块的集合——它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能高效、顺畅的运行。

UNIX

UNIX操作系统(尤尼斯),是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UNIX(UNIX-like)。

UNIX的哲学思想
编写的程序只做一件事,且把这件事做好;
编写的程序要能一起工作;
编写的程序以一个统一接口来处理字符流。

1965前后 Multics
Multics是1964年由贝尔实验室、麻省理工学院及美国通用电气公司所共同参与研发的,是一套安装在大型主机上多人多任务的操作系统。Multics其目的是想要让大型主机可以达成提供300个以上的终端机连线使用,后来因计划进度落后,资金短缺,宣告失败。

1969 Unix雏形

1969年,因MULTICS计划的工作进度过于缓慢,最后终究遭裁撤的命运,贝尔实验室退出此计划。当时,Ken Thompson撰写一个称为”星际旅行”(Space Travel)的游戏程序。Multics 计划停止后,由贝尔实验室的两位软件工程师 Thompson 与 Ritchie 以C语言为基础而发展出UNIX。

1973 Unix
Unix 成熟期。“管道”,一个可以在两个程序中共享信息的机制问世,这项技术影响了操作系统几十年。这个技术被加入到了Unix中。同年,Unix被用C语言重写,正式命名为Unix 并可移植性开放。

1977 BSD(Berkeley Software Distribution)
BSD (Berkeley Software Distribution,伯克利软件套件)是Unix的衍生系统,1970年代由加州大学伯克利分校开创。BSD用来代表由此派生出的各种套件集合。
BSD常被当作工作站级别的Unix系统,这得归功于BSD License非常地宽松,许多1980年代成立的计算机公司,不少都从BSD中获益,比较着名的例子如DEC的Ultrix,以及Sun公司的SunOS。1990年代,BSD很大程度上被System V4.x版以及OSF/1系统所取代,但其开源版本被采用,促进了因特网的开发。

1979 System V架构 版权声明
因为AT&T由于商业的考虑,以及在当时现实环境下的思考,于是想将UNIX的版权收回去。因此,AT&T在1979年发行的第七版UNIX中,特别提到了”不可对学生提供源码”的严格限制。同时,也造成UNIX业界之间的紧张气氛,并且也引发了很多的商业纠纷。
目前被称为纯种的UNIX指的就是System V以及BSD这两套。

1984年 Minix操作系统
关于1979年的版权声明中,影响最大的当然就是学校里教导UNIX内核源码相关学问的教授了。想一想,如果没有内核源码,那么如何教导学生认识UNIX呢?这问题对于AndrewTanenbaum(谭宁邦)教授来说,实在是很伤脑筋的。不过,学校的课程还是得继续,那怎么办?
既然1979年的UNIX第七版可以在Intel的x86架构上面进行移植,那么是否意味着可以将UNIX改写并移植到x86上面了呢?在这个想法上,谭宁邦教授于是自己动手写了Minix这个UNIX Like的内核程序!在编写的过程中,为了避免版权纠纷,谭宁邦完全不看UNIX内核源码!并且强调他的Minix必须能够与UNIX兼容才行!谭宁邦在1984年开始编写内核程序,到了1986年终于完成,并于次年出版Minix相关书籍,同时与新闻组(BBS及News)相结合。
之所以称为Minix的原因,是因为他是个Mini的UNIX系统。
(荷兰阿姆斯特丹自由大学计算机科学系Andrew S. Tanenbaum谭宁邦)

1984年:1984年,Richard Stallman(史托曼)开始GNU项目,这个项目的目的是创建一个自由、开放的UNIX操作系统(Free UNIX)。
创建开源的UNIX实用工具版本
创建通用公共许可证(GPL)
开源软件许可实施原则https://www.gnu.org/
产品:GCC、Emacs、Bash Shell、GLIBC;
倡导“自由软件”;
GNU的软件缺乏一个开放的平台运行,只能在Unix上运行;
自由软件指用户可以对软件做任何修改,甚至再发行,但是始终要挂着GPL的版权;
自由软件是可以卖的,但是不能只卖软件,而是卖服务、手册等;

1991年:芬兰大学生Linus Torvalds
到了1991年,芬兰的赫尔辛基大学的Linus Torvalds在BBS上面贴了一则消息,宣称他以bash, gcc等工具写了一个小小的内核程序,这个内核程序可以在Intel的386机器上面运行,让很多人很感兴趣,从此开始了Linux不平凡的旅程!
bash GCC等小工具写了一个小的内核程序下载:www.kernel.org

Linux

1991 年的10 月5 日,林纳斯·托瓦兹在comp.os.minix 新闻组上发布消息,正式向外宣布Linux 内核系统的诞生(Free minix-like kernel sources for 386-AT)。

Linux操作系统
Linux内核+ GNU工具=完整的类UNIX

操作系统 
如:CentOS,Ubuntu,Android
Linux发行版
slackware:SUSE Linux Enterprise Server (SLES)
opensuse桌面
debian: ubuntu,mint
redhat: rhel: redhat enterprise linux
每18个月发行一个新版本
CentOS:兼容rhel的格式
中标麒麟:中标软件
fedora:每6个月发行一个新版本
ArchLinux:轻量简洁
Gentoo:极致性能,不提供传统意义的安装程序
LFS: Linux From scratch 自制Linux
Android: kernel+busybox(工具集)+java虚拟机

Linux分支参考网站:http://futurist.se/gldt/

开源open source

开源: Open Source ,是指将软件和源代码提供给所有人
自由分发软件和源代码
能够修改和创建衍生作品

软件分类:商业、共享、自由 free

开源协议
世界上的开源许可证,大概有上百种
GPLv2, GPLv3, LGPL(lesser) :copyleft,WordPress
Apache: apache
BSD: bsd
Mozilla
Apache
MIT

Linux哲学思想

一切都是一个文件(包括硬件)
小型,单一用途的程序
链接程序,共同完成复杂的任务
避免令人困惑的用户界面
配置数据存储在文本中

Linux的文件系统

普通文件(regular file):就是一般存取的文件,由ls -al显示出来的属性中,第一个属性为 [-],例如 [-rwxrwxrwx]。另外,依照文件的内容,又大致可以分为:

1、纯文本文件(ASCII):这是Unix系统中最多的一种文件类型,之所以称为纯文本文件,是因为内容可以直接读到的数据,例如数字、字母等等。设 置文件几乎都属于这种文件类型。举例来说,使用命令“cat ~/.bashrc”就可以看到该文件的内容(cat是将文件内容读出来)。

2、二进制文件(binary):系统其实仅认识且可以执行二进制文件(binary file)。Linux中的可执行文件(脚本,文本方式的批处理文件不算)就是这种格式的。举例来说,命令cat就是一个二进制文件。

3、数据格式的文件(data):有些程序在运行过程中,会读取某些特定格式的文件,那些特定格式的文件可以称为数据文件(data file)。举例来说,Linux在用户登入时,都会将登录数据记录在 /var/log/wtmp文件内,该文件是一个数据文件,它能通过last命令读出来。但使用cat时,会读出乱码。因为它是属于一种特殊格式的文件。

目录文件(directory):就是目录,第一个属性为 [d],例如 [drwxrwxrwx]。

连接文件(link):类似Windows下面的快捷方式。第一个属性为 [l],例如 [lrwxrwxrwx]。

设备与设备文件(device):与系统外设及存储等相关的一些文件,通常都集中在 /dev目录。通常又分为两种:

块设备文件:就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。第一个属性为 。

字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c]。

套接字(sockets):这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为 展开,最常在 /var/run目录中看到这种文件类型。

管道(FIFO,pipe):FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。

文件结构

/:根目录,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。

/bin:bin 就是二进制(binary)英文缩写。在一般的系统当中,都可以在这个目录下找到linux常用的命令。系统所需要的那些命令位于此目录。

/boot:Linux的内核及引导系统程序所需要的文件目录,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录。

/cdrom:这个目录在刚刚安装系统的时候是空的。可以将光驱文件系统挂在这个目录下。例如:mount /dev/cdrom /cdrom

/dev:dev 是设备(device)的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。这一点和常用的windows,dos操作系统不一样。它实际上是一个访问这些外部设备的端口。可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。

/etc:etc这个目录是linux系统中最重要的目录之一。在这个目录下存放了系统管理时要用到的各种配置文件和子目录。要用到的网络配置文件,文件系统,x系统配置文件,设备配置信息,设置用户信息等都在这个目录下。

/home:如果建立一个用户,用户名是”xx”,那么在/home目录下就有一个对应的/home/xx路径,用来存放用户的主目录。

/lib:lib是库(library)英文缩写。这个目录是用来存放系统动态连接共享库的。几乎所有的应用程序都会用到这个目录下的共享库。因此,千万不要轻易对这个目录进行什么操作,一旦发生问题,系统就不能工作了。

/lost+found:在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。

/mnt:这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom等目录。可以参看/etc/fstab的定义。

/media:有些linux的发行版使用这个目录来挂载那些usb接口的移动硬盘(包括U盘)、CD/DVD驱动器等等。

/opt:这里主要存放那些可选的程序。

/proc:可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的。

/root:Linux超级权限用户root的家目录。

/sbin:这个目录是用来存放系统管理员的系统管理程序。大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目录是相似的,凡是目录sbin中包含的都是root权限才能执行的。

/selinux :对SElinux的一些配置文件目录,SElinux可以让linux更加安全。

/srv 服务启动后,所需访问的数据目录,举个例子来说,www服务启动读取的网页数据就可以放在/srv/www中

/tmp:临时文件目录,用来存放不同程序执行时产生的临时文件。有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。

/usr

这是linux系统中占用硬盘空间最大的目录。用户的很多应用程序和文件都存放在这个目录下。在这个目录下,可以找到那些不适合放在/bin或/etc目录下的额外的工具

/usr/local:这里主要存放那些手动安装的软件,即不是通过“新立得”或apt-get安装的软件。它和/usr目录具有相类似的目录结构。让软件包管理器来管理/usr目录,而把自定义的脚本(scripts)放到/usr/local目录下面、。

/usr/share :系统共用的东西存放地,比如 /usr/share/fonts 是字体目录,/usr/share/doc和/usr/share/man帮助文件。

/var:这个目录的内容是经常变动的,看名字就知道,可以理解为vary的缩写,/var下有/var/log 这是用来存放系统日志的目录。/var/ www目录是定义Apache服务器站点存放目录;/var/lib 用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地。

转载请注明:三苏博客 » 计算机起源与Linux简述

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址