q1

:material-circle-edit-outline: 约 662 个字 :material-clock-time-two-outline: 预计阅读时间 2 分钟

image-20250106151928100

image-20250106152223750

image-20250106152509111

image-20250106154804410

单片操作系统的所有功能都集成在一个大的内核中,因此对其进行修改或扩展通常比较困难

微内核架构将大部分系统服务(如文件系统、网络协议栈等)作为用户空间程序运行,只有最基本的功能(如进程管理、内存管理等)保留在内核中

分层操作系统(Layered OS)将操作系统功能划分为多个层次,每一层提供一组特定的服务

image-20250106155332815

image-20250106173059142

现代操作系统通常使用打印队列和 spooling 技术来管理打印作业。当你提交打印作业时,操作系统会将该作业放入打印队列中,并将其 spool 到一个临时存储区域(如硬盘)。打印作业会按照提交的顺序排队等待打印,一旦当前作业完成,打印机就会自动开始打印下一个作业。

image-20250106173813005

image-20250106173931122

  1. 0
  2. 0
  3. V a
  4. V b
  5. V c
  6. P b
  7. V d
  8. P e

image-20250106174606538

image-20250106175210160

TestAndSet 指令是一种原子操作,用于测试并设置一个标志位。它通常用于实现自旋锁,自旋锁在等待锁释放时会不断检查标志位,而不是让权等待,因此会导致忙等待(busy-waiting).

Peterson 方法是一种用于解决两个进程的互斥问题的经典算法。它通过共享变量和忙等待来实现互斥,但不支持让权等待,因为进程在等待时会不断检查共享变量的状态.

image-20250106175307270

当进程被阻塞在信号量的队列上时,它并不是在进行忙等待(busy waiting)。相反,它会进入等待状态(或阻塞状态),这意味着进程会释放 CPU 资源,直到信号量变为可用状态。操作系统会将该进程从运行状态转换为等待状态,并在信号量被释放时将其唤醒。因此,信号量机制支持让权等待,而不是忙等待。

image-20250106175743859

image-20250106182856756

image-20250106183411110

image-20250106184417250

image-20250106185354350

为文件分配连续的磁盘簇可以减少磁盘的寻道时间和旋转延迟,因为磁头不需要在不同的磁盘位置之间移动来读取文件的不同部分。这种连续存储方式使得文件的读写操作更加高效,从而提高文件访问速度.

image-20250106185541271

索引节点用于存储文件的元数据信息,如文件大小、权限、时间戳等,以及指向文件数据块的指针。索引节点本身并不直接管理空闲磁盘块,而是用于组织文件的数据块分配.

image-20250106190245621

image-20250106192300425

image-20250106193320982

image-20250106193352701

image-20250106194117836

image-20250106203436918