一、什么是操作系统
操作系统是计算机上的一个软件,负责管理硬件资源来方便应用程序,同时提高硬件资源的使用效率。操作系统分为内核与 shell(shell 就是能够让用户操作的应用程序,比如命令行和图形化界面,内核是能操作硬件的程序,是操作系统的核心)
管理的硬件有:CPU 管理、内存管理、终端管理、磁盘管理、文件管理、网络管理、电源管理、多核管理。
二、电脑开机的过程
- CPU 寻址 0xFFFF0 (ROM BIOS,Basic Input Ouput System,它是一组固化到计算机内主板上一个 ROM 芯片上的程序,保存着基本输入输出程序、系统设置信息、开机后自检程序和系统自启程序)
- 检查硬件:RAM、键盘、显示器、硬盘
- 将磁盘 0 磁道 0 扇区读入 0x7c00 处(该位置的程序是 bootsect.s,这是一段汇编程序,可以实现精确控制,负责把操作系统载入到内存中)
- 将 CPU 指针移动到 0X7c00 处
三、操作系统的历史
3.1 第一条主线
-
IBM7094:1955——1965,这是批处理操作系统,只能一个任务接着一个任务完成,不能够在任务间切换;
-
OS/360:1965——1980,这个操作系统的目的是让一台计算机干多种事,这时引出了操作系统中最重要的概念多道程序,作业之间的切换和调度成为核心:因为既有 IO 任务,又有计算任务,需要让 CPU 忙碌,但是该操作系统由于过于复杂,以失败告终;
-
MULTICS:1965——1980,计算机进入多个行业,使用人数增加,需要一台计算机为多个人服务,每个人启动一个作业,作业之间快速切换,核心是任务切换,同时引出了资源复用的思想,比如虚拟内存。
-
UNIX:1980——1990,UNIX 是一个简化的 MUTICS,核心概念差不多,但更灵活和成功。
可以看到,操作系统的第一条主线的核心就是进程管理(资源复用也是为了进程管理所服务的,进程管理是指操作系统让多个进程合理推进)
3.2 第二条主线
第二条主线是 CP/M => QDOS => MS-DOS => Windows => Unix => System => Mac OS => IOS
第二条主线的核心:
- 进程管理
- 文件管理
四、总结
学习操作系统的关键就是要学习进程管理和文件管理,其中为了服务于进程管理,又引入了内存管理的概念。