并发与并行
并发是指宏观上在一段时间内能同时运行多个程序,而并行则指同一时刻能运行多个指令;
并行需要硬件支持,如多流水线或者多处理器;
操作系统通过引入进程和线程,使得程序能够并发运行;
共享
共享是指系统中的资源可以被多个并发进程共同使用;
有两种共享方式:互斥共享和同时共享;
互斥共享的资源称为临界资源,例如打印机等,在同一时间只允许一个进程访问,需要用同步机制来实现对临界资源的访问;
虚拟
虚拟技术把一个物理实体转换为多个逻辑实体;
主要有两种虚拟技术:时分复用技术(主要针对CPU)和空分复用技术(主要针对内存);
例如多个进程能在同一个处理器上并发执行使用了时分复用技术,让每个进程轮流占有处理器,每次只执行一小个时间片并快速切换;
空分复用技术主要面临两个问题:1.程序之间如何防护,以及内核如何防护其它程序;就是程序之间的隔离的问题;2.如何处理内存地址的重定位;
下面是经典的解决策略: 利用一个检测单元实现程序的保护,利用一个映射单元实现重定位;
实现中则是利用一个基址寄存器(base register)和一个界限寄存器(limit register);
前者保证程序不可能引用到低于该基址的存储空间,而后者保证程序不可能引用到高于界限寄存器值的存储空间。这一策略同时解决了程序防护和重定位着两个问题;
在这里完成检测和映射工作的逻辑电路称为内存管理单元(Memory Management Unit——MMU);
稍微复杂一些的MMU分别有两个基址寄存器和两个界限寄存器。这就实现了对程序段和数据段的分别定位。可以使多个用户共享一个程序段成为可能;
异步
异步指进程不是一次性执行完毕,而是走走停停,以不可知的速度向前推进;
操作系统概述总结
最新推荐文章于 2021-12-26 22:30:24 发布