1. 北桥:高速总线

  2. 南桥:低速总线

  3. 进程:程序运行的实例,副本

  4. 进程上下文切换:cpu分配给程序运行的时间是分片的。如果当程序运行了第二条指令后cpu时间已经耗完,此时需要进行进程切换。而切换前必须保存当前进程的所有状态,称为保护现场。而当再次轮到该程序运行时需要切换至cpu上,并且恢复为原来的状态,称为恢复现场。

  5. 内核负责完成进程切换,因此占据CPU的资源和内存资源。但是此过程中并无生产力。因此,如果进程切换过于频繁,则效率低下。

  6. GCC:GNU C Complier。过程:预处理-->编译-->汇编-->链接

  7. IO控制器,适配器:集成于内部为控制器,外置则为适配器。其中有键盘IO控制器,硬盘IO控制器等,其作用将CPU发出的指令到硬件中执行,将电气特性转换为数字特性的工具。

  8. 进程由父进程fork自身而来。如在shell下执行ls,则ls的父进程为shell

  9. 父进程先向内核申请,启动一个结构。子进程启动后并无自己的内存,而是指向了父进程的内存空间来装载自己的程序。

  10. 最佳占比:用户空间/内核空间 = 7/3

  11. Linux:全称GNU/Linux

  12. GPL:General Public License。GPL协定过于苛刻,因此后来出现其他开源协定如BSD协定,Apache协定等。它们都比GPL松散,哪怕自己修改程序或者项目的10%也能认为自主开发。

  13. LGPL:更加宽松和简单的GPL,可以以库调用的方式调用别人的库以供自己做商业用途。

  14. 开源并不是免费,别人依旧拥有版权,因此不能侵犯别人的版权。

  15. 版权:copyright。  开源版权:copyleft

  16. 三大Linux发行版:redhat,suse,debian

  17. 内核功能:文件系统,网络协议栈,进程管理,加密/解密,驱动程序(内核和硬件之前的桥梁)

  18. 地址空间:ROM+RAM

  19. ROM:加电自检,cpu寻址地址空间的组成部分。

  20. 库:二次封装的系统调用,也可能仅仅为一些简单功能的封装。

  21. POSIX规范:可移植操作系统。目的是移植应用程序。Linux遵循posix规范,遵循标准的API。

  22. 应用程序运行需要ABI。

  23. init:操作系统(指Linux)的第一个进程,专门负责生成其他进程,为所有进程的父进程,用户空间启动的第一个进程,为内核的使者。

  24. rc版:发行候选release candidate

  25. 内核版本:主线版mainline,稳定版stable,长期维护版longterm

  26. 内核版本号:主版本号(引入新机制).次版本号(重大改变).修正号(发行号,如修复漏洞)

  27. Linux终端:

    1. 串行终端:/dev/ttyS#

    2. 物理终端:系统初始化时终端/dev/console

    3. 虚拟终端:附加在物理终端上,能够切换的终端。此时系统已经启动完毕,如tty1~tty6

    4. 伪终端:也叫模拟终端,为远程连接终端或gnome界面选择的terminal。如pts/#

  28. Linux哲学思想:

    1. 一切皆文件

    2. 由众多目的单一的应用程序完成复杂任务,一个程序只做好一件事

    3. 尽量避免跟用户交互

    4. 使用文本文件保存配置信息

    5. 提供机制,而非策略

  29. 自由软件的含义:

    1. 自由使用

    2. 自由学习和修改

    3. 自由创建衍生版

  30. 目录不是文件夹,而是索引