什么是Linux

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。

Linux的前身

multics是一个分时操作系统,该系统开始作为一个合资项目,是1964年由贝尔实验室、麻省理工学院及美国通用电气公司所共同参与研发的,其目的是为了开发出一套安装在大型主机上多人多工的操作系统。

multics(英文全称:MULTiplexed Information and Computing System)是一个全面的,通用编程系统,作为一个研究项目正在开发。最初的Multics系统基于对GE 645电脑,整体设计目标之一是要创建一个计算系统,它是能够满足几乎所有大的要求,这些系统必须连续运行,并且可靠,类似电话或电力系统每周7天,每天24小时工作,而且必须是能够满足广泛的服务需求。从多个人机交互用户缺席的顺序处理从系统的使用与专用系统本身的编程语言和子系统,和集中批量卡,磁带,打印机设施位于远程终端的工作,这样的信息处理和通信系统被认为是必不可少的,使用电脑在未来业务增长,在行业,在政府和科学实验室,以及刺激,否则将撤销申请 。
multics的是一个非常有影响力的早期分时操作系统,并介绍了大量的新概念,包括动态链接和分层文件系统,这是非常强大的,UNIX其实可以被认为是“简化”的继任者。

Multics是1964年由贝尔实验室、麻省理工学院及美国通用电气公司所共同参与研发的,是一套安装在大型主机上多人多任务的操作系统。Multics其目的是想要让大型主机可以达成提供300个以上的终端机连线使用,后来因计划进度落后,资金短缺,宣告失败 。
multics以Compatible Time-Sharing System(CTSS)做基础,建置在美国通用电力公司的大型机GE-645,目的是连接1000部终端机,支持300的用户同时在线。
1969年,因MULTICS计划的工作进度过于缓慢,最后终究遭裁撤的命运,贝尔实验室退出此计划。当时,Ken Thompson撰写一个称为“星际旅行”(Space Travel)的游戏程序。Multics 计划停止后,由贝尔实验室的两位软件工程师 Thompson 与 Ritchie 以C语言为基础而发展出UNIX。
multics发展历史
multics发展历史
1970年,GE出售其电脑业务,霍尼韦尔公司,作为一个商业化的产品提供了Multics系统,并远销几十个国家。
2009年10月标志着在计算史上的重要里程碑。正是40年前首个Multics计算机系统在麻省理工学院被用做信息管理。Multics被认为是现代操作系统的基础,Multics是加快Unix发展的催化剂,在它40年前发布后,已作为现代操作系统设计的模型。

UNIX系统是一个分时系统。最早的UNIX系统于1970年问世。此前,只有面向批处理作业的操作系统,这样的系统对于需要立即得到响应的用户来说是太慢了。在60年代末,Kenneth Thompson和Dennis Ritchie都曾参加过交互方式分时系统Multics的设计,而开发该系统所使用的工具是CTSS。这两个系统在操作系统的发展过程中都产生过重大影响。在此基础上,在对当时现有的技术进行精选提炼和发展的过程中,K.Thompson于1969年在小型计算机上开发UNIX系统,后于1970年投入运行。
1973年,DennisRitchie开发出C语言,用来改写原来用汇编语言编写的UNIX,由此产生了UNIX VersionV。1974年,Kenneth Thompson和Dennis Ritchie合写的“The UNIX Time-Sharing System"在Communication of ACM上发表,正式向外界披露了UNIX系统。
当时,PDP-11系列小型计算机在世界各地已经得到广泛应用,UNIX系统一开发后便广泛配备于美国各大学的PDP-11系列计算机上,由此为UNIX的广泛应用创造了物质条件。
1978年,UNIX Version VI发表,随后又于1979年用于VAX-11超级小型机。以后,不断地出现各种新的版本。美国电话电报公司分别于1981年和1983年发表AT&T UNIX SystemII和UNIX SystemV。美国加州大学伯克莱分校也先后发表了UNIX的版本BSD4.1,BSD4.2和BSD4.3。
UNIX系统的用户日益增多,应用范围也日益扩大。无论在各种类型的微型机、小型机,还是在中、大型计算机,以及在计算机工作站甚至个人计算机上,很多都已配有UNIX系统。不仅新推出的机型配有UNIX系统,而且一些历史较久的生产厂商,也竞相将原有机型配上UNIX系统以便打开销路、争取市场。

