Linux 便成立的核心网站: http://www.kernel.org
Linux是什么
Linux 就是一套操作系统
Linux 就是核心与系统呼叫接口那两层
软件移植:如果能够参考硬件的功能函数并据以修改你的操作系统程序代码, 那经过改版后的操作系统就能够在另一个硬件平台上面运作了。 这个动作我们通常就称为『软件移植』了
Windows 操作系统本来就是针对个人计算机 x86 架构的硬件去设计的,每种操作系统都是在他专门
的硬件机器上面运行的喔
Linux 提供了一个完整的操作系统当中最底层的硬件控制与资源管理的完整架构, 这个架构是沿袭Unix 良好的传统来的,所以相当的稳定而功能强大
Linux 之前,Unix 的历史
- 兼容分时系统(Compatible Time-Sharing System, CTSS), 它可以让大型主机透过提供数个终端机(terminal)以联机进入主机,来利用主机的资源进行运算工作。他可以让多个使用者在某一段时间内分别使用 CPU 的资源, 感觉上你会觉得大家是同时使用该主机的资源!事实上,是 CPU 在每个使用者的工作之间进行切换, 在当时,这可是个划时代的技术
- 1969 年:Ken Thompson 的小型 file server system
Thompson 的这个文件系统有两个重要的概念,分别是:
- 所有的程序或系统装置都是文件
- 不管建构编辑器还是附属文件,所写的程序只有一个目的,且要有效的完成目标
- 1973 年:Unix 的正式诞生,Ritchie 等人以 C 语言写出第一个正式 Unix 核心
- B—>C==>UNINX
- 相对于汇编语言需要与硬件有密切的配合,高阶的 C 语言与硬件的相关性就没有这么大了!所以,这个改变也使得 Unix 很容易被移植到不同的机器上面
- 1977 年:重要的 Unix 分支–BSD 的诞生
后来可以安装在 x86 硬件架构上面FreeBSD 即是 BSD 改版而来 - 1979 年:重要的 System V 架构与版权宣告
目前被称为纯种的 Unix 指的就是 System V 以及 BSD 这两套 - 1984 年之一:x86 架构的 Minix 操作系统开始撰写并于两年后诞生
既然 1979 年的 Unix 第七版可以在 Intel 的 x86 架构上面进行移植, 那么是否意味着可以将 Unix 改写并移植到 x86 上面了呢? - 1984 年之二:GNU 计划与 FSF 基金会的成立
- GNU 计划
- 写 C 语言的编译程序,那就是现在相当有名的GNU C Compiler(gcc)
- 成立自由软件基金会(FSF, Free Software Foundation)
- 还撰写了更多可以被调用的 C函式库(GNU C library)
- 以及可以被使用来操作操作系统的基本接口 BASH shell
- 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 推出之后就失效了。)
- 主、次版本为奇数:发展中版本(development)
如 2.5.xx,这种核心版本主要用在测试与发展新功能,所以通常这种版本仅有核心开发工程师会使用。 - 主、次版本为偶数:稳定版本(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 发行版
- 可完全安装的 Linux 发行版
『内核+ 软件 + 工具+ 可完全安装程序』的东西,我们称之为 Linux distribution, 一般中文翻译成Linux发行版,或者 Linux 发布商套件等
底下列出几个主要的 Linux distributions 发行者网址:
- Red Hat
- SuSE
- Fedora
- CentOS
- Debian
- Ubuntu
- Gentoo
Linux 当前应用的角色
企业环境的使用
- 网络服务器
- 关键任务的应用(金融数据库、大型企业网管环境)
- 学术机构的高效能运算任务
个人环境的使用
- 桌面计算机
X Window System 仅只是 Linux 上面的一套软件, 而不是核心喔!所以即使 X Window 挂了,对 Linux 也可能不会有直接的影响 - 手持系统(PDA、手机)
Android 其实就是 Linux 核心的一支,只是专门用来针对手机/平板这类的 ARM 机器所设计的 - 嵌入式系统
云端运用
- 云程序
透过虚拟化技术,你可以将一部实体主机安装多个同时运作的操作系统 (非多重引导),以达到将硬件资源完整利用的效果。 - 端设备
该如何学习
从头学习 Linux 基础
- 计算器概论与硬件相关知识
- 先从 Linux 的安装与指令学起
- Linux 操作系统的基础技能
- 务必学会 vi 文书编辑器
- Shell 与 Shell Script 的学习
- 一定要会软件管理
- 网络基础的建立
计算机基础
网络基础
选择一本易读的工具书
请推荐有关网络的书
实践再实践
(Study-Area)
发生问题怎么处理
- 在自己的主机/网络数据库上查询 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