注:磁盘格式为FAT32的,支持存储的最大单个文件的大小为2G(仅限于win7及以上的系统,而winXP可以支持到32G),而NTFS可以支持任意大小的单个文件。
注:对与VMware中的虚拟机要进入BIOS系统需要在启动的时候按住Ctrl+Alt+Insert(重启系统)然后按F2键。
- 1、程序:指令+数据。而指令和数据必须要载入内存才能被读取。
- 2、计算机体系结构:
- 运算器
- 控制器(加上运算器就是平常所说的CPU)
- 存储器
- 输入设备
- 输出设备
- 3、RAM:Random-Access Memory(随机存取存储器), 它是用来存储程序和数据的部件,具有掉电易失性。
- 4、ROM-read only memory只读存储器,与RAM相反属于一种固话存储器(一次写入反复读取)。
- 5、计算机如何确定你的输入输出是针对于哪一个设备的?
- 答:通过向CPU发送中断(interrupt)信号来通知计算机响应硬件设备的请求。CPU通过可编程中断控制器(该控制器上有多根线或针脚,每个线对应一个硬件设备,也可以通过在单根线上标记中断向量来表示多个硬件)。
- 6、FSB(Front side Bus前端总线):是将CPU连接到北桥芯片的总线。前端总线是处理器与主板北桥芯片或内存控制集线器之间的数据通道,其频率高低直接影响CPU访问内存的速度。
- 7、可以通过在北桥芯片上连接大量的硬盘设备(一般来讲是接在南桥芯片上的)来应对大量、快速的磁盘IO操作。
- 8、程序的局部性原理(CPU一二三缓存的必要性):
- 时间局部性原理:最近使用过的数据很有可能在接下来的程序运行过程中还可能用到。
- 空间局部性原理:最近使用过的数据附近的数据很有可能在接下来的运行过程中要用到。
- 9、API:Application Programming Interface(应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。操作系统算是一种针对于硬件的API。
- 10、CPU通过分配时间片来切换工作(job)该过程由操作系统完成,若当前进程的时间片使用完了,就将该进程的状态(称之为现场)保存在内存中切换到下一个进程。而每个程序默认都是从地址起始位为0处读取数据,所以就将内存进行了分段,每一段都有一个起始位。
- 11、虚拟内存:对于32位的操作系统,内存最大只能到4G,因为地址总线宽度最多有32位,所以
2^32=4G
。每一个程序在运行的过程中它自己根据系统的位数来判断自己能够使用多大的内存,如32系统就可以使用4G的内存空间,而不去管实际计算机的内存有多大,这就是常说的虚拟内存的概念。 - 12、库:是将底层的系统调用封装起来的一种高级接口(API),它也是一种程序,但是它没有程序的执行入口(类似于C中的main函数),只能被调用,只提供调用(call)接口。
- 13、系统调用:有了操作系统,任何程序都不能直接和底层的硬件打交道,如果需要使用底层的硬件必须通过操作系统提供的系统调用(System call)来实现,但一般很少直接调用系统调用,进程一般都是通过库来实现相关的调用。
- 14、shell:是一种特殊的软件,分为图形用户界面(GUI)的和命令行界面(CLI)的两类,是一种人机交互的接口,操作系统就是一个shell。
- 15、程序运行的时候,内存大致可以粗糙地分为三段,最底层是BIOS的映射程序(POST加电自检),自检完成后需要载入内核(所以第二段是内核空间即kernel space),第三段是被多个应用程序共享的内存空间,但是这样容易产生内存碎片。
- 16、内核的功能(系统的功能):
- 进程管理
- 内存管理
- 文件系统
- 网络功能
- 硬件驱动
- 安全机制
- 17、为了支持程序的“共产主义”,stallman创办了GNU组织(它是一个递归缩写,GUN is Not Unix),发布了GPL(General Public License通用公共许可证)。
- 18、GNU组织拥有的著名的软件:
- linux、bash(Linux全名叫做GNU/Linux)
- glibc:是linux的一个基于C的库
- gcc:GUN C Compiler,linux中的C编译器
- 19、一般来讲源代码经过编译后的二进制代码只支持当前型号下的CPU环境下运行。
- 20、Linux系统下的软件管理器:
- dpt(Debian);次发行版:apt(Ubuntu)——>Mint(ubuntu的二次发行版)
- rpm(RedHat);CentOS(二次发行版),Mandriva
- 21、RedHat6.0是企业级系统,RedHat9.0是个人版。
- 22、Linux的基本原则:
- ① 由目的单一的小程序组成:组合小程序完成复杂任务;
- ② 一切皆文件;
- ③ 尽量避免捕获用户接口;
- ④ 配置文件保存为文本文件。
- 23、CLI接口:
- 类别:sh,bash,csh,zsh,ksh,tcsh
- 命令提示符的不同:(bash)
- “#”表示
root
用户 - “$”表示普通用户
- “#”表示
- 命令格式:
- 命令(可执行文件的路径或者命令的名字) + 选项(用来修改命令的执行方式) + 参数(表示命令的作用对象)
- 选项分为长选项和短选项:
-
:短选项后接字母,可以组合使用:-a -b = -ab--
:长选项后接单词,不可组合使用
- 虚拟终端:可以按住
Ctrl + Alt + F1(F1...F6)
切换虚拟终端。 - 用命令行切换到图形界面:在终端输入
startx &
敲回车键即可启动图形界面(GUI),等价于按住Ctrl + Alt + F7
- 24、GUI(Graphic User Interface)接口:
- 类别:Gnome(C编写)、KDE(C++编写)、XFace
- Linux的桌面称为X-Window
- 25、切换用户:
su
(switch user)- 使用方法:su [] 用户名;”[]”中的参数是可选的
passwd
命令用于修改密码
- 26、在Windows中会常常见到
.dll
文件,这里的dll文件就是一个共享库文件,全称是动态链接库(Dynamic Link Library);而在Linux系统中的共享库文件以.so
作为后缀,叫做Shared Object。 - 27、在一个操作系统中,最重要的是kernel、库以及shell。
- 28、任何程序都有一个执行入口,这个执行入口是一个二进制数,称为魔数(Magic number),linux和windows和魔数有可能是不同的。
- 例如写脚本的时候:
#!/bin/bash
- 例如写脚本的时候:
- 29、目录是一种特殊的文件,它是路径的映射。
- 30、对于Linux文件系统,Linux标准委员会设定了一个标准:FHS即Filesystem Hierarchy Standard(文件系统层次化标准),哪个文件放哪些功能的内容基本都是规定好的。