UNIX系统在计算机操作系统的发展史上占有重要的地位。它确实对已有技术不断作了精细、谨慎而有选择的继承和改造,并且,在操作系统的总体设计构想等方面有所发展,才使它获得如此大的成功。UNIX系统的主要特点表现在以下几方面:
1、UNIX系统在结构上分为核心程序(kernel)和外围程序(shell)两部分,而且两者有机结合成为一个整体。核心部分承担系统内部的各个模块的功能,即处理机和进程管理、存储管理、设备管理和文件系统。核心程序的特点是精心设计、简洁精干,只需占用很小的空间而常驻内存,以保证系统的高效率运行。外围部分包括系统的用户界面、系统实用程序以及应用程序,用户通过外围程序使用计算机。

Linux的诞生

Linux的开发作者,Linux之父,李纳斯·托瓦兹。Linux诞生时是荷兰在校大学生。

1991年 0.0.1版本

李纳斯当时学校使用的就是Unix操作系统,然后其对系统的底层代码进行了修改,放到了学校为学生开放的网站上,原先他把文件命名写成了Linus’s Unix,后期网络管理发现之后觉得这个名字不好,自己手动的将名字改成Linux。随后其他同学下载之后发现这个版本还是挺好用的,随后都把自己代码贡献给李纳斯。

1992年 0.0.2版本

1994年 1.0版本

2003年 2.6版本

上述所提及的版本号并不是分支版本,而是指Linux**的内核版本。

Linux内核网站(现在3.x多一些,原来2.x多,现在docker要跑在3上)

特点

Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。
Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux不仅仅是被网络运维人员当作服务器使用,甚至当作网络防火墙,这是Linux的一大亮点。
Linux具有开放源码、没有版权、技术社区用户多等特点,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。尤其系统中内嵌网络协议栈,经过适当的配置就可实现路由器的功能。这些特点使得Linux成为开发路由交换设备的理想开发平台。

主要特性

基本思想
Linux的基本思想有两点:第一,一切都是文件;第二,每个文件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。
完全免费
Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。
完全兼容POSIX1.0标准
这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。
多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现代电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。
良好的界面
Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。
支持多种平台
Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。
优点
1.Linux由众多微内核组成,其源代码完全开源;
2.Linux继承了Unix的特性,具有非常强大的网络功能,其支持所有的因特网协议,包括TCP/IPv4、TCP/IPv6和链路层拓扑程序等,且可以利用Unix的网络特性开发出新的协议栈;
3.Linux系统工具链完整,简单操作就可以配置出合适的开发环境,可以简化开发过程,减少开发中仿真工具的障碍,使系统具有较强的移植性;

系统功能

系统内核的路由转发
Linux操作系统嵌入了TCP/IP协议栈,协议软件具有路由转发功能。路由转发依赖作为路由器的主机中安装多块网卡,当某一块网卡接收到数据包后,系统内核会根据数据包的目的IP地址,查询路由表,然后根据查询结果将数据包发送到另外一块网卡,最后通过此网卡把数据包发送出去。此主机的处理过程就是路由器完成的核心功能。

通过修改Linux系统内核参数ip_forward的方式实现路由功能,系统使用sysctl命令配置与显示在/proc/sys目录中的内核参数。首先在命令行输入:cat /proc/sys/net/ipv4/ip_forwad,检查Linux内核是不是开启IP转发功能。如果结果为1,表明路由转发功能已经开启;如果结果为0,表明没有开启。出于安全考虑,Linux内核默认是禁止数据包路由转发的。在linux系统中,有临时和永久两种方法启用转发功能。

临时启用:此种方法只对当前会话起作用,系统重启后不再启用。临时开启的命令格式:sysctl–wnet.ipv4.ip_forward=1。

永久启用:此种永久性的启用IP转发功能,通过更改配置文件/etc/sysctl.conf中的语句行“net.ipv4.ip_forward=0”,修改为“net.ipv4.ip_forward=1”,保存配置文件后执行命令sysctl–p/etc/sysctl.conf,配置便立即启用

