The birth of the Unix operating system
Prior to 1965 when the computer is not as common as they are now, it is not generally able to touch the play, unless it is a military academy or research institutions, and even then the mainframe can provide up to 30 terminals (30 keyboard, monitor) connecting a computer.
In order to solve the problem [of] the number is not enough
In 1965 the left rear of Bell Labs joined the Massachusetts Institute of Technology and General Electric cooperation plan - the plan to establish a multi-user (Multi-the User) , multitasking (Multi-Processor) , multi-level (multi- level) of MULTICS operating system, want to mainframe support 300 terminals.
After 1969 years ago, the slow progress of the project, a shortage of funds, Bell Labs withdrew from the study.
1969 exit from this project Ken Thompson was bored in the laboratory, in order to allow to run "Star Trek (Space Travel)" game on a spare computer, in August or taking advantage of the time to visit his wife, with the one month's time , use assembly to write a prototype of the Unix operating system.
In 1970, Bell Labs Ken Thompson , with BCPL language based design is very simple and very close to the hardware of the B language (taking the first letter of the BCPL), and he used the B language wrote the first UNIX operating system.
In 1971, the same love of "Star Trek (Space Travel)" The Dennis M.Ritchie order to be able to play the game early child, joined Thompson 's development projects, develop UNIX, his main job is to transform the B language , because language B of cross-platform poor
In 1972, Dennis M. Ritchie in B language based on the final design of a new language, he took BCPL second letter as the name of the language, this is the C language.
In early 1973, C language subject is completed, Thompson and Ritchie could not wait to start using it completely rewritten and now famous Unix operating system.
Ken Thompson (left) and Dennis Ritchie (right)
The birth of the C language
When the UNIX ported to other types of computers, powerful C portability (Portability) in this show.
Machine language and assembly language is not very portable, for the x86 development program, it is impossible to run on Alpha, SPARC, and ARM and other machines
The C language program can be used on any processor architecture, as long as the processor architecture that has a corresponding C language compiler and libraries to run after the C source code is then compiled, linked to a target binary
Minix's birth
Because AT & T (GE) of the policy change after the introduction of Version 7 Unix, released a new Terms of Use, the privatization of UNIX source code, can no longer use the UNIX source code to universities
Andrew S. Tanenbaum (Tanenbaum) Prof. order to Prof. details student operating system works in the classroom , decided not to use any AT & T source code under the premise of self-developed UNIX-compatible operating system, in order to avoid the copyright dispute
With small UNIX (mini-UNIX) meaning, it called MINIX
Unix family of operating systems evolutionary history
Linux was born
In 1991 Linus (Linus) While studying at the University of Helsinki, a keen interest in Unix, try to do some development work on the Minix
因为 Minix 只是教学使用,因此功能并不强,林纳斯 经常要用他的终端 仿真器(Terminal Emulator) 去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件系统,这些在后来成为了 Linux 第一个内核的雏形,当时,他年仅 21 岁。
林纳斯·本纳第克特·托瓦兹
它利用 GNU 的 bash 当做开发环境,gcc 当做编译工具,编写了 Linux 内核,一开始 Linux 并不能兼容 Unix
---------- 即 Unix 上跑的应用程序不能在 Linux 上跑,即应用程序与内核之间的接口不一致
---------- 一开始 Linux 只适用于 386,后来经过全世界的网友的帮助,最终能够兼容多种硬件
Linux 内核及发行版
Linux 内核版本
Linux 发行版本
Linux 发行版(也被叫做 GNU/Linux 发行版)通常包含了包括桌面环境、办公套件、媒体播放器、数据库等应用软件
常见的发行版本如下:
-
Ubuntu
-
Tails
-
Elementary OS
-
Redhat
-
Fedora
-
openSUSE
-
Linux Mint
-
Debian
-
Manjaro
-
Mageia
-
CentOS
-
Arch
十大 Linux 服务器发行版排行榜:https://www.10besty.com/best-linux-distros/
Linux 的应用领域
服务器领域
嵌入式领域
个人桌面领域
Linux 和 Window
单用户操作系统和多用户操作系统
Windows
和 Linux
文件系统区别
Windows的文件系统
在 Windows
下,打开 “计算机”,我们看到的是一个个的驱动器盘符:
每个驱动器都有自己的根目录结构,这样形成了多个树并列的情形,如图所示
Linux
下的文件系统
在 Linux
下,我们是看不到这些驱动器盘符,我们看到的是文件夹(目录)
Ubuntu
没有盘符这个概念,只有一个根目录 /
,所有文件都在它下面
什么叫做用户目录
Window系统的用户目录
在cmd下输入echo %USERPROFILE%可以查看当前系统用户目录
这边列举一些其他常用的获取系统路径的:
%WINDIR% {系统目录 - C:\WINDOWS}
%SYSTEMROOT% {系统目录 - C:\WINDOWS}
%SYSTEMDRIVE% {系统根目录 - C:}
%HOMEDRIVE% {当前用户根目录 - C:}
%USERPROFILE% {当前用户目录 - C:\Documents and Settings\wy}
%HOMEPATH% {当前用户路径 - \Documents and Settings\wy}
%TMP% {当前用户临时文件夹 - C:\DOCUME~1\wy\LOCALS~1\Temp}
%TEMP% {当前用户临时文件夹 - C:\DOCUME~1\wy\LOCALS~1\Temp}
%APPDATA% {当前用户数据文件夹 - C:\Documents and Settings\wy\Application Data}
%PROGRAMFILES% {程序默认安装目录 - C:\Program Files}
%COMMONPROGRAMFILES% {文件通用目录 - C:\Program Files\Common Files}
%USERNAME% {当前用户名 - wy}
%ALLUSERSPROFILE% {所有用户文件目录 - C:\Documents and Settings\All Users}
%OS% {操作系统名 - Windows_NT}
%COMPUTERNAME% {计算机名 - IBM-B63851E95C9}
%NUMBER_OF_PROCESSORS% {处理器个数 - 1}
%PROCESSOR_ARCHITECTURE% {处理器芯片架构 - x86}
%PROCESSOR_LEVEL% {处理器型号 - 6}
%PROCESSOR_REVISION% {处理器修订号 - 0905}
%USERDOMAIN% {包含用户帐号的域 - IBM-B63851E95C9}
%PATH% {搜索路径}
Linux系统的用户目录
位于 /home目录下
,称之为用户工作目录或家目录,表示方式: