《鸟哥的Linux私房菜》学习记录

第0章 计算机概论

第1遍

第2遍

0.7 参考数据与扩展阅读

注1:英文维基百科

CPU:点击打开链接

Contents

0.4.2操作系统

如前所述,早期想要让计算机执行程序就得要参考一堆硬件功能函数,并且要学习机器语言才能够编写程序。同时每次写程序是时必须重新改写,因为硬件与软件功能不见得都一致。那如果我能够将所有的硬件都驱动,并且提供一个开发软件的参考接口来给工程师开发软件。

操作系统内核(Kernel:

 

操作系统其实也是一组程序,这组程序的重点在于管理计算机的所有活动,驱动系统中所有硬件,通俗地说,操作系统可以:

让CPU开始逻辑与运算数值;

让内存可以开始加载/读出数据与程序代码;

让硬盘可以被访问;

让网卡可以开始传输数据;

让所有周边可以开始运转。

总之,硬件所有的操作都必须要通过这个操作系统来完成。

上述功能就是操作系统内核了!你的计算机能不能做到某些事情,都与内核有关。只有内核提供了相关的功能,你的计算机系统才能帮你完成。(内核不支持TCP/IP协议,无论购买什么样网卡,这个内核都无法提供网络服务)

内核主要在于管控硬件与提供相关的能力。内核程序放置到内存当中的区块是受保护的,并且开机后就一直常驻在内存当中。


第一章 Linux是什么

1.1.2 Linux之前的UNIX的历史

# Multics系统(Bell/MIT/GE一个伟大的梦想)

卡片阅读机——键盘

一台主机多终端机——MIT开发分时操作系统:让大型主机提供多个终端机连接进入主机,从而利用主机的资源进行运算工作。(这个兼容分时操作系统可以说是近代操作系统的鼻祖呢!它可以让多个用户在某一段时间内分别使用CPU资源,感觉上会觉得大家是同时使用该主机的资源。事实上,是CPU在每个用户的工作之间进行切换)

为加强大型主机功能以便让主机资源可以提供更多用户来利用,发起这个Multics系统计划(让大型主机可以同时提供300台以上终端机连接使用)


# Ken Thompson的小型File Server System

原本参与Multics项目人员中已经从该项目中获得一些想法,Ken Thompson就是其中之一。他利用DEC的PDP-7进行操作系统内核程序编写。(以汇编语言写出了一组内核程序,包括内核工具程序以及一个小的文件系统)。该系统就是UNIX的原型。(当时Thompson将Multics庞大的复杂系统简化了不少,于是实验室朋友都戏称这个系统为Unics)

Thompson的这个文件系统有两个重要的概念:

所有程序和系统装置都是文件;不管构建编辑器还是附属文件,所写的程序只有一个目的,就是要有效地完成目标。


UNIX正式诞生,Ritchie等人以C语言写出第一个正式UNIX内核

Thompson写的那个操作系统实在太好用了广为流传,但其以汇编语言写成,具有专一性不方便移植。

Thompson和Ritchie合作将Unics改以更高级程序语言来编写。(当时现成高级程序语言有B语言,后来Dennis Ritchie将B语言重新改写成C语言,以C语言重新改写与编译UniCS的内核,最后发行UNIX正是版本)


UNIX分支——BSD诞生

对UNIX移植得到BSD


X86架构的Minix操作系统诞生

既然1979年UNIX第七版可以在Intel的x86架构上面进行移植,那么是否意味着可以将UNIX改写并移植到x86上面呢?AndrewTanenbaum教授自己动手写了Minix这个UNIX Like内核程序。


第3章 主机规划与磁盘分区

3.1.3 各硬件设备在Linux中的文件名

在Linux系统中,每个设备都被当成了一个文件来对待。

3.2磁盘分区

IDE接口,一个IDE扁平电缆看可以连接两个IDE设备,通常主机会提供两个IDE接口,因此最多可以连接四个IDE设备。这两个IDE接口通常被称为IDE1和IDE2,而每条扁平电缆上面的IDE设备可以被区分为Master(主设备)与Slave(从设备)。

SATA接口 根据Linux内核检测到磁盘的顺序

3.2.2 磁盘的组成复习

其实整块磁盘第一扇区(512bytes)特别重要,因为它记录了整块磁盘的重要信息:

主引导分区:可以安装引导加载程序的地方。(446bytes)

分区表:记录整块分区的状态(64bytes)

3.2.3磁盘分区表

3.2.4开机流程与主引导分区

开机程序

整个开机流程到操作系统之前的动作应该是这样的:

1 BIOS:开机主动执行的韧体,会认识第一个可开机的设备(开机后计算机系统会主动执行的第一个程序,取得能够开机的硬盘,并到该硬盘里面读取第一个扇区的MBR位置。)

2 MBR:   第一个可开机设备的第一个扇区内的主引导分区块,内包含引导加载程序。

3 引导加载程序(Boot loader):一支可读取内核文件来执行的软件。(主要任务:提供菜单,选择不同开机选项;载入内核文件,直接指向可开机的程序区段来开始操作系统;转交其他loader,将引导加载功能转交给其他loader负责)

4 内核文件: 开始操作系统的功能。

多重引导

一块硬盘,如何在开机时候选择用Windows还是Linux开机呢,其流程!

先装Windows后装Linux依据。

3.2.5 Linux安装模式下,磁盘分区选择

目录树结构(directory tree)

整个Linux系统最重要的地方就是在于目录树结构。所谓目录树就是以根目录为主,然后向下呈现分支状的目录结构一种文件结构。

我们文件数据其实就是放置在磁盘分区当中,现在的问题是如何结合目录树的架构与磁盘内的数据,这个时候就牵扯到“挂载”的问题(mount)

文件系统与目录树的关系


第4章 安装CentOS 5.x与多重引导小技巧

第5章 首次登录与在线求助man page

Linux系统使用了异步的磁盘/内存数据传输模式 || 多人多任务的环境 = 不能随便不正常关机(错误关机导致磁盘数据损毁)

5.1 X Window的窗口管理员环境:GNOME 和 KDE

X Window与命令行模式的切换


5.2 在命令行模式下执行命令

显示日期与时间命令:date

显示日历的命令:cal

简单好用的计算器:bc

5.2.3 重要的热键[Tab], [Ctrl]-c, [Ctrl]-d


5.3 Linux系统在线求助man page与info page

5.4 超简单文本编辑器:nano

5.5正确关机方法:













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值