当前位置:首页 > 代码 > 正文

unix源代码(unix 编程)

admin 发布:2022-12-19 11:20 147


今天给各位分享unix源代码的知识,其中也会对unix 编程进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

Unix操作系统是怎样产生的

从总体来看,Unix的发展可以分为三个阶段:

第一阶段为Unix的初始发展阶段,从1969年KeThompson在ATT贝尔实验室创造了Unix操作系统,刚开始运行在一台DECPDP-7计算机上,只在实验室内部使用并完善它,这个阶段Unix从版本1发展到了版本6。值得注意,此时的Unix是用汇编语言写成的,以至在1970将Unix移植到PDP-11/20上的时候花费了大量工作。在这个阶段里最重要的事件可以算Unix的作者使用C语言对Unix的源代码重新改写,使Unix非常具有可移植性。

Unix是用c写成的,c本身又是为了写Unix而诞生的。大家还记得在不区分大小写的DOS用C开始写程序时候的不适么?年幼的天缘当时也很不明白为什么c需要区分大小写,后来接触多了,才知道c原本就是unix下的,而unix是区分大小写的。由于此时ATT还没有把Unix作为它的正式商品,因此研究人员只是在实验室内部使用并完善它。

正是由于Unix是被作为研究项目,其他科研机构和大学的计算机研究人员也希望能得到这个系统,以便进行自己的研究。ATT以分发许可证的方法,对Unix仅仅收取很少的费用,大学和研究机构就能获得Unix的源代码以进行研究。Unix的源代码被散发到各个大学,一方面使得科研人员能够根据需要改进系统,或者将其移植到其他的硬件环境中去,另一方面培养了懂得Unix使用和编程的大量的学生,这使得Unix的普及更为广泛。

第二阶段为80年代,这是Unix的丰富发展时期,在Unix发展到了版本6之后,一方面ATT继续发展内部使用的Unix版本7 ,同时也发展了一个对外发行的版本,但改用System加罗马字母作版本号来称呼它。System III和System V都是相当重要的Unix版本。此外,其他厂商,以及科研机构都纷纷改进Unix,其中以加州大学伯克利分校的BSD版本最为著名,从4.2BSD中也派生出了多种商业Unix版本比如Solaris、HP-UX、IRIX 、AIX、SCO等等。

Sun是最早的工作站厂商,但一直在Unix工作站领域不断发展。其操作系统 SunOS是基于4.2BSD开发的,直到SunOS 4。但是在此之后,Sun将操作系统的开发工作转向了System V,这个新版本为Solaris 2,或者称为SunOS 5,因此也可以将SunOS 4称为Solaris 1.0,但是SunOS 4与Solaris 2分属两个流派,其中的差别就比较大了。值得一提的是Sun的版本号比较有趣,从Solaris 2.6之后,Solaris 2.7的版本号直接变成了Solaris 7.0,可说是常见的商业炒作手法之一了。Sun的Solaris主要针对他的处理器Sparc来开发,但是他们也开发了用于Intel平台上的系统Solaris X86。与运行在工作站上的Solaris相比,Solaris X86性能较差。近期来由于Linux给于的压力,Sun加大了对x86的投入力度,目前Solaris for x86的10版本已可以在网络上找到。

IRIX是SGI公司的Unix,这也是一种基于Unix System V的产品。SGI的Unix图形工作站是图形图象处理领域内的顶级产品,这一方面是由于SGI的硬件性能相当优秀,另一方面在软件方面,SGI开发了工作站下的图形图象处理软件,成为这个领域的领先者。事实上天缘曾经有缘使用过SGI的机器,在一张静态图片上用鼠标点击,即时毫不停顿地产生多个相互交互作用的水波纹,波纹之清晰、交互之自然、速度之流畅,给我留下了相当深刻的印象。SGI在图形图象领域的领先地位掩盖了他作为一家Unix厂商在操作系统领域内的努力,事实上在他们还生产超级计算机,在多处理器和并行计算等大负荷计算方面都有独到的研究。如果大家有够细心,可以看到在关于linux发展的文章中有提到SGI组建了一个基于Linux使用256个CPU的超级服务器。IRIX在SGI出色硬件的合作下,性能相当卓越。

