(一)操作系统主要关注的点
kernel-os内部组件:
1. CPU调度器;
2. 物理内存管理;
3. 虚拟内存管理;
4. 文件系统管理;
5. 中断处理与设备驱动;
也就是对于学习操作系统,应该首先从这五个方面去学习;在os中,CPU调度问题,内存问题,文件系统,中断是最基本的概念;特别是在os中,磁盘是被虚拟为文件,内存虚拟为地址,这样,操作系统为上层应用程序提供服务时,使得上层应用只需要去关注文件和地址就能去使用硬件中的内存和磁盘;而中断则是外部设备与os的交互,当外部设备连接到计算机时,外部设备产生一个中断来通知os,告知os,该设备允许被os使用,可以为os提供该设备的服务。
(二)并发与并行区别
并发:在一段时间内,有多个进程在运行;
并行:在同一时刻内,有多个进程在运行;
并发与并行的主要区别在于,时间点的选取;在早期的计算机中,由于是单核的CPU,使得在同一时刻只能运行一个进程,而人们为了提高CPU的使用效率,使用多道程序设计作业,这样就能使CPU在一段时间内,通过中断来运行多个程序,也就是并发;随着科技的发展,计算机由单核发展为多核,使得,计算机能在同一时刻运行多个进程,也就是并行。
(三)OS kernel特征
1. 并发
2. 共享
3. 虚拟
4. 异步
多道程序设计:多道程序设计是在计算机内存中同时存放几道相互独立的程序,使得它们能在CPU调度器的管理下相互穿插的运行,此时CPU只能在同一时刻处理一个进程;
分时系统:CPU的运行分成若干时间片分别处理不同的运算请求,当运行一个程序时,分配给它运行的一个时间片(千分之一秒)结束后,操作系统就去运行另一个进程,使得从宏观上来看,感觉所有进程都在运行;
(五)VM虚拟机和VMM虚拟机监视器
操作系统将硬件资源虚拟为文件和地址提供给上层应用使用,这样多个上层应用就会觉得每个人都拥有独立的硬件资源;虚拟机也是同样的道理,不过虚拟机是操作系统与硬件的中间层,这样导致的结果就是,使得多个操作系统认为自己都拥有独一无二的硬件资源,也就让每一个用户觉得自己就是一台计算机。
(六)计算机启动
DISK:存放OS
BIOS:基本I/O处理系统
BootLoader:加载OS
当计算机一上电,计算机首先寻找显卡运行BIOS进行自检,自检一些必备的外设是否正常工作;自检正常后,加载磁盘中的BootLoader进行运行,BootLoader是一段只有512字节的小程序,它记录了OS的所在位置和OS的大小;BootLoader运行后,加载OS,从而将控制权交给OS。