操作系统是计算机系统的核心组成部分,负责管理和控制系统的硬件和软件资源,提供用户接口和服务。以下是对题目中涉及的一些操作系统知识的详细解析:
1. **操作系统内核**:内核是操作系统的中心部分,它负责处理系统的基本任务,如进程管理、内存管理、设备驱动等。虽然内核通常在一个中断处理上下文中执行,但它并不总是处于屏蔽中断的状态,中断可以在特定时刻恢复以处理其他紧急事件。
2. **进程与线程**:进程是系统中独立的执行单元,拥有自己的地址空间和资源。线程是进程内的执行流,共享进程的资源,但不独立分配资源。进程挂起和激活通常由系统或父进程控制,而线程的创建和销毁则更灵活。
3. **处理器调度**:调度分为高级调度(作业调度)、中级调度(内存调度)和低级调度(进程调度)。高级调度主要负责作业的选入内存,中级调度负责将进程换出到外存,低级调度负责进程在处理器上的实际切换。平衡负载调度通常指的是作业调度。
4. **信号量机制**:信号量用于解决进程间的同步和互斥问题。P 操作减小信号量,V 操作增加信号量。私有信号量通常不允许其他进程执行 V 操作,但在某些实现中,所有相关进程都可能执行 V 操作,以确保正确同步。
5. **进程同步与互斥**:互斥是指同一时间只有一个进程能访问资源,而同步是控制进程执行顺序和协调。进程间的互斥关系可以看作一种特殊的同步形式。
6. **死锁**:死锁是当多个进程因争夺资源而形成的僵局,每个进程都在等待其他进程释放资源。无环路的进程-资源分配图表示没有死锁,但有环路不一定意味着死锁,还需满足其他条件。
7. **存储管理**:分页式存储管理将内存划分为固定大小的页,非连续分配,而固定分区存储管理将内存分割成固定大小的区域,连续分配。请求分页是一种虚拟存储技术,允许缺页时才调入内存。
8. **设备管理**:磁盘是直接存取设备,磁带是顺序存取设备。独占设备通常静态分配,共享设备则动态分配。
9. **文件系统**:文件目录是文件按名存取的关键,包括文件的建立、维护、检索等功能。文件是操作系统中数据组织的基本单位,进程通过文件系统访问数据。
10. **操作系统的结构**:客户/服务器结构将服务进程置于用户态,而微内核结构将大部分服务功能移到内核态。Linux 实际上是一个基于微内核的系统,但它的内核包含了大量原本属于用户态的功能。
11. **权限与安全**:Unix 的文件访问控制是 DAC,用户可以根据权限自由访问文件。Linux 支持硬链接和软链接,软链接(符号链接)可以跨文件系统共享。
12. **系统初始化**:在 Linux 系统中,init 进程是第一个启动的程序,PID 为 1,负责进一步初始化系统和启动其他服务。
13. **文件系统操作**:即使只拥有只读权限,也能列出目录内容,但不能进入或修改。硬链接不允许链接到目录,以防止破坏目录结构。
14. **操作系统配置**:操作系统一般不可任意配置,而是根据预定的设计和编译选项构建。
15. **原语**:原语是原子操作,不可中断,通常在管态执行。
16. **内存管理**:Linux 使用交换分区和交换文件保存交换页面,以处理内存不足的情况。
17. **并发性**:并发性是指进程在逻辑上同时执行,但并非物理上同时发生,而是快速交替执行。
18. **页表规模**:页表的大小与页面数有关,而不是页面大小。
这些知识点覆盖了操作系统的基本概念,如进程管理、内存管理、设备管理、文件系统、并发性、安全性和系统结构等多个方面,是计算机科学尤其是操作系统课程的重点内容。对于准备操作系统考研的学生来说,理解并掌握这些知识点至关重要。