原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和本声明。否则将追究法律责

时间总是过得那么快,如流水一般哗啦啦的就淌走了一大堆!周遭事事沧桑变迁喧哗或耳语中流传的故事已渐模糊,转眼间2013就来了。泰坦尼克号撞冰山都100+年了,同名的电影也改成3D的了,只是你想看的全都给剪没啦。当你看到了这段文字,就去它大爷的世界末日吧!如果你是考古学家,我可以自豪的告诉你,我们那个年代电脑早就飞进了平常百姓家。

千万不要以为我在闲扯,Linux与泰坦尼克号这个倒霉蛋是有着千丝万缕的联系的。具体有什么联系,咱们按下不表,在后面的章节中还会有十分精彩的描述。

很多人会认为Linux是一个年轻的操作系统,至少我本人在很长一段时间内都是这么认为的。因为它总能紧跟时代潮流,别人有什么它有什么,USB、WIFI、SSD……

突然发现,原来岁月是最大的小偷,在我最不经意间,将我的很多东西都已经悄悄的偷走,青春、激情、自信……我使用Linux已经超过了十五年,而且到本书截稿时,Linux已经整整21周岁了。

对于计算机产业这个新技术日新月异的行当来说,拥有21年历史且在操作上没有什么变化的系统不能不算老旧。可是Linux并不是原创,亦或我们说Linux“抄袭”了别人也不算过分。而正是因为它“抄袭”的对象——Unix更是足够的Niubility的,所以Linux也被称之为类Unix系统。

Unix自1969年诞生至今,已经40多年的历史了。然而,其基本的操作方式和一些理论基础并没有太大改变。而且最终形成一个强大的Unix文化(本书后面的章节将做详细介绍)。Linux将这股文化深深的融入到了自己的内心深处,也使得它的很多行为表现与那个40年前所诞生的系统没有太大差别。

是的,融于心而表于行,这也正是本章的主题。Linux的用法实际上已经超越了其自身的生命周期,几乎可以说是演绎在现代科技世界中的一部穿越大戏。跟我回到你出生之前吧!先说明,接下来的所有内容都是基于文本命令行的,至于图形界面下如何操作,我们是不想侮辱大家的智商的。

2.1 多用户多任务分时操作系统

世界上第一台电脑是没有操作系统的,主要是因为太慢而运行不了。由于晶体管的发明和微程序概念的应用,使得电脑从机械装置变成了真正的电子产品。这样,系统管理工具和简化硬件操作流程的程序很快就出现了,这成为操作系统的滥觞。随着电脑速度的提升,充分利用计算资源这种“节能减排”的需求呼之欲出,很快就有了批处理操作系统。但是批处理问题很多,提交的任务不再受到控制,这显然会让很多人十分恼火。如何能够让人与电脑直接互动又可以“节能减排”,成为了那个年代的热门话题,那大约是在20世纪60年代初。

很快就有会有新证据证明人类是这个星球上最聪明的生物,很快有人(具体是谁搞不清了)提出了分时系统的概念:将大型电脑珍贵的时间资源适当分配在所有使用者的身上,让所有使用者都有独占整部机器的感觉。依据这个想法,通用电器、麻省理工学院和贝尔实验室合伙搞起了Multics项目,这是在当时看来是最靠谱的分时系统概念。只是由于太“靠谱”了(真正的多用户多任务分时操作系统),在当时的技术条件下去完成它实在是吃力,所以最终的命运很悲惨。但是有两个游戏爱好者,Multics项目的成员:Ken Thompson和Dennis Ritchie为了能够有电脑玩游戏,决定自己给一台闲置的电脑写个操作系统,于是Unix——一个实用的多用户多任务分时操作系统——就诞生了(就因为这个故事,我始终保持着经常打游戏的好习惯)。

我们熟知的Windows XP、Linux、Mac OS X等都是多用户多任务分时操作系统,可见这个概念一直延续到了今天。它们最显著的特点就是可以让多个人使用同一台电脑而切不能互相窥探对方的秘密,当你使用电脑的时候可以边听音乐边看新闻,同时还能跟朋友聊天,如果你觉得你的大脑还能处理得过来,你还能让这台电脑同时干更多的事情。其实这类操作系统我们完全可以只用“分时”二字简要概述下来。因为“分时”就像它最初的定义那样:将电脑的时间资源适当分配给所有使用者身上,让所有使用者有独占机器的感觉。但是如果把“使用者”进行抽象,就不仅可以代表人,还可以将任务也理解为电脑时间资源的使用者,那么“分时”就是多用户和多任务的基础和前提。所以,既然是“分时”的,一般都会支持多用户和多任务。

需要注意,我只是说一般都会支持多用户和多任务。为什么呢?因为对于一个分时系统,支持多任务是其与生俱来的本质,但是如果要支持多用户,则还需要很多附加的条件,最大的一个问题就是用户的身份问题。要确定哪些用户能够执行何种操作,这样才能保证系统运行稳定和可靠。只有有效的管理好用户的身份,才能被称之为是多用户的。Linux在这方面的能力是毋庸质疑的,从其诞生的那一天起就是多用户的,所以它拥有非常良好的用户身份确认机制。Windows其实也具备这样的能力,某些版本甚至做得比Linux做得还要好,只是大多数用户都没注意到这个问题。所以系统读过本书的人如果还需要继续使用Windows,那么请重新考虑你的Windows用户问题。

