鸟哥的Linux私房菜(基础版)第一章学习笔记

学习笔记

计算机:计算的辅助工具

计算机的记忆/存储单位以字节(Byte)或位(bit)为基本单位。他们的换算关系如下:
1 Byte = 8 bit
1 KB = 1024 B
1 MB = 1024 KB
1 GB = 1024 MB

什么是操作系统

“比较完整的操作系统”应该包含两个组件,一个是“核心与其提供的接口工具”,另一个是“利用核心提供的接口工具所开发的软件”。

核心就是“Kernel”,它是操作系统最底层的东西,每个操作系统都有自己的核心,由它来掌握整个硬件资源的工作状态。
一般来说,Kernel 为了实现用户所需要的正确运算结果,必须要管理的事项有:
系统调用接口(System call interface) : 通过这个接口,程序开发人员可以轻松地与核心沟通,进一步利用硬件资源。
进程控制(Process control) : 在多任务环境中,一部计算机可能同时有很多的作业 等待CPU 运算处理, 核心这时必须能够控制这些工作并有效地分配CPU的资源。
内存管理(Memory management) : 控制整个系统的内存;若内存不足,核心还能够提供虚拟内存的功能。
文件系统管理(File system management) : 文件系统的管理,例如数据的输入输出 (I/O) 以及不同文件格式的支持等,如果核心不能识别某个文件系统, 那么将无法使用该文件格式的文件。例如: Windows 98 就不认识 NTFS 文件格式的硬盘。
设备驱动程序(Device drivers) : 如上所述,硬件管理是 核心的主要工作之一,当然,设备驱动程序就是核心需要做的事情。 “可加载模块”功能可以将驱动程序编辑成模块,而不需要重新的编译核心。
用户、用户界面与核心工具、核心及硬件之间的相关性

Linux历史

  • Unix创始人:贝尔实验室的Ken Thompson和Dennis M.Ritchie.

    Linux 创始人 :Linus Tovalds 林纳斯.托瓦兹

    SUN的BSD是Unix重要一个分支。

  • FSF(Free Software Foundation)自由软件基金会

    GNU (GNU’s Not Unix) GUN计划:目标创建一套自由完整的操作系统。

    GPL(General Public License) 通用公共许可证

    FHS(File Hierarchy Standard) 文件系统层次标准

Linux 核心网站: http://www.kernel.org

版本号:偶数->稳定版 奇数->测试版

主要流行发行版本

  • CentOS :从RED HAT 发展而来的发行版,由志愿者维护。

  • Debian :一个强烈信奉自由软件,并由自愿者维护的系统。

  • Fedora :是REDHAT的社区版

  • Knoppix :第一个Live CD发行版,可以从可移动介质运行,Debian的衍生版。

  • Kubuntu :使用KDE桌面的Ubuntu。

  • Open SUSE :最初由Slackware分离出来,现在由Novell维护。

  • RedHat :是Fedora的商业版,由Redhat维护和提供技术支持。

  • Ubuntu :一个非常流行的桌面发行版,由Patrick J.Volkerding维护。

  • Mandriva :最初为Redhat的衍生版,现在由法国一个同门的公司维护。

