C语言历史,C语言与UNIX系统的关系
1964 年,由美国通用电气公司和麻省理工学院发起了一个合资项目,该项目旨在开发一套能运行在 GE-645 等大型主机之上的多用户、多任务的分时操作系统,简称 MULTICS。
1965 年,贝尔实验室派出开发人员 KenThompson 等也加入了该项目,虽然项目期间发布了一些版本的 MULTICS 产品,但由于运行性能较差,1969 年该项目以失败告终。
由于 KenThompson 酷爱游戏及游戏编程,他在项目 MULTICS 期间编写了一款名叫“星际旅行”(Startravel)的游戏,并运行在该 MULTICS 系统上,但运行速度非常慢,且耗费昂贵。
1969 年 MULTICS 项目宣告失败后,KenThompson 没有放弃其游戏的梦想,他在贝尔实验室的库房中,找到一台闲置的 PDP-7 裸机,但由于缺少操作系统,无法在该 PDP-7 上运行其游戏。在 DennisRitchie 的帮助下,他使用汇编语言为该 PDP-7 编写了一个操作系统雏形,并把其游戏成功运行在了该操作系统之上。该操作系统体现出了很多优势,受 MULTICS 项目开发经验的启发, DennisRitchie 和 KenThompson 在该游戏操作系统雏形的基础上,进一步完善和开发新功能,最终于 1970 年开发出了一款新的多用户、多任务操作系统,称为 UNIX 操作系统。
综上所述,1969—1970 年,美国贝尔实验室的 KenThompson 和 DennisRitchie 等使用汇编语言编写了第一个版本的 UNIX 操作系统。
后来发现使用 B 语言开发的 UNIX 内核,还是无法达到他们的预期要求,于是在 B 语言的基础上,做了进一步的改进,设计出了具有丰富的数据类型,并支持大量运算符的编程语言。改进后的语言较B语言有质的飞跃,取名为 C 语言,并使用 C 语言成功重新编写了 UNIX内核。
至此,使用 C 语言编写内核的 UNIX 版本已相当稳定,且具有良好的可移植性,为 UNIX 的进一步推广和普及奠定了坚实的基础,也展现了 C 语言与 UNIX 的完美结合及 C 语言在编写系统软件时得天独厚的优势。
由此可见,C 语言的起源与UNIX的改进是密不可分的,也体现了 C 语言在编写系统软件时的优势。
1965 年,贝尔实验室派出开发人员 KenThompson 等也加入了该项目,虽然项目期间发布了一些版本的 MULTICS 产品,但由于运行性能较差,1969 年该项目以失败告终。
由于 KenThompson 酷爱游戏及游戏编程,他在项目 MULTICS 期间编写了一款名叫“星际旅行”(Startravel)的游戏,并运行在该 MULTICS 系统上,但运行速度非常慢,且耗费昂贵。
1969 年 MULTICS 项目宣告失败后,KenThompson 没有放弃其游戏的梦想,他在贝尔实验室的库房中,找到一台闲置的 PDP-7 裸机,但由于缺少操作系统,无法在该 PDP-7 上运行其游戏。在 DennisRitchie 的帮助下,他使用汇编语言为该 PDP-7 编写了一个操作系统雏形,并把其游戏成功运行在了该操作系统之上。该操作系统体现出了很多优势,受 MULTICS 项目开发经验的启发, DennisRitchie 和 KenThompson 在该游戏操作系统雏形的基础上,进一步完善和开发新功能,最终于 1970 年开发出了一款新的多用户、多任务操作系统,称为 UNIX 操作系统。
综上所述,1969—1970 年,美国贝尔实验室的 KenThompson 和 DennisRitchie 等使用汇编语言编写了第一个版本的 UNIX 操作系统。
UNIX的改进与C语言的起源
由于 UNIX 操作系统良好的性能,在其发布初期,就得到迅速的推广和应用。1973 年,KenThompson 和 DennisRitchie 在做系统内核移植开发时,感觉使用汇编语言很难实现。后来决定使用一种称为 BCPL(BasicCombinedProgrammingLanguage) 的语言进行开发,在开发过程中,他们在 BCPL 的基础上做了进一步的改进,推出了 B 语言(取 BCPL 第一个字母)。后来发现使用 B 语言开发的 UNIX 内核,还是无法达到他们的预期要求,于是在 B 语言的基础上,做了进一步的改进,设计出了具有丰富的数据类型,并支持大量运算符的编程语言。改进后的语言较B语言有质的飞跃,取名为 C 语言,并使用 C 语言成功重新编写了 UNIX内核。
至此,使用 C 语言编写内核的 UNIX 版本已相当稳定,且具有良好的可移植性,为 UNIX 的进一步推广和普及奠定了坚实的基础,也展现了 C 语言与 UNIX 的完美结合及 C 语言在编写系统软件时得天独厚的优势。
由此可见,C 语言的起源与UNIX的改进是密不可分的,也体现了 C 语言在编写系统软件时的优势。
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算