作为一个多用户操作系统,有些时候提供单用户模式是非常必要的。这个主要是用于系统在发生故障时,进行故障修复时使用的。所谓单用户模式,就是操作系统不去确认用户的身份,可以直接让用户进行各种操作。但是有的人可能会担心安全问题,这就像得病后需要吃药一样,都知道是药三分毒,可是病了还得吃,只能是两害相加取其轻。能够有办法找回数据在大多数时候比数据彻底丢了是更重要的事情。

linux就是这个范儿之融于心而表于行(1)的更多相关文章

  1. 《Linux就是这个范儿》

    <Linux就是这个范儿> 基本信息 作者: 赵鑫磊    (加)Jie Zhang(张洁) 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115359360 上架时间:2 ...

  2. Linux就这个范儿 第10章 生死与共的兄弟

    Linux就这个范儿 第10章 生死与共的兄弟 就说Linux系统的开机.必须经过加载BIOS.读取MBR.Boot Loader.加载内核.启动init进程并确定运行等级.执行初始化脚本.启动内核模 ...

  3. Linux就这个范儿 第18章 这里也是鼓乐笙箫 Linux读写内存数据的三种方式

    Linux就这个范儿 第18章  这里也是鼓乐笙箫  Linux读写内存数据的三种方式 P703 Linux读写内存数据的三种方式 1.read  ,write方式会在用户空间和内核空间不断拷贝数据, ...

  4. Linux就这个范儿 第19章 团结就是力量 LSB是Linux标准化基地(Linux Standards Base)的简称

    Linux就这个范儿 第19章 团结就是力量  LSB是Linux标准化基地(Linux Standards Base)的简称 这个图片好可爱,它是LSB组织的图标.你肯定会问:“图标这么设计一定有说 ...

  5. Linux就这个范儿 第16章 谁都可以从头再来--从头开始编译一套Linux系统 nsswitch.conf配置文件

    Linux就这个范儿 第16章 谁都可以从头再来--从头开始编译一套Linux系统  nsswitch.conf配置文件 朋友们,今天我对你们说,在此时此刻,我们虽然遭受种种困难和挫折,我仍然有一个梦 ...

  6. Linux就这个范儿 第15章 七种武器 linux 同步IO: sync、fsync与fdatasync Linux中的内存大页面huge page/large page David Cutler Linux读写内存数据的三种方式

    Linux就这个范儿 第15章 七种武器  linux 同步IO: sync.fsync与fdatasync   Linux中的内存大页面huge page/large page  David Cut ...

  7. Linux就这个范儿 第14章 身在江湖

    Linux就这个范儿 第14章 身在江湖 “有人的地方就有江湖”,如今的计算机世界就像一个“江湖”.且不说冠希哥有多么无奈,把微博当QQ的局长有多么失败,就说如此平凡的你我什么时候就成了任人摆布的羔羊 ...

  8. Linux就这个范儿 第13章 打通任督二脉

    Linux就这个范儿 第13章 打通任督二脉 0111010110……你有没有想过,数据从看得见或看不见的线缆上飞来飞去,是怎么实现的呢?数据传输业务的未来又在哪里?在前面两章中我们学习了Linux网 ...

  9. Linux就这个范儿 第12章 一个网络一个世界

    Linux就这个范儿 第12章 一个网络一个世界 与Linux有缘相识还得从一项开发任务说起.十八年前,我在Nucleus  OS上开发无线网桥AP,需要加入STP生成树协议(SpanningTree ...

随机推荐

  1. Pyhon中的除法

    Python中分为3种除法:传统除法.精确除法.地板除. 传统除法: 如果是整数除法则执行地板除,如果是浮点数除法则执行精确除法. >>>1/2 0 >>>1.0/ ...

  2. JSON 之JAVA 解析

    一.   JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧. Json建构于两种结构:     1.“名称/值”对的集合(A collection ...

  3. php类 静态变量赋值 static $name="abc"

    <?php class test { static $name="abc"; } echo test::$name; 1.巴斯科范式 class_statement: var ...

  4. [转载]Java的内存回收机制

    转自:http://www.admin10000.com/document/1671.html 在Java中,它的内存管理包括两方面:内存分配(创建Java对象的时候)和内存回收,这两方面工作都是由J ...

  5. SDOI2012Longge的问题

    2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 930  Solved: 601[Submit][St ...

  6. [转] 字符串模式匹配算法——BM、Horspool、Sunday、KMP、KR、AC算法一网打尽

    字符串模式匹配算法——BM.Horspool.Sunday.KMP.KR.AC算法一网打尽 转载自:http://dsqiu.iteye.com/blog/1700312 本文内容框架: §1 Boy ...

  7. 怎么找到MyEclipse->add struts capabilities

    问:MyEclipse:我的工程右键可以MyEclipse->add struts capabilities之前有,后来不知怎么就没有了,谁知道怎么弄出来是struts 答:你已经add过一次了 ...

  8. vtiger 支持 物业收费功能 微信收费

    谁要?需要什么功能? 直接在下面留言,博主会整理大家的需求,形成产品,发出来.

  9. ASP.NET MVC中默认Model Binder绑定Action参数为List、Dictionary等集合的实例

    在实际的ASP.NET mvc项目开发中,有时会遇到一个参数是一个List.Dictionary等集合类型的情况,默认的情况ASP.NET MVC框架是怎么为我们绑定ASP.NET MVC的Actio ...

  10. asp.net微信公众平台开发

    http://mp.weixin.qq.com/wiki/index.php?title=%E6%B6%88%E6%81%AF%E6%8E%A5%E5%8F%A3%E6%8C%87%E5%8D%97 ...