• Linux从入门到放弃、零基础入门Linux(第一篇):计算机操作系统简介、linux介绍


    一、计算机操作系统简介

    操作系统的定义:

    操作系统是一个用来协调、管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间。

    操作系统的内核的定义:

    操作系统的内核是一个管理和控制程序,负责管理计算机的所有物理资源

    其中包括文件系统、内存管理、设备管理和进程管理。

    操作系统、硬件、软件的关系

    操作系统=所有驱动+对驱动的管理+为应用软件提供可以使用的接口

    内核=所有驱动

    驱动组成:字符设备(串口)、块设备(u盘)、网络设备

    内核是整个操作系统的最底层,它负责整个硬件的驱动,以及提供各种系统所需的核心功能。

    Linux历史及使用场景

    Linux诞生90年代,仿制Unix操作系统。

    Linux是免费的,开源的

    Unix是收费的,封闭的。

    Linux在逐步替代Unix。

    Linux使用场景:服务器操作系统,移动设备(安卓底层就是linux,平板电脑),路由器(WIFI),交换机,智能家居,Java程序开发

    Linux主要发行版:

    CENTOS、RHEL、FEDORA、UBUNTU、SUSE

    Linux内核版本:Linux内核运维开发小组,源码在一定程度上不是开源的。

    Linux发行版本:由各大互联网/软件公司定制。外围的样式功能的源码完全开源。一个内核版本是有多种多样的发行版本。

    Ubuntu:以强大的桌面应用为主,吸收不少Windows用户。 因为桌面应用会在一定程度上大量占用系统资源,开发。服务器部署上,不会优先选择Ubuntu。

    CentOS:对服务器性能进行了一定程度的优化,性能比较高,比较稳定。

    服务器操作系统的优选CentOS

     

    Linux不同发行版本的历史(了解补充知识)

    Linux的发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的Redhat(RHEL)为代表,后者以Debian为代表。

     

    下面介绍一下各个发行版本的特点:

    Redhat,应该称为Redhat系列,包括RHEL(Red Hat Enterprise Linux,也就是所谓的Redhat Advance Server,收费版本)、Fedora Core(由原来的Redhat桌面版本发展而来,免费版本)、CentOS(RHEL的社区克隆版本,免费)。Redhat应该说是在国内使用人群最多 的Linux版本,这个版本的特点就是使用人群数量大,资料非 常多,言下之意就是如果你有什么不明白的地方,很容易找到人来问,而且网上的一般Linux教程都是以Redhat为例来讲解的。Redhat系列的包管 理方式采用的是基于RPM包的YUM包管理方式,包分发方式是编译好的二进制文件。稳定性方面RHEL和CentOS的稳定性非常好,适合于服务器使用, 但是Fedora Core的稳定性较差,最好只用于桌面应用。

    Debian,或者称Debian系列,包括Debian和Ubuntu等。Debian是社区类Linux的典范,是迄今为止最遵循GNU规范 的Linux系统。Debian最早由Ian Murdock于1993年创建,分为三个版本分支(branch): stable, testing 和 unstable。其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。testing的版本都经 过unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等)。而stable一般只用于服务器,上面的软件包大部分都比较过时,但是 稳定和安全性都非常的高。Debian最具特色的是apt-get / dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了。Debian的资 料也很丰富,有很多支持的社区,有问题求教也有地方可去。

     

    Ubuntu严格来说不能算一个独立的发行版本,Ubuntu是基于Debian的unstable版本加强而来,可以这么说,Ubuntu就是 一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的 Linux桌面系统。根据选择的桌面系统不同,有三个版本可供选择,基于Gnome的Ubuntu,基于KDE的Kubuntu以及基于Xfc的 Xubuntu。特点是界面非常友好,容易上手,对硬件的支持非常全面,是最适合做桌面系统的Linux发行版本。

     

    Linux发行版 (列表)

    基于Debian

    ▪ Debian ▪ Ubuntu ▪ Linux Mint

    ▪ Knoppix ▪ MEPIS ▪ sidux

    ▪ CrunchBang Linux ▪ Chromium OS ▪ Google Chrome OS

    基于Red Hat

    ▪ Red Hat Enterprise Linux ▪ Fedora ▪ CentOS

    ▪ Scientific Linux ▪ Oracle Linux

    基于Mandriva

    ▪ Mandriva Linux ▪ PCLinuxOS ▪ Unity Linux

    ▪ Mageia

    基于Gentoo

    ▪ Gentoo Linux ▪ Sabayon Linux ▪ Calculate Linux

    ▪ Funtoo Linux

    基于Slackware

    ▪ Slackware ▪ Zenwalk ▪ VectorLinux

    其它

    ▪ SUSE ▪ Arch Linux ▪ Puppy Linux

    ▪ Damn Small Linux ▪ MeeGo ▪ Slitaz

    ▪ Tizen ▪ StartOS

     

     

    二、自由软件-GNU和GPL

    自由软件:根据自由软件基金会的定义,自由软件是一种可以不受限制地自由使用、复制、研究、修改和分发的软件。可以买卖。这方面的不受限制正是自由软件最重要的本质。 要将软件以自由软件的形式发表,通常是让软件以“自由软件授权协议”的方式被分配发布,以及公开的软件原始码。

    GUN

    GNU:是“GNU is Not Unix”的递归缩写。即GNU计划。

    GPL

    GPL是是一个广泛被使用的自由软件许可协议条款。

    GPL协议的主要内容是只要在一个软件中使用(”使用”指类库引用,修改后的代码或者衍生代码)GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。这就是所谓的”传染性”。

    GPL协议的产品作为一个单独的产品使用没有任何问题,还可以享受免费的优势。

    由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。

     

    简单来讲执行GPL协议的软件有下面几个特点(基于GPLv2)

    1、软件可以自由的使用、复制、修改,

    2、软件可以自由的发行复制件,

    3、软件可以被修改,然后再次发行,但必须公开源代码,即能够看到修改的部分代码,

    不允许修改后和衍生的代码做为闭源(不公开代码)的商业软件发布和销售,不能对该源代码的使用作出限定。

    4、GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用。

    著名的GPL自由软件包括Linux核心和GCC。

     

    GUN和GPL历史小知识

    GNU 是一个计划或者叫运动。在这个旗帜下成立了 FSF基金会,起草了 GPL 协议等。 Unix 系统被发明之后,大家用的很爽。但是后来开始收费和商业闭源了。一个叫Richard Stallman (理查德 · 斯托曼)的大叔觉得很不爽,于是发起 GNU 计划,模仿 Unix 的界面和使用方式,从头做一个开源的版本。然后他自己做了编辑器 Emacs 和编译器 GCC。

    接下来大家纷纷在 GNU 计划下做了很多的工作和项目,基本实现了当初的计划。包括核心的 gcc 和 glibc。但是 GNU 系统缺少操作系统内核。原定的内核叫 HURD,一直完不成。同时 BSD(一种 UNIX 发行版)陷入版权纠纷,x86 平台开发暂停。然后一个叫 Linus Torvalds (林纳斯·托瓦兹)的同学为了在 PC 上运行 Unix,在 Minix 的启发下,开发了 Linux。注意,Linux 只是一个系统内核,系统启动之后使用的仍然是 gcc 和 bash 等软件。Linus 在发布 Linux 的时候选择了 GPL,因此符合 GNU 的宗旨。

    最后,大家突然发现,这玩意不正好是 GNU 计划缺的么。于是合在一起打包发布叫 GNU / Linux。然后大家念着念着省掉了前面部分,变成了 Linux 系统。实际上 Debian,RedHat 等 Linux 发行版中内核只占了很小一部分容量。

     

    参考资料

    [1]https://www.cnblogs.com/qiu-freedom/articles/10799732.html

    [2]https://www.zhihu.com/question/319783573/answer/656033035

  • 相关阅读:
    求最小正整数x,A^x=1(mod M)求阶模板
    欧拉函数模板
    高次同余方程模板BabyStep-GiantStep
    Pollard-Rho大整数拆分模板
    Miller-Rabin大素数测试模板
    JSON教程基础
    11.@RequestParam @RequestBody @PathVariable 等参数绑定注解详解
    代码格式化
    使用FireFox插件RESTClient、HttpRequester模拟http(get post)请求
    SpringBoot入门最详细教程
  • 原文地址:https://www.cnblogs.com/Nicholas0707/p/11589102.html
Copyright © 2020-2023  润新知