linux发展史--Linux学习笔记(一)相关推荐

  1. 兄弟连Linux运维学习笔记

    最新经典linux运维兄弟连Linux运维学习笔记... --------------- 全程1.5倍播放.加油我一定可以学完Linux ---------------------- Unix与Lin ...

  2. Linux第二周学习笔记(7)

    Linux第二周学习笔记(7) 2.13 文档查看cat_more_less_head_tail (1). cat命令 cat命令:用于查看一个文件的内容并将其显示在屏幕上 cat-A命令:显示所有的 ...

  3. Linux第二周学习笔记(11)

    Linux第二周学习笔记(11) 2.17 隐藏权限lsattr_chattr chattr命令:是设置吟唱隐藏权限的命令,更改Linux文件系统上的文件属性. 参数说明: A:表示文件或目录的ati ...

  4. Linux第二周学习笔记(5)

    Linux第二周学习笔记(5) 2.11.CP命令 cp(copy简写)命令:用来将一个或多个源文件或者目录复制到指定的目的文件或目录. cp –r:复制目录 -i:安全选项 cp命令:拷贝/etc/ ...

  5. Linux进程线程学习笔记:运行新程序

    Linux进程线程学习笔记:运行新程序 周银辉 在上一篇中我们说到,当启动一个新进程以后,新进程会复制父进程的大部份上下文并接着运行父进程中的代码,如果我们使新进程不运行原父进程的代码,转而运行另外一 ...

  6. linux磁盘符变化autofs,Linux基础教程学习笔记之Autofs自动挂载

    Linux基础教程学习笔记之Autofs自动挂载 Autofs自动挂载: yum -y install autofs vim /etc/auto.master  在文件中添加下面行 /home/gue ...

  7. 网络存储 linux 访问,Linux基础教程学习笔记28——使用Samba访问网络存储

    Linux基础教程学习笔记28--使用Samba访问网络存储 SMB用于Windows和类Linux系统直接的文件共享 安装samba client包: [root@linuxidc~]# yum i ...

  8. Linux第二周学习笔记(1)

    Linux第二周学习笔记(1) 2.6,相对和绝对路径 (1).路径:就是某一个文件存放的地方,只要键入这个文件的路径系统就只能直接找到这文件所在位置,所以找一个文件需要输入这个文件的路径. (2). ...

  9. linux基础命令学习笔记(二)

    linux基础命令学习笔记(二) 1.kill :终止进程  kill pid (唯一标示一个进程) kill -9  强制终止  kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...

  10. [Linux网络编程学习笔记]索引

    一.Linux基本知识 [学习笔记]Linux平台的文件I/O操作 [学习笔记]Linux平台的文件,目录及操作 [Linux学习笔记]标准输入输出 [Linux学习笔记]进程概念及控制 [Linux ...

最新文章

  1. 手把手教你使用ECharts绘制可视化图表
  2. 函数式编程里的Materialization应该翻译成什么?
  3. Transport Ship【多重背包】
  4. g2是一种编程语言吗_我写了一种编程语言。 这也是您可以的方式。
  5. idea2020.01的git下的Local Changes消失的问题
  6. [JavaEE] 了解Java连接池
  7. 【luogu2272】 [ZJOI2007]最大半连通子图 [tarjan 缩点][拓扑排序]
  8. 关于codeblock中一些常用的快捷键(搬运)
  9. 东北大学数理统计 2019-2020 年试题答案
  10. 库乐队历史版本怎么下载_ios库乐队旧版本下载
  11. 差劲的PHP后端开发,【后端开发】Php为什么性能差
  12. 服务器怎么和本地共享文件夹同步,云服务器如何共享文件夹同步
  13. linux指令__刘璐萍
  14. 刘强东为苏宁易购做了嫁衣
  15. TCP连接建立三握手
  16. Unity3D-游戏场景优化之遮挡剔除(Occlusion Culling)的使用
  17. HTML5 Canvas编写五彩连珠(1):预览
  18. U8 EAI实现XML的生成
  19. AndroidStudio layout Inspector工具无法连接真机
  20. 《Weighted Maximum Mean Discrepancy for Unsupervised Domain Adaptation》论文阅读

热门文章

  1. JavaScript Dom 事件 Bom 定时器方法
  2. 在页面上添加QQ和MSN聊天工具
  3. android 盒子排名,2021电视盒子排名:业内公认最好用的五大电视盒子
  4. 可以通过限定ip来限制用户重复登录么_美团和饿了么虽然每天都送红包,但有很大区别...
  5. React Native Text 组件显示不全解决方案
  6. Redis核心数据结构ZSET、GeoHash 、 Stream--排行榜、消息Pull推送、附近搜索、布隆过滤器 、IM聊天室
  7. bgp高防服务器,带你了解什么是用UDP协议攻击
  8. 2. ROS安装(官网教程/简单好用)
  9. 计算机基础 第一章 计算机网络概述 知识点总结
  10. php 如何执行top命令,技术|如何在批处理模式下运行 top 命令