SCO Unix是在国内比较有名气的操作系统,因为他是当时能运行在Intel的平台之一,并且较早进入中国市场。它的历史可以追溯到MicroSoft开发的Xienx,Xienx是运行在Intel平台上的一种基于Unix V 6的系统,后来Xienx开发部门独立出来成立了SCO公司,并基于ATT System VR3.2开发了SCO Unix,其最新的版本为增强了图形接口的SCO OpenServer 5.0.4。此时ATT已经将它们负责Unix的部门USL(Unix系统实验室),卖给了Novell公司,它们的Unix被更名为UnixWare ,但是Novell正逢经营问题,不得不将UnixWare再次卖给SCO。SCO之所以能占有市场,并不是其产品特别出色,而是因为在小型机特别昂贵的年代,对一些追求稳定的行业来说,使用SCO能在x86上运行,可以节约大量成本。因此早期的银行、金融行业的终端大多是使用SCO的。而最近SCO的名声越来越坏,只因被更加优秀且同样能运行于x86的Linux抢走大量份额,大家知道知道吃不饱的狗是会乱咬人的。不过可惜最后授权没强行推销出去几份,反而得了个$CO之名。而Novell在购买UnixWare之后的一个重要举动是将Unix商标赠送给一个非盈利的Unix组织X/Open,结束了USL与BSD以及其他厂商的纷争。

其他的如IBM的UNIX,是根据SVR2(最近已经出到SVR3.2)以及一部分BSD延伸而来。HP-UX则是HP公司从S III(SVRx)发展面来,现在是由SVR2(4.2BSD)发展而来。

在这个时期中,Internet开始进行研究,而BSD Unix最先实现了TCP/IP,使Internet和Unix紧密结合在一起。伯克利大学为Internet打下了基石,同样的还有这所大学所出的DB和DNS 解析服务器,再怎么盛赞这所大学为Internet的贡献也不为过。

第三阶段是Unix的完善阶段,从90年代开始到现在。当ATT推出System V Release 4(第五版本的第四次正式发布产品)之后,它和伯克利的4.3BSD已经形成了当前Unix的两大流派。此时,ATT认识到了Unix价值,因此他起诉包括伯克利在内的很多厂商,伯克利不得不推出不包含任何ATT源代码的4.4BSD Lite,这次司法起诉也使很多Unix厂商从BSD转向了System V流派。而FreeBSD的发展速度之所以会落于后起之秀Linux上,这也是一个重要原因。这时候Linux出现了,它是一个完全免费的与Unix兼容的操作系统,可运行在多种平台上。

虽然Unix已经非常开放,但在80年代其内核代码也不是随意就可以得到的。最容易得到的代码是Minix,用于教学目的而编写的一个系统,这远不是一个成熟的系统。于是芬兰的Linus决定自己编写一个独立的操作系统,在Internet上发布了一个通告。这个成为Linux的系统在Internet上的众多爱好者的帮助下迅速开发出来,并取得了巨大的成功。Linux和其他Unix的源码完全无关,严格来讲只能算仿制品。但Linux的开发者来自整个Internet,具有各种Unix系统的背景,因此Linux也集中了各种Unix的优点,从性能上与商业产品毫不逊色。所以从广义上来说,天缘把Linux划分到了Unix派系。

《Unix内核源码剖析》epub下载在线阅读,求百度网盘云资源

《Unix内核源码剖析》(青柳隆宏)电子书网盘下载免费在线阅读

资源链接:

链接:

提取码:z5ss  

书名:Unix内核源码剖析

作者:青柳隆宏

译者:殷中翔

豆瓣评分:8.3

出版社:人民邮电出版社

出版年份:2014-3-1

页数:342

内容简介:

为什么要阅读内核源代码

● 对计算机系统的全貌有更深入的了解

● 对学到的算法和思路举一反三

● 加深对操作系统的理解

● 提升自身的技术水平

为什么选择UNIX V6?

● 代码行数约为1 万行

