多道程序设计与系统调用

135 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 3 天,点击查看活动详情


多道程序设计

多道程序设计是指允许多个程序同时进入计算机系统的内存并启动交替计算的方法。 宏观上:多个进程是并行的。微观上:多个进程是串行的。

引入多道程序设计的目的就是cpu的利用率,充分发挥计算机系统的并行性。 cpu利用率的计算方法:cpu占用的总时间/事件完成的总时间

多道程序设计的优缺点

优点

  • 提高cpu的利用率
  • 提高主存和I/O设备的利用率
  • 改进了系统的吞吐率
  • 充分发挥了系统的并行性

缺点

作业周转时间变长

用户接口

为了更好的使用计算机的资源,操作系统为用户提供了用户接口——操作接口和程序接口

  • 操作接口

操作接口由一种控制命令组成。

  • 程序接口

程序接口由一组系统调用组成。

程序接口与系统调用

什么是系统调用?

当上层应用想访问内核资源的时候,调用的操作系统提供的接口,这就是系统调用。

系统调用的作用是什么?

  1. 内核可以根据权限对资源的访问进行判断,保护系统的安全性
  2. 避免用户使用资源的发生错误,且提高编程的效率。

系统调用的分类

  1. 进程和作业管理
  2. 文件操作
  3. 设备管理
  4. 主存管理
  5. 信息维护
  6. 进程通信

系统调用与函数调用的区别

函数调用是由语言提供的,系统调用是由操作系统提供的。

函数调用的在用户态执行的,只能访问核心栈;系统调用则要使用户态变变成内核态,在内核态执行并访问核心栈。

题目练习

 (单选题)对于多道程序设计的理解,以下不正确的有( )

  • A. 就是指可以让多个作业同时进入计算机系统内存,交替执行
  • B. 可以提高cpu资源利用率
  • C. 可以降低周转时间
  • D. 充分发挥系统并行性

答案:  C

以下关于操作系统用户接口的说法,不正确的是(        )

  • A. 系统调用与函数调用是一样的
  • B. 系统调用是操作系统提供的程序接口
  • C. 系统调用是调用内核的一种特殊方式
  • D. 操作接口与程序接口都是操作系统提供的用户接口

答案:  A

image.png

操作系统运行模型中,如果将OS功能服务例程嵌入应用进程中,以下有关说法,不正确的是( )

  • A. 调用操作系统服务,一般不需要进程切换
  • B. Linux与Unix一般采用这种运行机制
  • C. 通过陷入机制进入内核
  • D. 操作系统服务是独立的运行进程

我的答案:  D