1、硬件与软件发展历史java
计算机由硬件和软件组成结构linux
硬件程序员
1946年诞生于宾夕法尼亚州,占地170平米,重量达到30吨,名字叫作ENIAC(electronic numerical integrator and calculator)主要做用是为美国国防部防空系统计算飞弹轨迹。也是第一代计算机,在这里咱们能够将计算机划分四个时代,分别是:shell
第一代计算机(1946-1957)电子管时代数据库
第二代计算机(1958-1964)晶体管时代ubuntu
第三代计算机(1965-1970) 集成电路时代windows
第四代计算机(1971-) 大规模集成电路时代安全
它们都有一个特色,都遵循冯诺依曼体系bash
软件服务器
软件是一系列按照特定顺序组织的计算机数据和指令的集合。通常来说软件被划分为系统软件、应用软件和介于这二者之间的中间件。
系统软件即是运行在硬件基础上,而应用软件则是运行在系统软件上的
Linux的历史
操做系统,英语Operating System简称为OS。说道操做系统就须要先讲一讲Unix,UNIX操做系统,是一个强大的多用户、多任务操做系统,支持多种处理器架构,按照操做系统的分类,属于分时操做系统,最先由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。而linux就是一款类Unix系统。
一般人们对linux都有一个错误的认识,就是这个名词"linux操做系统",其实linux不是操做系统,linux是一个内核,linux系统构成包括:、Linux 内核、GNU 项目及其余项目的软件。固然,但人们已经习惯了用Linux来形容整个基于Linux内核,而且使用GNU 工程各类工具和数据库的操做系统。
Linux的开发者
林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds, 1969年~ ),著名的电脑程序员、黑客。Linux内核的发明人及该计划的合做者。托瓦兹利在大学读书期间创造出了这套当今全球最流行的操做系统(做业系统)内核之一。
Linux发展历史
Linux操做系统的诞生、发展和成长过程始终依赖着五个重要支柱:UNIX 操做系统、MINIX 操做系统、GNU计划、POSIX 标准和Internet 网络。。
1981 年IBM公司推出微型计算机IBM PC。
1991年,GNU计划已经开发出了许多工具软件,最受期盼的GNU C编译器已经出现,GNU的操做系统核心HURD一直处于实验阶段,没有任何可用性,实质上也没能开发出完整的GNU操做系统,可是GNU奠基了Linux用户基础和开发环境。
1991年初,林纳斯·托瓦兹开始在一台386sx兼容微机上学习minix操做系统。1991年4月,林纳斯·托瓦兹开始酝酿并着手编制本身的操做系统。
1991 年4 月13 日在comp.os.minix 上发布说本身已经成功地将bash 移植到了minix 上,并且已经爱不释手、不能离开这个shell软件了。
1991年7月3日,第一个与Linux有关的消息是在comp.os.minix上发布的(固然此时还不存在Linux这个名称,当时林纳斯·托瓦兹的脑子里想的多是FREAX,FREAX的英文含义是怪诞的、怪物、异想天开等)。
1991年的10月5日,林纳斯·托瓦兹在comp.os.minix新闻组上发布消息,正式向外宣布Linux内核的诞生(Freeminix-like kernel sources for 386-AT)。
1993年,大约有100余名程序员参与了Linux内核代码编写/修改工做,其中核心组由5人组成,此时Linux 0.99的代码大约有十万行,用户大约有10万左右。
1994年3月,Linux1.0发布,代码量17万行,当时是按照彻底自由免费的协议发布,随后正式采用GPL协议。
1995年1月,Bob Young创办了RedHat(小红帽),以GNU/Linux为核心,集成了400多个源代码开放的程序模块,搞出了一种冠以品牌的Linux,即RedHat Linux,称为Linux"发行版",在市场上出售。这在经营模式上是一种创举。
1996年6月,Linux 2.0内核发布,此内核有大约40万行代码,并能够支持多个处理器。此时的Linux 已经进入了实用阶段,全球大约有350万人使用。
1998年2月,以Eric Raymond为首的一批年轻的"老牛羚骨干分子"终于认识到GNU/Linux体系的产业化道路的本质,并不是是什么自由哲学,而是市场竞争的驱动,创办了"Open Source Intiative"(开放源代码促进会)"复兴"的大旗,在互联网世界里展开了一场历史性的Linux产业化运动。
2001年1月,Linux 2.4发布,它进一步地提高了SMP系统的扩展性,同时它也集成了不少用于支持桌面系统的特性:USB,PC卡(PCMCIA)的支持,内置的即插即用,等等功能。
2003年12月,Linux 2.6版内核发布,相对于2.4版内核2.6在对系统的支持都有很大的变化。
2004年的第1月,SuSE嫁到了Novell,SCO继续顶着骂名四处强行“化缘”, Asianux, MandrakeSoft也在五年中首次宣布季度赢利。3月,SGI宣布成功实现了Linux操做系统支持256个Itanium 2处理器
inux哲学思想
一切都是一个文件(包括硬件)
小型,单一用途的程序
连接程序,共同完成复杂的任务
避免使人困惑的用户界面
配置数据存储在文本中
Linux的特色
Linux支持多用户,各个用户对于本身的文件设备有本身特殊的权利,保证了各用户之间互不影响。多任务则是如今电脑最主要的一个特色,Linux可使多个程序同时并独立地运行。
Linux能够运行在多种硬件平台上,如具备x8六、680×0、SPARC、Alpha等处理器的平台。此外Linux仍是一种嵌入式操做系统,能够运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经可以彻底支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工做,使系统性能大大提升。
Linux的发行版本
slackware:SUSE Linux Enterprise Server (SLES)
opensuse桌面
debian:ubuntu,mint
redhat:rhel: redhatenterprise linux
每18个月发行一个新版本
CentOS:兼容rhel的格式
中标麒麟:中标软件
Fedora:每6个月发行一个新版本
ArchLinux:轻量简洁
Gentoo:极致性能,不提供传统意义的安装程序
LFS: Linux From scratch 自制Linux
Android: kernel+busybox(工具集)+java虚拟机
固然若是想要看到跟详细的Linux发展版本及发展分支点击下面的连接就好啦
http://futurist.se/gldt/
文件类型
普通文件(regular file):就是通常存取的文件,由ls -al显示出来的属性中,第一个属性为 [-],例如 [-rwxrwxrwx]。另外,依照文件的内容,又大体能够分为:
一、纯文本文件(ASCII):这是Unix系统中最多的一种文件类型,之因此称为纯文本文件,是由于内容能够直接读到的数据,例如数字、字母等等。设 置文件几乎都属于这种文件类型。举例来讲,使用命令“cat ~/.bashrc”就能够看到该文件的内容(cat是将文件内容读出来)。
二、二进制文件(binary):系统其实仅认识且能够执行二进制文件(binary file)。Linux中的可执行文件(脚本,文本方式的批处理文件不算)就是这种格式的。举例来讲,命令cat就是一个二进制文件。
三、数据格式的文件(data):有些程序在运行过程当中,会读取某些特定格式的文件,那些特定格式的文件能够称为数据文件(data file)。举例来讲,Linux在用户登入时,都会将登陆数据记录在 /var/log/wtmp文件内,该文件是一个数据文件,它能经过last命令读出来。但使用cat时,会读出乱码。由于它是属于一种特殊格式的文件。
目录文件(directory):就是目录,第一个属性为 [d],例如 [drwxrwxrwx]。
链接文件(link):相似Windows下面的快捷方式。第一个属性为 [l],例如 [lrwxrwxrwx]。
设备与设备文件(device):与系统外设及存储等相关的一些文件,一般都集中在 /dev目录。一般又分为两种:
块设备文件:就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。第一个属性为 [b]。
字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c]。
套接字(sockets):这类文件一般用在网络数据链接。能够启动一个程序来监听客户端的要求,客户端就能够经过套接字来进行数据通讯。第一个属性为 [s],最常在 /var/run目录中看到这种文件类型。
管道(FIFO,pipe):FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所形成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p]。
文件结构
/:根目录,全部的目录、文件、设备都在/之下,/就是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数据库的的存放地。