目录
1.什么是操作系统
2.现实生活中的操作系统
3.操作系统的发展史
4.操作系统的发展
Linux的不同版本以及应用领域
1.Linux内核及发行版介绍
<1>Linux内核版本
<2>Linux发行版本
2.应用领域
个⼈桌⾯领域的应⽤
服务器领域
嵌⼊式领域
3.文件和目录
windows和Linux文件系统区别
类Unix系统⽬录结构
Linux ⽬录
用户目录
相对路径和绝对路径
绝对路径
相对路径
.和..
1.什么是操作系统
2.现实生活中的操作系统
win7
Mac
Android
iOS
3.操作系统的发展史
Unix
1965
年之前的时候,电脑并不像现在⼀样普遍,它可不是⼀般⼈能碰的起的,除⾮是军事
或者学院的研究机构,⽽且当时⼤型主机⾄多能提供
30
台终端(
30
个键盘、显示器
)
,连
接⼀台电脑
为了解决数量不够⽤的问题
1965
年左后由⻉尔实验室、麻省理⼯学院 以及 通⽤电⽓共同发起了
Multics
项⽬,想让⼤
型主机⽀持
300
台终端
1969
年前后这个项⽬进度缓慢,资⾦短缺,⻉尔实验室退出了研究
1969
年从这个项⽬中退出的
Ken Thompson
当时在实验室⽆聊时,为了让⼀台空闲的电脑
上能够运⾏
“
星际旅⾏
”
游⾏,在
8
⽉份左右趁着其妻⼦探亲的时间,⽤了
1
个⽉的时间 编写
出了
Unix
操作系统的原型
1970
年,美国⻉尔实验室的
Ken Thompson
,以
BCPL
语⾔ 为基础,设计出很简单且很
接近硬件的
B
语⾔(取
BCPL
的⾸字⺟),并且他⽤
B
语⾔写了第⼀个
UNIX
操作系统。
因为
B
语⾔的跨平台性较差,为了能够在其他的电脑上也能够运⾏这个⾮常棒的
Unix
操作
系统,
Dennis Ritchie
和
Ken Thompson
从
B
语⾔的基础上准备研究⼀个更好的语⾔
肯
·
汤普逊(左)和丹尼斯
·
⾥奇(右)
1972
年,美国⻉尔实验室的
Dennis Ritchie
在
B
语⾔的基础上最终设计出了⼀种新的语
⾔,他取了
BCPL
的第⼆个字⺟作为这种语⾔的名字,这就是
C
语⾔
1973
年初,
C
语⾔的主体完成。
Thompson
和
Ritchie
迫不及待地开始⽤它完全重写了现在
⼤名鼎鼎的
Unix
操作系统
Minix
因为
AT&T(
通⽤电⽓
)
的政策改变,在
Version 7 Unix
推出之后,发布新的使⽤条款,将
UNIX
源代码私有化,在⼤学中不再能使⽤
UNIX
源代码。
Andrew S. Tanenbaum(
塔能鲍
姆
)
教授为了能在课堂上教授学⽣操作系统运作的实务细节,决定在不使⽤任何
AT&T
的源
代码前提下,⾃⾏开发与
UNIX
兼容的操作系统,以避免版权上的争议。他以⼩型
UNIX
(
mini-UNIX
)之意,将它称为
MINIX
。
Linux
因为
Minix
只是教学使⽤,因此功能并不强,因此
Torvalds
利⽤
GNU
的
bash
当做开发环
境,
gcc
当做编译⼯具,编写了
Linux
内核
-v0.02
,但是⼀开始
Linux
并不能兼容
Unix
,即
Unix
上跑的应⽤程序不能在
Linux
上跑,即应⽤程序与内核之间的接⼝不⼀致,因为
Unix
是遵循
POSIX
规范的,因此
Torvalds
修改了
Linux
,并遵循
POSIX
(
Portable Operating
System Interface
,他规范了应⽤程序与内核的接⼝规范); ⼀开始
Linux
只适⽤于
386
,
后来经过全世界的⽹友的帮助,最终能够兼容多种硬件;
4.操作系统的发展
Linux的不同版本以及应用领域
1.Linux内核及发行版介绍
<1>Linux内核版本
内核
(kernel)
是系统的⼼脏,是运⾏程序和管理像磁盘和打印机等硬件设备的核⼼程序,
它提供了⼀个在裸设备与应⽤程序间的抽象层。
Linux
内核版本⼜分为稳定版和开发版,两种版本是相互关联,相互循环:
- 稳定版:具有⼯业级强度,可以⼴泛地应⽤和部署。新的稳定版相对于较旧的只是修正⼀些bug或加⼊⼀些新的驱动程序。
- 开发版:由于要试验各种解决⽅案,所以变化很快。
内核源码⽹址:
http://www.kernel.org
所有来⾃全世界的对
Linux
源码的修改最终都会汇总
到这个⽹站,由
Linus
领导的开源社区对其进⾏甄别和修改最终决定是否进⼊到
Linux
主线
内核源码中。
<2>Linux发行版本
Linux
发⾏版
(
也被叫做
GNU/Linux
发⾏版
)
通常包含了包括桌⾯环境、办公套件、媒体播
放器、数据库等应⽤软件。
排名 | 2016 | 2015 |
1 |
Linux Mint
| Linux Mint |
2 |
Debian
|
Debian
|
3 | Ubuntu | Ubuntu |
4 | openSUSE | openSUSE |
5 | redhat | Fedora |
6 | Fedora | Manjaro |
7 | Manjaro | Mageia |
8 | Mageia | CentOS |
9 | CentOS | Arch |
10 | Arch | Elementary |
Fedora
Redhat
Ubuntu
2.应用领域
个⼈桌⾯领域的应⽤
此领域是传统
linux
应⽤最薄弱的环节,传统
linux
由于界⾯简单、操作复杂、应⽤软件少的
缺点,⼀直被
windows
所压制,但近些年来随着
ubuntu
、
fedora
等优秀桌⾯环境的兴起,
同时各⼤硬件⼚商对其⽀持的加⼤,
linux
在个⼈桌⾯领域的占有率在逐渐的提⾼
典型代表:
ubuntu
、
fedora
、
suse linux
在
Ubuntu中玩QQ
服务器领域
linux
在服务器领域的应⽤是其重要分⽀
linux
免费、稳定、⾼效等特点在这⾥得到了很好的体现,但早期因为维护、运⾏等原因同
样受到了很⼤的限制,但近些年来
linux
服务器市场得到了⻜速的提升,尤其在⼀些⾼端领
域尤为⼴泛
典型代表:
- Red Hat公司的AS系列
- 完全开源的debian系列
- suse EnterPrise 11系列等
嵌⼊式领域
近些年来
linux
在嵌⼊式领域的应⽤得到了⻜速的提⾼
linux
运⾏稳定、对⽹络的良好⽀持性、低成本,且可以根据需要进⾏软件裁剪,内核最⼩
可以达到⼏百
KB
等特点,使其近些年来在嵌⼊式领域的应⽤得到⾮常⼤的提⾼
主要应⽤:机顶盒、数字电视、⽹络电话、程控交换机、⼿机、
PDA
、等都是其应⽤领
域,得到了摩托罗拉、三星、
NEC
、
Google
等公司的⼤⼒推⼴
3.文件和目录
windows和Linux文件系统区别
在 windows 平台下,打开“计算机”,我们看到的是⼀个个的驱动器盘符:
每个驱动器都有⾃⼰的根⽬录结构,这样形成了多个树并列的情形,如图所示:
在 Linux 下,我们是看不到这些驱动器盘符,我们看到的是⽂件夹(⽬录)
类Unix系统⽬录结构
ubuntu
没有盘符这个概念,只有⼀个根⽬录
/
,所有⽂件都在它下⾯
Linux ⽬录
- /:根⽬录,⼀般根⽬录下只存放⽬录,在Linux下有且只有⼀个根⽬录。所有的东⻄都是从这⾥开始。当你在终端⾥输⼊“/home”,你其实是在告诉电脑,先从/(根⽬录)开始,再进⼊到home⽬录。
- /bin、/usr/bin: 可执⾏⼆进制⽂件的⽬录,如常⽤的命令ls、tar、mv、cat等。
- /boot:放置linux系统启动时⽤到的⼀些⽂件,如Linux的内核⽂件:/boot/vmlinuz,系统引导管理器:/boot/grub。
- /dev:存放linux系统下的设备⽂件,访问该⽬录下某个⽂件,相当于访问某个设备,常⽤的是挂载光驱 mount /dev/cdrom /mnt。
- /etc:系统配置⽂件存放的⽬录,不建议在此⽬录下存放可执⾏⽂件,重要的配置⽂件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d。
- /home:系统默认的⽤户家⽬录,新增⽤户账号时,⽤户的家⽬录都存放在此⽬录下,~表示当前⽤户的家⽬录,~edu 表示⽤户 edu 的家⽬录。
- /lib、/usr/lib、/usr/local/lib:系统使⽤的函数库的⽬录,程序在执⾏过程中,需要调⽤⼀些额外的参数时需要函数库的协助。
- /lost+fount:系统异常产⽣错误时,会将⼀些遗失的⽚段放置于此⽬录下。
- /mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不⼀定,可以选择任意位置进⾏挂载。
- /opt:给主机额外安装软件所摆放的⽬录。
- /proc:此⽬录的数据都在内存中,如系统核⼼,外部设备,⽹络状态,由于数据都存放于内存中,所以不占⽤磁盘空间,⽐较重要的⽬录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。
- /root:系统管理员root的家⽬录。
- /sbin、/usr/sbin、/usr/local/sbin:放置系统管理员使⽤的可执⾏命令,如fdisk、shutdown、mount 等。与 /bin 不同的是,这⼏个⽬录是给系统管理员 root使⽤的命令,⼀般⽤户只能"查看"⽽不能设置和使⽤。
- /tmp:⼀般⽤户或正在执⾏的程序临时存放⽂件的⽬录,任何⼈都可以访问,重要数据不可放置在此⽬录下。
- /srv:服务启动之后需要访问的数据⽬录,如 www 服务需要访问的⽹⻚数据存放在/srv/www 内。
- /usr:应⽤程序存放⽬录,/usr/bin 存放应⽤程序,/usr/share 存放共享数据,/usr/lib存放不能直接运⾏的,却是许多程序运⾏所必需的⼀些函数库⽂件。/usr/local: 存放软件升级包。/usr/share/doc: 系统说明⽂件存放⽬录。/usr/share/man: 程序说明⽂件存放⽬录。
- /var:放置系统执⾏过程中经常变化的⽂件,如随时更改的⽇志⽂件
- /var/log,/var/log/message:所有的登录⽂件存放⽬录,/var/spool/mail:邮件存放的⽬录,/var/run:程序或服务启动后,其PID存放在该⽬录下。
用户目录
位于
/home/user
,称之为⽤户⼯作⽬录或家⽬录
,
表示⽅式:
/home/user~
相对路径和绝对路径
绝对路径
从
/
⽬录开始描述的路径为绝对路径,如:
cd /homels /usr
相对路径
从当前位置开始描述的路径为相对路径,如:
cd ../../ls abc/def
.和..
每个⽬录下都有
.
和
..
.
表示当前⽬录
..
表示上⼀级⽬录,即⽗⽬录
根⽬录下的
.
和
..
都表示当前⽬录