课后习题及答案

  1. 一个完整的操作系统至少要能够完整地控制整个硬件,请问,操作系统应该要控制硬件的哪些单元?

    (1)input/output crontrol
    (2)device control
    (3)process management
    (4)file management

    运算单元、控制单元、寄存器组、总线接口单元、输入/输出单元。操作系统只是在管理整个硬件资源,包括CPU、内存、输入输出设备及文件系统,因此操作系统要控制的就是这些硬件的内部单元。

  2. 核心功能在于管理控制整个系统硬件,这包括CPU运算单元的管理、输入/输出的管理,内存的管理,等等。那么,请问一个较为完整的操作系统,应该包含哪些部分?

    应该包含 kernel + kernel Tools +Applications 等等

  3. 1GB硬盘空间等于多少KB?

    1GBytes = 1024 MBytes * 1024 KBytes/MBytes = 1048576 KBytes

  4. 您在主机上安装了一张网卡,开机之后系统无法使用,您确定网络卡是好的,那么问题可能出现在哪里?该如何解决?

    因所有的硬件都没有问题,所以,最可能出问题的地方在于系统核心(Kernel)不支持这张网卡。解决办法,到网卡的开发商网站,下载支持您主机作业系统的驱动程序(一般为源码),编译后,挂载网卡驱动模块就可以使用了。

    网卡问题:
    硬件问题——网卡的PCI插槽没有插好,重新插好即可。
    软件问题——
    ①没有禁用主板自带网卡,导致新装网卡无法识别,禁用即可;
    ②网卡过新,原有网卡驱动程序版本老旧导致系统无法识别,更新驱动程序即可;
    ③网卡驱动未安装,安装驱动即可。

  5. 我在一台主机上安装Windows操作系统时,安装了显卡的驱动程序,它是没有问题的。但是安装Linux时,却无法完整地显示整个X Windows。请问,是否可以将Windows上的显卡驱动程序安装在Linux上?

    不行! 因为核心不同,针对硬件所写的驱动程序也会不相同, 编译器也不同,当然,驱动程序也无法在两个操作系统间兼容。 这也是为何开发商在他们的网站上面,都会同时提供许多不同操作系统的驱动程序之故。

  6. 在Windows上能玩的游戏,是否可以到Linux去玩?

    当然不行! 跟上一题相似的,因为游戏也是一个应用程序 (application), 他必须要使用到核心所提供的工具来开发他的游戏, 所以这个游戏是不可在不同的平台间运作的。 除非这个游戏已经进行了移植。

  7. 什么是软件的移植?

    程式是由代码(通成为ASCII格式)经过编译器编译成为 binary file 之后, 才能够在该操作系统上面执行。 因此,您可以将您的程序的代码修改成可以适应其他操作系统的环境,并且加以编译,使程序可以在其他平台上运作, 此修改的动作即为移植。

  8. Linux本身仅是一个核心与相关的核心工具而已,不过,它已经可以驱动所有的硬件,所以,可以算是一个很优秀的操作系统。经过其他应用程序的开发后,被整合成为Linux发行版。请问众多的版本之间有什么异同?

    相同:利用同样的 Linux kernel (http://www.kernel.org),几乎相同的自由软件套件 (例如 GNU 里面的 gcc/glibc/vi/apache/bind/sendmail… ),几乎相同的操作界面 (例如均使用 bash/KDE/GNOME 等等)。

    不同:使用的 kernel 与各软件的版本可能会不同;各开发商加入的应用工具不同, 使用的套件管理模式不同(debian 与 RPM)

  9. UNIX是谁写出来的?GNU计划是谁发起的?

    Unix 是 Ken Thompson 写的,1973 年再由 Dennis Ritchie 以 C 语言改写成功。 至于 GNU 与 FSF 则是 Richard Stallman 发起的。

  10. GNU的全名是什么?主要由哪个基金会支持?

    Unix 是 Ken Thompson 写的,1973 年再由 Dennis Ritchie 以 C 语言改写成功。 至于 GNU 与 FSF 则是 Richard Stallman 发起的。

  11. 如何获取Linux发行版的可安装光盘?

    目前各大版本的 Linux distribution 大致上仍然依附在 GPL 这个版权宣告上, 因此在网络上面都可以轻易的下载,若有兴趣的话可以到各发展的厂商主网页去下载。

  12. 简单说明什么是GNU的GPL?(简单说明 GNU General Public License ( GPL ) 与 Open Source 的精神)

    1.任何个人或公司均可释出自由软件(free software);
    2.任何释出自由软件的个人或公司,均可由自己的服务来收取适当的费用;
    3.该软件的源代码 (Source Code) 需要随软件附上,并且是可公开发布的;
    4.任何人均可通过任何正常渠道取得此一自由软件,且均可取得此一授权模式
    5.经过修改后Open Source 应该回馈给Linux社群。

  13. 何为多用户(Multi-user)、多任务(Multitask)?

    Multiuser 指的是 Linux 允许多人同时连上主机之外, 每个用户皆有其各人的使用环境,并且可以同时使用系统的资源!

    Multitask 指的是多工环境,在 Linux 系统下, CPU 与其他例如网络资源可以同时进行多项工作, Linux 最大的特色之一即在于其多工时,资源分配较为平均!

  14. 有人问"Linux”是什么?该如何回答?

    简单的说Linux就是一个作业系统,或者说,Linux是作业系统最底层的核心,这个核心可以管理整个电脑硬件,让电脑硬件可以万恒的做作起来,并等待使用者输入指令。最早Linux是由Linus Torvalds在1991年写出来的,后来由于他承接了Unix的良好传统;稳定性高、多人多工作的环境设计优良,要求配置低等优点,所以很多软件开发商在这个核心上面开发,而某些厂商将这些软件与核心整合成为可以完整安装的光碟,而成为目前大家常听到的Linux操作系统了。

  15. 什么是POSIX?为什么说Linux使用POSIX对开发者有好处?

    POSIX是一种标准规范,主要针对在UNIX作业系统上面跑的应用程序而进行的规范。若您的作业系统符合POSIX规范,则符合POSIX的程序就可以在您的作业系统上面运行。Linux由于支持POSIX规范,因此,很多Unix上的程序可以直接在LINUX运作,因此,程序的移植就相当简易。也让大家容易转换平台,提升Linux的使用率。

  16. Linux的开发主要分为那连个核心版本?

    主要分为奇数的发展中版本,如:2.5 ,及偶数的稳定版本 如:2.6

  17. 简单的说明自由软件与开放源码的软件的区别?

    自由软件指:你可以拥有自由的取得、复制、修改,再发行该软件的权力,由于具有这些权力,因此自由软件通常是指 Open Source的。

    开放源码是指:软件释放出来时,同时释放原始代码,但使用者取得原始代码后,能否修改源代码,则依据该软件的授权而定,意识是说,自由软件是Open Source的,但Open Source不见得是自由软件。

  18. 什么是LINUX的Live CD?

    所谓Live CD 就是将完整的Linux distribution 放置到一张光碟当中,然后透过成新开机以(光碟开机),就能够不使用硬盘而直接进入LINUX系统的环境.

  19. 简单说明Linux成功的因素。

    1.由MINIX操作系统开发的类UNIX系统,没有版权纠纷;
    2.由GNU计划所提供的各项工具软件,如:GCC 、bash等;
    3.由INTERNET广为流传;
    4.支持POSIX标准,让核心能够适合所有软件的开发;
    5.托瓦兹强调务实,虚拟团队的自然形成。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ʚ兔子的先森ɞ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值