● 有充实的资料可参考

● 网罗了操作系统的基本功能

● 简化的设计

● 便于读者对系统有完整的了解

● 有模拟器可供参考

本书是一本Unix内核源代码的阅读指南。作者结合UNIX V6已公开的相关文档,对其内核源码进行详细剖析,旨在让读者更深入地理解进程、中断、块I/O系统、文件系统、字符I/O系统、启动系统等操作系统的基本原理。

本书适合操作系统的初中级学习者阅读,特别适合通过大学课程和其他入门书对操作系统有所了解,但是对具体细节缺乏深入理解的读者,以及那些对操作系统的具体实现有兴趣的读者。

作者简介:

作者简介:

青柳隆宏

日本资深程序员,现在硅谷从事计算机处理芯片的设计工作。曾设计了超级计算机“京”的L1缓存,该计算机在2011年排名世界Top 500超级计算机的第1位,也是人类历史上第一台计算能力跨越1亿亿次每秒的计算系统。作者Email:v6@gachapin.jp。

译者简介:

殷中翔

日本国立九州大学系统信息专业硕士学位。具有十余年软件开发经验,现主要从事企业Web系统服务器端的开发及维护工作。

黄炎

同济大学本科毕业,现供职于上海爱可生,从事数据库高可用软件开发。大学有幸师从陈闳中教授,一窥UNIX V6代码的门径。

周金杰

同济大学硕士,法国国立高等电信学院(TELECOM PARIS)硕士。曾通读并研究UNIX V6源代码,同时参与了面向对象操作系统的移植以及操作系统调试器的开发工作,熟悉系统底层相关的技术知识。崇尚设计,享受编程给生活带来的乐趣。

unix 系统是不是开放源代码的?

是的。

关于开放源代码的定义(1.7版)

开放源代码并不仅仅意味着对源代码的访问权。开放源代码软件的发布条款必须满足以下条件:

1.自由地再发布

如果被发布的软件是由不同来源的程序组成的,许可证不得限制任何当事人或组织(party)销售或赠送作为被发布软件成分之一的开放源码软件。

许可证不得从此项销售中索取使用费或其它任何费用。(理由)

2.源代码程序必须包括源代码,必须允许以源代码方式发布、还必须允许以编译后的形式发布。如果产品的某个部分没有与源代码一同发布,那么必须提供通行的、不需要支付合理范围之外的任何费用的手段以获得源代码---从网络上免费下载是一种可取的方式。源代码必须是程序员对其进行修改的最佳形式。故意地使源代码变得含混晦涩是不允许的。也不允许给出预处理器或翻译器处理的中间结果。(理由)

3.派生作品

许可证必须允许修改软件和派生软件,并且必须允许它们按照原软件的许可证的条款进行发布。(理由)

4.作者的源代码的完整性只有在许可证允许与源代码一同发布"补丁文件"(该"补丁文件"以在创建时对程序进行修改为目的)时,许可证才能限制对修改形式的源代码的发布。许可证必须明确地允许发布由修改后的源代码生成的程序。许可证可以要求派生的作品采用不同的名称或不同的版本号以区别于原来的软件。(理由)

5.不得歧视任何个人或团体

许可证不得歧视任何个人或者由多人组成的团体。(理由)

6.不得歧视任何应用领域(fieldsofendeavor)许可证不得限制任何人把程序应用于任何领域。例如,不得规定程序不能应用于商业领域或基因研究领域。(理由)

7.许可证的发布与程序有关的权利必须适用于该程序的任何使用者,并且程序的使用者也不需要为了使用该程序而获得其它许可证的许可。(理由)

8.许可证不能针对于一个产品与程序有关的权利不能由该程序是否作为某个软件产品的一部分来决定。

如果程序从那个发布中被抽出来,并且按照程序的许可证的条款进行使用和发布,那么得到该程序的当事人或组织将获得与得到原程序的使用者相同的权利。(理由)

9.许可证不能影响其它软件许可证不得向与采用它的软件一同发布的其它软件提出任何限制。例如,

