技术编程|自学Linux新手必看( 二 )


“启动界面”;
Windows 的启动 。
只有当 Windows 顺利启动后 , 我们才可以使用各种应用程序:浏览器、画图软件、游戏、音乐播放器等等 。
那为什么一定要先启动 Windows 呢?为什么平时我们用的程序比如画图软件 , 不可以在启动界面之后就使用呢?
因为 , 你的电脑需要一个类似“大管家”的软件 , 就好像管弦乐队的总指挥一样 , 需要指挥各个乐手的演奏 。
这个“大管家”软件需要管理你电脑的内存 , 把内存合理分配给各个软件 。 它起到连接电脑的硬件(内存、显卡、光驱等)和各种软件的“桥梁”作用 。
这个任务听起来特别崇高、神圣 , 不是吗?
这个“大管家”软件就是操作系统 , 简称 OS , 是 Operating System(Operating 是英语“操作”的意思 , System 是英语“系统”的意思) 的首字母缩写 , 我们的 Windows 就是一个操作系统 。
之后的课程 , 我们经常会用到 OS 这个简称来指代“操作系统” , 请记住啦 。
下次别人问你 OS 是什么 , 你应该不会搞错了吧 , 可不是内心独白(Overlapping Sound)噢 。
所以 , 我们总结一下 , 电脑会按以下顺序执行任务:
启动界面;
操作系统(例如 Windows)的启动;
其他程序(或称软件)的启动 。
或许用图示更容易理解吧:

技术编程|自学Linux新手必看
本文插图

Linux 是一个操作系统
读者:“你不要忘了这个教程是讲 Linux 的 , 怎么你扯了这么多 Windows 呀?”
不要着急 , 我可没忘记我们的初衷 。 经过上面的介(hu)绍(che) , 大家应该对操作系统有了一个大致的了解了吧 , 那么我就要公布一个“惊天”的消息咯:Linux 就是一个操作系统 。 类似的还有 macOS , 是苹果研发的操作系统 。
相比于 Windows , Linux 以它的可靠和安全著称 , 而且更新频繁 , 不像 Windows 更新一次得等好久 。 我们在之后的课程中将慢慢发现 Linux 的这些优点 。
也许你又要发问了:“我们能否在一台电脑上同时拥有两个 OS 啊?我可不想为了装 Linux 而把 Windows 卸载了 , 我还要玩游戏呢 。 我的 Dota、炉石传说、星际争霸、LOL…” 。
有不少人可能认为需要做一个抉择:要么装 Linux , 要么就装 Windows 。 但并不是这样:一台电脑可以拥有两个(甚至更多)的操作系统 。
这种情况(多个操作系统)下 , 在电脑启动时 , 当启动界面结束后 , 会有一个被称为 bootloader 的程序显示出来 , 让你做出选择 , 到底选择哪个操作系统来启动 。
什么是 bootloader 呢?摘录百度百科的解释:
“Bootloader 是在操作系统内核运行之前运行的一段小程序 。 通过这段小程序 , 我们可以初始化硬件设备 , 建立内存空间的映射图 , 从而将系统的软硬件环境带到一个合适的状态 , 以便为最终调用操作系统内核准备好正确的环境 。 通常 , Bootloader 是严重地依赖于硬件而实现的 , 特别是在嵌入式领域 。 ”
一般最常用的 , 能使我们在 Linux 和 Windows 之间做出选择的 bootloader 叫做 GRUB 。 如果你没有做出选择 , 那么 GRUB 这个 bootloader 在几秒之后就会启动默认的操作系统 。 当然默认的操作系统也是你设定的 。
千言万语不如一张图 , 再来看看电脑在双操作系统下的启动流程吧:

技术编程|自学Linux新手必看
本文插图

上图中 , 我们可以看到 , 当我们在 Linux 系统中时 , 我们使用的程序都是为 Linux 定制的 , 不会用 Windows 的程序;反之亦然 。 事实上 , Windows 的程序在 Linux 下不能运行 , 反之亦然 。
当然了 , 现在有些技术可以使得 Windows 的程序在 Linux 下可以运行 , 比较出名的有 Wine 这个软件 。 然而 , 即便使用 Wine 后有些 Windows 程序可以运行在 Linux 下 , 但终归是使用专为 Linux 定制的程序比较好 。


推荐阅读