Linux复习

第一章

诞生

时间:1969年
地点:AT&T 贝尔实验室
人物:
Ken Thompson
Dennis Ritchie
使用语言:
最早为汇编语言
1971–1972 C语言诞生
1973 Thompson和Ritchie重写unix使用c语言

UNIX以源代码形式发行
形成了两个重要流派
①UNIX SYSTEM V (AT&T)
②Berkeley UNIX (UCB)

■20世纪80年代UNIX版本的剧增
各版本之间差别的扩 大
■标准化
对每种实现必须定义的各种限制进行说明
■两个重要的UNIX标准
①系统V接口定义
■SVID(System V Interface Definition)
②可移植操作系统接口
POSIX(Portable Operating System Interface)

目前应用最为广泛的类UNIX系统
■了 解Linux掌握2个人5个1
■2个人
Richard Stallman
Linus Torvalds
■4个1
1个项目 GNU
1个组织 FSF
1个理念 Copyleft
1个许可证GPL

■两个人(2-1)
Richard Stallman
MIT AI
■再开发个UNIX!
启动GNU项目
创建FSF组织
提出Copyleft理念
制定GPL协议
发起开源运动

一 个项目 -GNU

GNU (GNU’ S NOT UNIX)
1983年9月27日公开发起
■目标
创建一个自由共享、 可以被任何人修改的、类Unix操作系统
与UNIX系统兼容
不受UNIX名字和源代码私有权限制
能运行UNIX程序

一个组织-FSF

自由软件基金会
(Free Software Foundation,FSF)
1985
■目标
执行GNU计划
提供技术、法律以及财政支持
开发更多的自由软件

■GNU项目完成 了许多UNIX系统上应用程序的仿制品
■GNU项目开发的重要软件工具
GCC: GNU编译器套件(包括GNU C编译器)
G++: C+ +编译器,是GCC的一部分
GDB: 源代码级的调试器,支持多种语言
GNU make: UNIX make命令的免费版本
bash: 命令解释器(shell)
GNU Emacs:文本编辑器及环境
■GNU项目成果
许多Unix也安装了GNU软件,GNU软件质量优于之前的Unix软件
GNU软件工具被广 泛移植到Windows和Mac OS
但未开发成功操作系统内核

一个协议-GPL

发行大型软件需要合适的许可证协议
■已有的许可证协议
■Copyright©
版权所有,即软件的一切权利归软件作者私有
用户只有使用权,没有其它权利,包括没有复制软件的权利
■一 个协议-GPL
Richard Stallman提出Copyleft概念
■Copyleft(著左权)
利用现有著作权体制来保护所有用户和二次开发者的自由的授权方式
1.授予使用者运行程序、复制程序、修改程序和发行修改后的程序的权限
2.但使用者不能在修改后的软件上添加限制
使用者修改后的衍生软件,必须以同等授权方式发布,以回馈社会

■一个协议-GPL
基于Copyleft, Stallman提出GPL
■GPL(GNU General Public License )
■GNU通用公共许可证
1.在GPL下发行的软件,允许任何人运行该软件、查看源代码、修改软件并发行修改后的软件
2.重新发行软件的人不能剥夺软件的使用自由和添加自己的限制
■GNU开发的工具都在GPL下发行

■一个协议-GPL
■GPL协议的意义
GPL确保任何使用自 由软件创建的新产品,必须在GPL协议下发行
以自由软件为基础, 修改后重新发行,也必须公开源代码
■开源运动意义深远

其他开源许可证
Apache、BSD、MIT、Mozilla等

两个人(2-2)

■Linus Torvalds
搞定kernel!
赫尔辛基大学计算机二年级学生
希望开发一个自由(开放源代码)的Unix
1991年发布第一 版内核
该内核在GPL协议 下发布
参与开源运动, Linux内核更新速度极快
吉祥物tux
吉祥物
■Linux = GNU Tools + linus kernel
■也称GNU/Linux
■共同的基石-GPL
■Linux的两种含 义
1.操作系统内核
2.基于linux内核的操作系统
(1)内核
(2)实用工具
(3)编程工具
(4) GUI

Linux的版本包括内核版本和发行版本

1.内核版本
由Linux内核社区统一 进行发布
■包括主版本号、 次版本号
奇数表示开发版本
偶数表示稳定版本
修订次数表明内核被修改
在这里插入图片描述
2.发行版本
■Linux发行版的名称/版本号 是由发行版的维护者决定
RHEL 5.5、 6.5、 7.2由Red Hat公司发布
SuSE Linux 10.1、11、 12由德国SuSE Linux AG公司发布

狭义与广义Unix

■狭义Unix
UNIX
软件商标
AT&T-> Novell -> X/open -> The Open Group
■广义Unix
Unix
一直非正式使用
任何类UNIX (UNIX like)的操作系统(包括linux)

Unix操作系统概要

UNIX操作系统是包含了文本编辑器、编译器和其他系统工具程序的程序集
UNIX操作系统按分层软件模型实现
内核:
●基本操作系统
●负责管理所有与硬件相关的功能,分模块实现
●用户不能直接访问内核
常驻模块
●提供执行用户请求服务的例程
●输入/输出控制服务
●文件/磁盘访问服务
●进程创建和终止服务
shell:
●工具层: UNIX 用户接口,通常称为shell
●shell和其他命令和工具都是独立程序;不属于内核
●向用户和应用程序提供各种类型服务
●自身是一个应用程序,用户登录时载入内存
●显示命令提示符,准备好接收命令
●命令处理方式:检测命令,启动相应UNIX程序
用户:
●通过shel与系统通信
在这里插入图片描述
■虚拟计算机
UNIX向系统中每 个用户指定一个执行环境,这个环境称为虚拟计算机
包括一个用户接口终端和共享的其他计算机资源
UNIX是多 用户操作系统,虚拟计算机集合
用户视角,独享计算机
■进程
UNIX系统通过进程向用户程序分配资源

UNIX有 操作系统的共性,也有特性

■可移植性
C语言保证了UNIX的可移植性,从微机到巨型机都可以使用
■多用户性
多用户同时共同使用计算机
各个用户执行不同程序
提供安全机制,隔离用户

■多任务性
启动一个任务后,继续执行其他任务
允许用户在前台和后台多个任务间进行切换
■分级文件系统
对数据和程序文件进行分组管理
便于查找文件和程序

与设备独立的输入输出操作

■设备文件
将所有设备(打印机、终端、磁盘)都视为文件
所有输入输出操作与设备独立(像读写文件一样操作设备)
命令输出可以重定向到任何设备或文(command > file)
重定向可以用于数据输入
可将从终端输入重定向为从文件输入(command < file)

用户界面shell

■命令解释器
控制用户与系统的交互
实现用户命令输入与结果输出
■shell脚本
UNIX Shell是一种成熟的编程语言
shell脚本: 包含一系列命令,实现较为复杂的功能

系统工具与系统服务

■系统工具
UNIX系统包括100多个系统I具程序(也称为命令)
标准UNIX系统组成部分,完成用户所需各种功能
■包括
文本编辑格式化工具
文件操作系统工具
电子邮件系统工具
程序员系统工具
■系统服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值