1.操作系统的概念
① 操作系统是管理计算机硬件与软件资源的程序,是计算机的基石。
② 操作系统本质是一个运行在计算机上的软件程序,用于管理计算机硬件和软件资源。举例:运行在你电脑上的所有应用程序都通过操作系统来调用系统内存以及磁盘等等硬件。
③ 操作系统屏蔽了硬件层的复杂性。操作系统就像是硬件使用的负责人,统筹各种相关事项。
④ 操作系统的内核是操作系统的核心部分,负责系统的进程管理(应用程序)、内存管理、文件管理和设备管理。内核是连接应用程序和硬件的桥梁,决定着系统的性能和稳定性。
2.基本功能
2.1 进程管理
进程控制、进程同步、进程通信、死锁处理等。
2.2 内存管理
虚拟内存、地址映射、内存分配、内存保护与共享等。
2.3 设备管理
缓冲管理、设备分配、设备处理、虛拟设备。处理用户的 I/O 请求,方便用户使用各种设备,并提高设备的利用率。
2.4 文件管理
文件存储空间的管理、目录管理、文件读写管理和保护等。
3.系统调用
(1)什么是系统调用?
用户态:运行的用户程序或者进程。
系统态:运行操作系统程序或者进程,可以访问计算机的任何资源,不受限制。
系统调用:当用户程序需要操作系统态级别的资源时,例如进程控制、进程通信、内存管理、文件管理等,都要通过系统调用的方式,即请求系统,由操作系统代为完成其操作。
(2)系统调用的分类
① 进程控制:完成进程的创建、阻塞、唤醒、挂起、激活和终止。
② 进程通信:完成进程之间的消息传递或者信号传递等功能。
③ 内存管理:完成内存的分配、回收、获取内存区和地址等功能。
④ 文件管理:完成文件的读、写、创建及删除等功能。
⑤ 设备管理:完成设备的请求、释放、启动等功能。
Linux 的系统调用主要有:
4.中断分类
(1)外中断
由 CPU 执行指令以外的事件引起,例如 I/O 完成中断,表示设备输入/输出处理已经完成,处理器能够发送下一个输入/输出请求。还有时钟中断、控制台中断等。
(2)异常
由 CPU 执行指令的内部事件引起,例如,非法操作码、地址越界、算术溢出等。
(3)陷入
用户程序使用系统调用。