许可证不能坚持要求在同一媒体上发布的其它程序都是开放源代码软件。(理由)

什么是Linux操作系统?

1、类Unix系统(英文:Unix-like)是指继承UNIX的设计风格演变出来的系统(比如GNU/Linux、FreeBSD、OpenBSD、SUN公司的Solaris、Minix、QNX等),这些操作系统虽然有的是自由软件,有的是商业软件,但都相当程度地继承了原始UNIX的特性,有许多相似处,但是它们却并不含有UNIX的源代码。

2、UNIX的源代码为SCO公司所有,属于商业软件,UNIX的商标权和UNIX标准认定属于OPENGROUP所有。由于UNIX标准认定价格昂贵,所以唯一获得UNIX标准认定的为苹果的MACOS系统。

3、Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。

4、Linux的基本思想有两点:第一,一切都是文件;第二,每个文件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。

5、Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。

6、Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。

7、Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或 游戏 机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel64位芯片架构。

8、由于Linux系统的处理能力非常强悍,具备不可比拟的稳定性特征,因而Linux系统就不用经常进行重启,Linux系统的变化可以在配置的过程中实现,所以Linux服务器出现故障的概率比较小,所以很多企业组织在计算机配置的过程中经常使用Linux系统,从而降低服务器发生崩溃的可能性。

9、在Linux之下,远程的登录系统具备两种认证的形式:即密钥与密码认证。其中,密钥认证的形式,主要是将公钥储存在远程的服务器之上,私钥存储在本地。当进行系统登陆的时候,再通过本地的私钥,以及远程的服务器公钥,进行配对认证的操作,若是认证的匹配度一致,则用户便能够畅通无阻的登录系统。此类认证的方式,并不会受到暴力破解的威胁。与此同时,只需要确保本地私钥的安全,使其不会被黑客所盗取即可,攻击者便不能够通过此类认证方式登陆到系统中。所以,推荐使用密钥方式进行系统登陆。

10、Linux操作系统的常用命令:

常用命令及技巧

1、date:打印或者设置系统的日期和时间

2、stty-a:可以查看或者打印控制字符(Ctrl-C、Ctrl-D、Ctrl-Z等)

3、passwd:用passwd-h查看

4、logout,login:登录shell的登录和注销命令

5、more,less,head tail:显示或部分显示文件内容

6、lp/lpstat/cancel,lpr/lpq/lprm:打印文件

7、chmod u+x:更改文件权限

8、rm -fr dir:删除非空目录

9、cp -R dir:拷贝目录

10、fg jobid:可以将一个后台进程放到前台

11、kill的作用:send a signal to a process、eg:kill-9发送的是SIG_KILL信号,具体发送什么信号可以通过man kill查看、

12、ps的用法,ps-e或ps-o pid,ppid,session,tpgid,comm(其中session显示的sessionid,tpgid显示前台进程组id,comm显示命令名称)

13 ip a 查看 ip 地址信息的命令

14 zcat /proc/config.gz config 到内核配置文件

关于Linux操作系统,你知道哪些知识点,可以在评论区补充!

《UNIX环境高级编程第三版中文版附源代码答案》pdf下载在线阅读全文,求百度网盘云资源

《UNIX环境高级编程第三版中文版附源代码答案》百度网盘pdf最新全集下载:

链接:

?pwd=j1dw 提取码:j1dw

简介:本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的第3版。在本书第2版出版后的8年中,UNIX发生了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持前一版风格的基础上,根据新的标准对内容进行了修订和增补,反映了新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了众多应用实例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。   

求《Unix内核源码剖析》全文免费下载百度网盘资源,谢谢~

《Unix内核源码剖析》百度网盘pdf最新全集下载:

链接:

?pwd=mabg 提取码: mabg

简介:《Unix内核源码剖析》是一本UNIX V6内核源代码的阅读指南。作者结合UNIX V6已公开的相关文档,对UNIX V6的内核源码进行详细剖析,旨在让读者更深入地理解进程、中断、块I/O系统、文件系统、字符I/O系统、启动系统等操作系统的基本原理。  

关于unix源代码和unix 编程的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/7297.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载