操作系统基本概念

2019-01-20

详见Interview-Notebook——计算机操作系统

1 并行和串行

  • 并行并发执行的真子集,指同一时间两个进程运行在不同的机器上或者同一个机器不同的核心上。如果计算机系统中有多个处理器(核心是CPU),那么就可以做到真正的多个程序“同时”执行,因为各CPU可以在同一时刻执行各自的指令。为了与单一CPU上的并发相区别,我们称这种执行方式为并行(parallel)执行。
    bx

  • 串行 计算机执行程序时,如果采用按顺序执行的方式,即仅当一个程序执行完毕,下一个程序才能开始执行,则称为串行(serial)执行。在串行执行方式下,CPU 每次由一个程序独占使用,只要当前程序还没有结束,下一个程序就不能使用 CPU。

2 顺序执行和并发执行

  • 顺序执行 是程序的一种执行方式。是把一个具有独立功能的程序独占处理机直至最终结束的过程称为程序的顺序执行。
  • 并发执行 CPU不停地在多个程序之间切换执行,这种多个相互独立的程序交叉执行的方式称为并发(concurrent)执行。并发执行的多个程序的起止时间是交叉重叠的(进程B的开始时间是在进程A的开始时间与结束时间之间,我们就说A和B是并发的。),而不是串行执行方式下的前后相继。
    bf

3 同步和异步

同步和异步关注的是消息通信机制

  • 同步 就是在发出一个调用时,在没有得到结果之前,该调用就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由调用者主动等待这个调用的结果。
  • 异步 调用在发出之后,这个调用就直接返回了,所以没有返回结果。换句话说,当一个异步过程调用发出后,调用者不会立刻得到结果。而是在调用发出后,被调用者通过状态来通知调用者,或通过回调函数处理这个调用。

4 阻塞和非阻塞

阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态

  • 阻塞调用是指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会返回。
  • 非阻塞调用指在不能立刻得到结果之前,该调用不会阻塞当前线程。

5 分布式计算

分布式计算是一种计算方法,和单机计算是相对的。随着计算技术的发展,有些应用需要非常巨大的计算能力才能完成,分布式计算将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。

6 并行计算

并行计算(Parallel Computing)或称平行计算是相对于串行计算来说的。是指同时使用多种计算资源解决计算问题的过程。它的基本思想是用多个处理器来协同求解同一问题,即将被求解的问题分解成若干个部分,各部分均由一个独立的处理机来并行计算。

并行计算系统既可以是专门设计的、含有多个处理器的超级计算机,也可以是以某种方式互连的若干台的独立计算机构成的集群。通过并行计算集群完成数据的处理,再将处理的结果返回给用户。

bj