操作系统基础
操作系统
- 操作系统是管理计算机硬件与软件资源的程序,是计算机的基石
- 操作系统本质是运行在计算机上的程序,用于管理计算机硬件与软件资源
- 操作系统屏蔽了硬件的复杂性
- 操作系统的内核是操作系统的核心,负责系统的内存管理,硬件设备管理,文件系统管理以及应用程序管理
内核
维基百科:
内核(英语:Kernel,又称核心)在计算机科学中是一个用来管理软件发出的数据 I/O(输入与输出)要求的电脑程序,将这些要求转译为数据处理的指令并交由中央处理器(CPU)及电脑中其他电子组件进行处理,是现代操作系统中最基本的部分。
它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并由内核决定一个程序在什么时候对某部分硬件操作多长时间。
直接对硬件操作是非常复杂的。所以内核通常提供一种硬件抽象的方法,来完成这些操作。有了这个,通过进程间通信机制及系统调用,应用进程可间接控制所需的硬件资源(特别是处理器及 IO 设备)。
总结:
- 它负责将应用数据的要求进行转译,并将转译后的数据交给cpu及其其它电子组件处理
- 它简化了应用程序操作硬件,是连接应用程序与硬件之间的桥梁
中央处理器(cpu)
何为cpu:
- cpu是一台计算机的运算核心+控制核心,计算机的大脑
- cpu包含两个部分: 控制器 + 运算器
- cpu的根本任务就是执行指令,对计算来说最终都是一串0和1组成的序列
cpu vs 内核(kernel)
- 操作系统是属于操作系统层面,是软件,cpu是属于硬件
- cpu主要提供运算,处理各种指令的能力。内核负责的是内存管理,屏蔽了对硬件的操作

系统调用
根据进程访问资源的特点,可以把进程在系统上的允许分为:
- 用户态: 用户态允许的进程或可以直接读取用户程序的数据
- 系统态: 系统态允许的进程或程序几乎可以访问计算机的任何资源,不受限制
我们的程序大多是用户态的,但凡需要访问任何计算机的资源,那都要发起系统调用,主要分为以下几种调用:
- 设备管理
- 文件管理
- 进程控制
- 进程通信
- 内存管理

Linux
- 类unix系统
- Linux本质是指Linux内核
- Linux之父Linus
Linux文件系统
- 所有被操作系统管理的资源,例如网络接口卡、磁盘驱动器、打印机普通文件或是目录都被看作一个文件。一切都是文件。
- Linux 的文件系统也是借鉴 UNIX 文件系统而来。
- 扇区: 硬盘最小的存储单元,大小为512字节
- 块(block): 多个扇区构成一个块,一个块只能存储一个文件。大小为4k。一个文件大于一个块,可以占用多个块
- 元信息: 记录员文件信息的空间,包括文件存储的各个块,每个块的地址,创建时间,拥有者等信息
- inode: Linux/unix文件系统的基础。存储文件元信息的区域就称为inode。使用stat命令可以查看inode信息
Linux文件类型
- 普通文件: 存储信息和数据
- 目录文件: 目录也是一个文件,包含文件名和子目录名
- 链接文件: 指向文件的地址而不是文件本身
- 字符文件: 用来访问字符设备,比如键盘
- 设备文件: 访问块设备,比如硬盘、软盘
- 管道文件: 特殊的文件,用于进程见通信
- Socket套接字文件: 进程间网络通信,本机间非网络通信。
Linux文件目录

- /bin: 存放二进制可执行文件(ls、cat、mkdir 等),常用命令一般都在这里;
- /etc: 存放系统管理和配置文件;
- /home: 存放所有用户文件的根目录,是用户主目录的基点,比如用户 user 的主目录就是/home/user,可以用~user 表示;
- /usr: 用于存放系统应用程序;
- /opt: 额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把 tomcat 等都安装到这里;
- /proc: 虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息;
- /root: 超级用户(系统管理员)的主目录(特权阶级^o^);
- /sbin: 存放二进制可执行文件,只有 root 才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如 ifconfig 等;
- /dev: 用于存放设备文件;
- /mnt: 系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统;
- /boot: 存放用于系统引导时使用的各种文件;
- /lib : 存放着和系统运行相关的库文件;
- /tmp: 用于存放各种临时文件,是公用的临时文件存储点;
- /var: 用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等;
- /lost+found: 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows 下叫什么.chk)就在这里。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 我做梦的博客!
评论
