计算机概论
1.1 计算机
计算器:接受用户输入指令和数据,经过CPU和ALU处理后,以产生或存储有用信息
- 输入单元
- 主机:含有 主存储器 和 CPU =计算+控制
- 输出单元
1.2 CPU分类
- 精简指令集(Reduced Instruction Set Computing, RISC)
Sun公司的Sparc系列:学术领域的大型工作站、银行金融体系的主服务器等
IBM公司的Power architecture,包括powerPC系列:sony的PS3
Acorn公司的ARM系列:手机、导航系统、网络设备(交换机、路由器)等 - 复杂指令集(Complex Instruction Set Computer,CISC)
各种x86架构的CPU, 如AMD、Intel等
不同x86架构CPU的区别:整体结构(第二层快去、每次运行可执行指令数)、微指令集(加速多媒体程序运作、加强虚拟化效能、节能)
1.3 两大主流CPU的区别,在主板上的区别
Intel
芯片组通常分为两个网桥来控制各个组件的沟通:
- 【北桥】:负责连接速度较快的『CPU、主存储器、显示适配器』等组件
- 【南桥】:负责连接速度较慢的周边接口,包括硬盘、USB、网卡等
AMD
主存储器直接与CPU沟通,而不通过北桥,因为CPU的数据主要来自主存储器,为了加速二者沟通
1.4 computer types
- Supercomputer:国防军事、气象预测、太空科技
- MainframeComputer大型计算:大企业、全国性证券交易所等
(前两个需要特殊的空调场所) - MiniComputer: 科学研究、工程分析、工厂流程管理
- Workstation: 强调稳定不当机、运算过程完全正确
- Microcomputer = PC
操作系统概论

image.png
1991年 Torvalds 先生在写出 Linux 时,其实核心仅能『驱动 386 所有的硬件』而已, 所谓的『让 386 计算机开始运作,等待用户命令输入』而已。
Linux包括 “核心”Kernel 和 “系统呼叫” 两层 (最内层是硬件,最外层是应用程序)
OS的功能:有效控制硬件资源的分配,提供计算机运作需要的功能(如网络),为程序设计师提供更方便的软件开发环境,提供系统呼叫接口
核心层直接参考硬件规格写成,同一个OS不能砸不一样的硬件架构下运作。
操作系统只是在管理硬件资源,如CPU,内存,输入输出设备和文件管理系统;应用程序的开发都是参考操作系统提供的开发接口
Linux VS Windows
Windows 没有的
- 稳定的系统
- 安全性和漏洞的快速修补
- 多用户
- 用户和用户组的规划
- 相对较少的系统资源占用???
- 可定制裁剪,移植到嵌入式平台(如安卓设备)
- 可选择的多种图形用户界面(如 GNOME,KDE)
Linux 没有的
- 特定的支持厂商
- 足够的游戏娱乐支持度
- 足够的专业软件支持度
ubuntu半年发布一次,首次发布是2004.10 故为4.10
Linux核心的版本号

Linux distribution的选择


CentOS与Red Hat的关系

History
- 1960年初, MIT发明了分时操作系统,分时使用CPU资源,OS的始祖吧。
- 1965年, Bell实验室、MIT和通用电气GE公司共同发起Multics计划,目的是让大型主机可以达成提供300个以上的终端机联机的目的
- 1969年前后, 项目失败,Bell实验室退出;不过该计划还是培养了很多优秀人才。其中之一是Ken Tompson,他用四个星期,用汇编写了个OS:UNIX(只是想移植space travelling游戏)名字的teasing:MULTICS = MULTiplexed Information and Computing System ;UNICS(UNiplexed Information and Computing System)后来,UNIX在实验室很流行, Dennis Ritchie发明C语言将其改写插一句:BELL实验室是隶属于AT&T公司,不过公司对其采取比较开放的态度啦~
- 1977年, Berkey大学的 Bill Joy 修改源码,并增加了很多工具软件和编译程序,搞出了Berkeley Software Distribution (BSD),只是UNIX的重要分支哦再插一句:Unix 强调的是多人多任务的环境! 但早期 286 架构下的CPU 是没有能力达到多任务作业,因此,没有人对移植Unix 到 x86计算机上有兴趣。
- 1979年, AT&T推出的System V第七版后,可以支持x86架构的PC了。不过这家公司想搞事情,收回版权,“不可对学生提供原始代码” 再插一句:目前被称为纯种的 Unix 就是 System V 以及 BSD 这两套啰!
- 1984年, x86架构的Minix操作系统诞生,Andrew Tanenbaum教授为了教学自己写的。
- 1984年, Richard Mathew Stallman,RMS开始了他的GNU计划!!
先写一些免费的GNU软件,打响知名度
1 写了Emacs编辑器,并公布源码。
2 然后写了GCC! GNU C Compiler,彼时的C语言编译器很多,但是都是专利软件。
3 GNU C Library (glibc)
4 Bash shell
这些都在1990年左右就搞定了。
注意: 虽然有了很多方便的软件,但是没有『自由的Linux核心』 - 1985年, Stallman和律师草拟了通用公共许可证(General Public License, GPL),称其为copyleft哈哈。防止GNU软件被别人搞成专利软件
- 1988年, 成立非营利性组织 XFree 86, 发展GUI界面。X 意思是下一代windows
- 1991年, 芬兰的赫尔辛基大学Linus Torvalds写了一个核心程序,可以在Intel 386 上运行。托瓦兹是因为小时候去动物园被企鹅咬了一口念念不忘, 而正式的 2.0 推出时,大家要他想一个吉祥物。
- 小结:Linux是OS最底层的Kernel及其提供的核心工具,是GNU GPL的授权模式,任何人都可以取得源码并修改程序。此外,他参考了POSIX设计规范,于是兼容于UNIX操作系统,故亦称之为Unix Like的一种。
分时操作系统 --> Mulitics计划失败 --> Bell实验室汇编和C写UNIX --> BSD --> UNIX收费 --> Minix教学版 --> GNU计划缺OS核心 --> GPL许可证 --> Linux诞生