Linux 便成立的核心网站: http://www.kernel.org

Linux是什么

Linux 就是一套操作系统
Linux 就是核心与系统呼叫接口那两层
软件移植:如果能够参考硬件的功能函数并据以修改你的操作系统程序代码, 那经过改版后的操作系统就能够在另一个硬件平台上面运作了。 这个动作我们通常就称为『软件移植』了

Windows 操作系统本来就是针对个人计算机 x86 架构的硬件去设计的,每种操作系统都是在他专门
的硬件机器上面运行的喔

Linux 提供了一个完整的操作系统当中最底层的硬件控制与资源管理的完整架构, 这个架构是沿袭Unix 良好的传统来的,所以相当的稳定而功能强大

Linux 之前,Unix 的历史

  1. 兼容分时系统(Compatible Time-Sharing System, CTSS), 它可以让大型主机透过提供数个终端机(terminal)以联机进入主机,来利用主机的资源进行运算工作。他可以让多个使用者在某一段时间内分别使用 CPU 的资源, 感觉上你会觉得大家是同时使用该主机的资源!事实上,是 CPU 在每个使用者的工作之间进行切换, 在当时,这可是个划时代的技术
  2. 1969 年:Ken Thompson 的小型 file server system
    Thompson 的这个文件系统有两个重要的概念,分别是:
  • 所有的程序或系统装置都是文件
  • 不管建构编辑器还是附属文件,所写的程序只有一个目的,且要有效的完成目标
  1. 1973 年:Unix 的正式诞生,Ritchie 等人以 C 语言写出第一个正式 Unix 核心
  • B—>C==>UNINX
  • 相对于汇编语言需要与硬件有密切的配合,高阶的 C 语言与硬件的相关性就没有这么大了!所以,这个改变也使得 Unix 很容易被移植到不同的机器上面
  1. 1977 年:重要的 Unix 分支–BSD 的诞生
    后来可以安装在 x86 硬件架构上面FreeBSD 即是 BSD 改版而来
  2. 1979 年:重要的 System V 架构与版权宣告
    目前被称为纯种的 Unix 指的就是 System V 以及 BSD 这两套
  3. 1984 年之一:x86 架构的 Minix 操作系统开始撰写并于两年后诞生
    既然 1979 年的 Unix 第七版可以在 Intel 的 x86 架构上面进行移植, 那么是否意味着可以将 Unix 改写并移植到 x86 上面了呢?
  4. 1984 年之二:GNU 计划与 FSF 基金会的成立
  • GNU 计划
  • 写 C 语言的编译程序,那就是现在相当有名的GNU C Compiler(gcc)
  • 成立自由软件基金会(FSF, Free Software Foundation)
  • 还撰写了更多可以被调用的 C函式库(GNU C library)
  • 以及可以被使用来操作操作系统的基本接口 BASH shell
  1. GNU 的通用公共许可证
    通用公共许可证(General Public License, GPL),并且称呼他为 copyleft(相对于专利软件的 copyright!

由于有 GNU 所开发的几个重要软件,如:

  • Emacs
  • GNU C (GCC)
  • GNU C Library (glibc)
  • Bash shell

关于 GNU 计划、自由软件与开放原始码

一个软件挂上了 GPL 版权宣告之后,他自然就成了自由软件!这个软件就具有底下的特色:

  • 取得软件与原代码:你可以根据自己的需求来执行这个自由软件;
  • 复制:你可以自由的复制该软件;
  • 修改:你可以将取得的原始码进行程序修改工作,使之适合你的工作;
  • 再发行:你可以将你修改过的程序,再度的自由发行,而不会与原先的撰写者冲突;
  • 回馈:你应该将你修改过的程序代码回馈于社群!

但请特别留意,你所修改的任何一个自由软件都不应该也不能这样:

  • 修改授权:你不能将一个 GPL 授权的自由软件,在你修改后而将他取消 GPL 授权~
  • 单纯贩卖:你不能单纯的贩卖自由软件。

托瓦兹 的 Linux 发展

与 Minix 之间

汇编语言(Assembly Language):那是一种直接与芯片对谈的程序语言,也就是所谓的低级语言。 必须要很了解硬件的架构,否则很难以汇编语言撰写程序的。

对 386 硬件的多任务测试

假设 CPU 频率为 1GHz 的话,那表示 CPU 一秒钟可以进行 109 次工作。

Linux 的核心版本

奇数、偶数版本分类(3.0 推出之后就失效了。)

  1. 主、次版本为奇数:发展中版本(development)
    如 2.5.xx,这种核心版本主要用在测试与发展新功能,所以通常这种版本仅有核心开发工程师会使用。
  2. 主、次版本为偶数:稳定版本(stable)
    如 2.6.xx,等到核心功能发展成熟后会加到这类的版本中,主要用在一般家庭计算机以及企业版本中。

主线版本、长期维护版本(longterm version)

  • 例如 3.10 就是在 3.9 的架构下继续开发出来的新的主线版本。
  • 而旧的版本在新的主线版本出现之后,会有两种机制来处理,一种机制为结束开发 (End of Live, EOL),亦即该程序代码已经结束,不会有继续维护的状态。 另外一种机制为保持该版本的持续维护,亦即为长期维护版本 (Longterm)!
  • ,如果你想要使用 Linux 核心来开发你的系统,那么当然要选择长期支持的版本才行!要判断你的 Linux 核心是否为长期支持的版本, 可以使用『 uname -r 』来查阅核心版本,然后对照下
    列连结来了解其对应值! https://www.kernel.org/releases.html

Linux 发行版

  1. 可完全安装的 Linux 发行版
    『内核+ 软件 + 工具+ 可完全安装程序』的东西,我们称之为 Linux distribution, 一般中文翻译成Linux发行版,或者 Linux 发布商套件等

底下列出几个主要的 Linux distributions 发行者网址:

  • Red Hat
  • SuSE
  • Fedora
  • CentOS
  • Debian
  • Ubuntu
  • Gentoo

Linux 当前应用的角色

企业环境的使用

  1. 网络服务器
  2. 关键任务的应用(金融数据库、大型企业网管环境)
  3. 学术机构的高效能运算任务

个人环境的使用

  1. 桌面计算机
    X Window System 仅只是 Linux 上面的一套软件, 而不是核心喔!所以即使 X Window 挂了,对 Linux 也可能不会有直接的影响
  2. 手持系统(PDA、手机)
    Android 其实就是 Linux 核心的一支,只是专门用来针对手机/平板这类的 ARM 机器所设计的
  3. 嵌入式系统

云端运用

  1. 云程序
    透过虚拟化技术,你可以将一部实体主机安装多个同时运作的操作系统 (非多重引导),以达到将硬件资源完整利用的效果。
  2. 端设备

该如何学习

从头学习 Linux 基础

  1. 计算器概论与硬件相关知识
  2. 先从 Linux 的安装与指令学起
  3. Linux 操作系统的基础技能
  4. 务必学会 vi 文书编辑器
  5. Shell 与 Shell Script 的学习
  6. 一定要会软件管理
  7. 网络基础的建立
    计算机基础
    网络基础

选择一本易读的工具书

请推荐有关网络的书

实践再实践

(Study-Area)

发生问题怎么处理

  1. 在自己的主机/网络数据库上查询 How-To 或 FAQ
  • Linux 自己的文件数据: /usr/share/doc (在你的 Linux 系统中)
  • CLDP 中文文件计划 http://www.linux.org.tw/CLDP/
  • The Linux Documentation Project:http://www.tldp.org/
  • 鸟哥网站: http://linux.vbird.org/Searching.php
  • 如果是网络服务的问题时,请到/var/log/这个目录里头去查阅一下 log file(登录档),这样可以几乎解决大部分的问题了!
  • 提问的智慧 http://phorum.vbird.org/viewtopic.php?t=96
  • 酷学园讨论区 http://phorum.study-area.org
  • 鸟哥的私房菜馆讨论区 http://phorum.vbird.org

Linux---Linux是什么相关推荐

  1. 九十分钟极速入门Linux——Linux Guide for Developments 学习笔记

    转载自: 九十分钟极速入门Linux--Linux Guide for Developments 学习笔记 http://mp.weixin.qq.com/s?__biz=MzAwNTMxMzg1MA ...

  2. [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例二.

    为了更好的排版, 所以将IK分词器的安装重启了一篇博文,  大家可以接上solr的安装一同查看. [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一: http://w ...

  3. krc 编辑 linux,Linux网络编程

    6 berkeley - 145 - struct in_addr { unsigned long s_addr; }; ina struct sockaddr_in struct in_addr i ...

  4. 简单了解linux,linux简单了解

    今天主要了解下linux linux目录结构包含: /:代表根目录 bin(binaries):存放二进制可执行文件 sbin(super user binaries):存放二进制可执行文件,只有ro ...

  5. linux puppy 安装软件,puppy linux(linux操作系统)V5.7.2 官方版

    puppy linux(linux操作系统)是一款十分优秀的全新linux发行系统.平常linux操作系统太过简陋,puppy linux集合了大量所需功能.但它自带了大量的描扫仪.打印机.数码相机的 ...

  6. 什么是Linux?Linux主要用在那?为什么有Linux?

    一,什么是Linux Linux,是一个开放式系统,任何人可以根据它的源码改编,做成你想要的样子(反正就是非常开放) 为什么要开发Linux 这个说来话长,就是一位Windows程序袁,因为不满足Wi ...

  7. git管理工具 linux,linux系统下使用流行的版本管理工具 Git

    前几天被版本管理困扰了好久,主要是因为 没法回到之前的版本,新版本又出了问题真的很尴尬. 终于决定使用目前网上很火的版本管理工具-------Git 历史啥的就不说了,说些有用的. 我用的是oschi ...

  8. tpm linux,Linux内核再次升级 支持TPM芯片

    [IT168 软件资讯]Linux内核更新是越来越快了,自Linux 2.6.11今年4月推出后,昨天李纳斯·托沃兹(Linus Torvalds)发布了Linux 2.6.12核心. Linux K ...

  9. Linux | Linux系统目录

    Linux | Linux系统目录 Linux目录和Windows目录有着很大的不同,Linux目录类似一个树,最顶层是其根目录,如下图: /bin 二进制可执行命令 /dev 设备特殊文件 /etc ...

  10. 如何在windows下格式化linux,Linux、Windows/DO格式化怎么做?

    格式化是什麽意思? 格式化(format)是指对磁盘或磁盘中的分区(partition)进行初始化的一种操作,这种操作通常会导致现有的磁盘或分区中所有的文件被清除.格式化通常分为低级格式化和高级格式化 ...

最新文章

  1. 图像处理工具包ImagXpress的多页TIFF编辑API的使用(1)
  2. 发送请求_发送soap请求调用wsdl服务
  3. 实时数仓入门训练营:Hologres性能调优实践
  4. 集群(一)——LVS负载均衡集群
  5. LInux 下安装 python notebook 及指向路径,运行计时,炫酷的深蓝午夜主题,本地登陆远程服务器
  6. java servlet 跳转_Servlet跳转方式sendReDirect()和forward()
  7. 强强联手 SAP Ariba与苏宁易购共建中国企业智慧采购
  8. mysql 密码修改时间_Mysql修改密码的方法
  9. mysql如何使用事件_MySQL事件的使用详解
  10. 如何制作HTML5 SVG描边文字
  11. arp协议属于哪一层_TCP/IP协议栈-之-ARP协议分析
  12. (7)-(Reverse Integer)-(将整数按位反转成另外一个整数,考虑溢出)-(知道最大整数和最小整数值)...
  13. docker logstash_学会这一招,轻松测试 logstash 的配置文件
  14. Google工程师多图详解Android架构
  15. 鸟哥linux基础篇学完到什么程度,学完了《鸟哥Linux私房菜》大体回顾以及感悟。...
  16. 手机控件查看工具uiautomatorviewer中一些方法
  17. 【计算机毕业设计】324企业人事信息管理系统设计与实现
  18. 微服务--应对每秒上万并发下的参数优化实战(实战经验)
  19. Serenity Screenplay模式
  20. Quectel EC200A-CN移植

热门文章

  1. Excel数据快速录入技巧分享
  2. 推荐一个日历转换开源工具库,支持C#、Java、PHP等主流的语言
  3. 如何用建木CI更新七牛云CDN证书
  4. AcWing每日一题2041. 干草堆
  5. 5G关键技术,D2D通信-ielab
  6. 关于三菱触摸屏GT Designer3 仿真软件创建工程
  7. 【贪心+堆/模拟费用流增广】BZOJ4946 [NOI2017]蔬菜
  8. java hypot_Java StrictMath hypot()方法
  9. 黄花城之行-未到四海
  10. gadget驱动框架(三)