《操作系统》试题举例-简答题

  1. What is system call? How many kinds of system calls are there, and what the mainly function of each kind?

系统调用是获取操作系统所提供服务的接口。

种类如下:

  1. 进程控制:完成进程的创建、撤销等功能;
  2. 文件管理:完成文件的读、写、创建、删除等功能;
  3. 设备管理:完成设备的请求、释放等;
  4. 信息维护:维护系统的各种信息、进程的信息;
  5. 通信:完成进程间的通信或消息传递等。

 

  1. Give a brief explanation of three major methods of allocating disk space: contiguous, linked, and indexed. Which types FAT and Unix File System respectively belong to?

连续分配:每个文件在磁盘上占有一组连续的块;

链接分配:每个文件是磁盘块的链表,磁盘块分布在磁盘的任何地方;

索引分配:通过索引块把所有指针放在一起。

FAT(文件分配表)属于链接分配;

UNIX 使用了索引分配。

 

  1. Consider a system with 6 tape drives, being shared by N processes. Each process needs at most 2 tape drives at a time. What value of N can make the system deadlock-free?

假设有x个进程,每个进程已经占有一个设备,此时刚好死锁发生,则有:x*1=6;

那么当N<6时候,死锁是避免的。

 

  1. What's the difference between process and program? What's the difference between process and thread?

进程和程序的区别:

  1. 进程是动态的,程序静态;
  2. 进程有PCB、数据、栈等系统资源,程序只有数据和代码;
  3. 进程有生命周期,程序可一直存在。

进程与线程:

  1. 线程是调度的最小单位,进程是资源分配的最小单位;
  2. 线程通信可通过内存直接通信,进程比较复杂;
  3. 线程开销小,进程开销大;
  4. 线程共享同一进程的资源。

 

  1. What is the cause of trashing? How does the system detect thrashing? Once it detects thrashing, what can the system do to eliminate this problem?

颠簸:由于帧分配不足,造成的频繁页置换。

检测颠簸:检测页错误率

解决颠簸:

(1)工作集合模型:操作系统跟踪每个进程的页集合,并分配适当的帧给它;

(2)页错误频率(PFF)策略:设置页错误率上下限,高于上线则多分配,低于下限则少分配。

 

  1. What is SPOOLing? Describe how SPOOLing works using printer as an example.

假脱机技术:一种通过缓冲队列等实现的将独占设备改造成共享设备的技术。

打印机:输入输出设备、输入输出进程、输入输出缓冲区、输入输出井。

 

  1. Consider a system consisting of 4 resources of the same type that are shared by three processes, each of which needs at most 2 resources. Show that the system is deadlock free.

根据互斥、非抢占、占有等待、循环等待条件,我们先假设每个进程占有一个资源,此时还有一个资源剩余,那么这个资源分配给任何一个进程,都将使得进程完成并释放掉资源,避免了死锁的产生。

 

  1. Give a brief explanation of three major methods of allocating disk space, which types FAT and Unix File system respectively belong to?

连续分配:每个文件占有一组磁盘的连续块;

链接分配:每个文件是磁盘块的链表;

索引分配:与链接分配类似,不过每个文件的指针都放在了一个地方(索引块)

 

  1. Explain the differences between micro-kernel(微内核) and monolithic kernel(单内核) .What are the differences between Linux and other traditional monolithic kernels?

书上的一些操作系统结构:

  1. 简单结构:在最小空间追求最多功能;
  2. 分层结构:安全好实现,效率低;
  3. 微内核:好扩充,功能越多性能下降;
  4. 模块:面向对象思想,有一个核心,其它模块通过核心通信、调用。

 

  1. PCB记录有哪些信息?请举例。

进程状态、程序计数器、cpu寄存器、cpu调度信息、内存管理信息、记账信息、I/O状态信息

你可能感兴趣的:(竞赛考试)