
关于Linux kernal development
发布日期:2021-05-06 23:00:20
浏览次数:49
分类:精选文章
本文共 2162 字,大约阅读时间需要 7 分钟。
本章主要介绍linux kernel和linux操作系统,以及他们与unix的联系。当今时代,unix依然是一个家用桌面操作系统,他本着简单的API(application programming interface)的原则,和本着开放的分享的构建思路。但是unix却也是一个特殊的操作系统,他的第一个版本是在40多年前构建出来的。为了理解linux,我们必须首先了解(第一个)unix操作系统
Unix 的历史
自从unix在1969年被开发之后,四十多年过去,但是计算机科学家依然持续的关注着这个最古老最强大的操作系统—unix。unix作为Dennis Ritchie 和 Ken Thompson的思维产物,他变成了一种传奇般的生物,他经过了时间考验,而名字却未受伤害。Unix的前身Multics,Multics是贝尔实验室的一个失败的多用户操作系统项目。随着Multics项目被关闭,贝尔实验室计算机科学研究中成员心发现自己没有一个可用的交互式的操作系统。
1969年夏天,贝尔实验室的程序员勾勒出一个文件系统的设计,最终演变成了Unix,测试其设计,汤普森在一个空闲的PDP-7上实现了新操作系统。1971、UNIX移植到PDP-11,在1973整个系统被c语言所重写。正是这个不太引人注目的举动,为以后的可移植性铺平了道路。第一个广泛在贝尔实验室外使用的unix版本是第六版,因此大部分成为V6。 其他很多公司将unix系统移植到新的机器上,随着这些移植的发生,很多公司增加自己的功能,因此产生了几个不同unix操作系统版本。1977年贝尔实验室推出了Unix System II,他是综合了之前的不同操作系统。在1982年贝尔实验室发布了 System V.1 由于Unix的简洁的设计原则,加上他发布源代码。很多其它的组织都对他进行了二次开发。其中影响最大的一个组织是University of California at Berkeley,他们发布的版本名称叫做Berkeley Software Distributions(BSD)。Berkeley的第一根版本是在1977年发布的,他是集成了补丁和附加的插件的变种Unix.BSD 2 是在1978年发布的,他持续保持了这一特性,他添加了C Shell 命令行输入软件和编辑器VI等办公软件,他们一直使用到现在。最早独立的Unix操作系统是BSD 3 ,他是在1979年发布的。他加入了虚拟存储,和一系列吸引人呢的特性。之后又发布了一系列BSD操作系统,包括BDS4.0、BSD4.1、BSD4.2、BSD4.3。他们陆续添加了任务控制机制、任务页机制和TCP/IP。在1994年Berkeley university发布了他的最终官方版本—BSD4.4重写了虚拟内存(VM)。直到今天我们应该感谢BSD的开发许可,并且他们继续开发着Darwin, FreeBSD, NetBSD和 OpenBSD 操作系统. 在上世纪八十年代和九十年代,很多多任务工作站和服务器厂商推出了自己的商业Uuix版本。这些版本基本是上都是基于贝尔实验室或者Berleley发布的软件,他们在他们特定的体系结构的进行的特定的特性。在他们当中有Digital’s Tru64, Hewlett Packard’s HP-UX, IBM’sAIX, Sequent’s DYNIX/ptx, SGI’s IRIX, and Sun’s Solaris & SunOS. 由于最初Unix优雅的设计,这么多年的发展和特性的增强。形成了一个功能强大的稳定的操作系统。几个特点强大的特点事Unix操作系统的内核具有强大的功能。第一:简单的设计。不像其他操作系统有成千上万个系统调用和不明确的设计目标。Unix操作系统仅仅有几百个系统调用和一个目标明确直接的设计。第二,任何东西都看做文件,他通过像Open()、Read()、Write()、Lseek()、和Close()等系统函数调用,简化了我们对数据和设的读取和操作。第三:Unix的内核和系统相关的应用都是用C语言来写的,这一特性给Unix提供了一种惊人的移植到不同设备的能力,同时也让很多开发人员可以得到。第四:Unix拥有很快的进程创建方法和独特的fork()系统调用。最后。Unix提供了一种稳定的进程间通讯机制(IPC)元语(不知道如何翻译),这种快速的进程创机制。可以提供创简单的编程通过一个事情一个线程只干一个事情,并且一个一个干的方法,这些单个任务可以放在一起来完成复杂的问题。Unix系统因此形成了清晰的系统分层结构。通过明确的分块协议。 今天Unix是一个先进的多任务操作系统,他支持多线程。虚拟内存,换页、动态链接和TCP/IP网络协议。Unix运行在从几百颗集成CPU的设备到一颗嵌入式设备。尽管Unix已经不是一个研究项目,Unix操作系统仍然伴随着操作系统的进步而成长。产生了一个实用的广泛的操作系统。 Unix的成功归功于他的简洁的优雅的设计。他有今天的成功归功于Dennis Ritchie, Ken Thompson和其他的早期的设计人员的决策,这些不妥协的决策是与Unix的成长是分不开的。发表评论
最新留言
不错!
[***.144.177.141]2025年04月16日 15时35分22秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Python 面向对象进阶
2021-05-09
Linux常用统计命令之wc
2021-05-09
Git安装及使用以及连接GitHub方法详解
2021-05-09
docker容器与虚拟机的区别
2021-05-09
shell脚本里使用echo输出颜色
2021-05-09
Python2跟Python3的区别
2021-05-09
并发编程——IO模型详解
2021-05-09
Java之封装,继承,多态
2021-05-09
wait()与notify()
2021-05-09
使用js打印时去除页眉页脚
2021-05-09
Spring security OAuth2.0认证授权学习第二天(基础概念-RBAC)
2021-05-09
ORA-00904: "FILED_TYPE": 标识符无效
2021-05-09
数据仓库系列之维度建模
2021-05-09
Scala教程之:函数式的Scala
2021-05-09
java中DelayQueue的使用
2021-05-09
线程stop和Interrupt
2021-05-09
Android中定时执行任务的3种实现方法
2021-05-09
nodejs中npm常用命令
2021-05-09
基于Vue2.0+Vue-router构建一个简单的单页应用
2021-05-09