Multiprocessor Operating System Design Considerations SYMMETRIC MULTIPROCESSORS
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION
An SMP operating system manages processor and other computer resources so that
the user perceives a single operating system controlling system resources. In fact,
such a configuration should appear as a single-processor multiprogramming system.
In both the SMP and uniprocessor cases, multiple jobs or processes may be active at
one time, and it is the responsibility of the operating system to schedule their execu-
tion and to allocate resources. A user may construct applications that use multiple
processes or multiple threads within processes without regard to whether a single
processor or multiple processors will be available. Thus, a multiprocessor operating
system must provide all the functionality of a multiprogramming system plus addi-
tional features to accommodate multiple processors. Among the key design issues:
• Simultaneous concurrent processes: OS routines need to be reentrant to allow
several processors to execute the same IS code simultaneously. With mul-
tiple processors executing the same or different parts of the OS, OS tables
and management structures must be managed properly to avoid deadlock or
invalid operations.
• Scheduling: Any processor may perform scheduling, so conflicts must be
avoided. The scheduler must assign ready processes to available processors.
• Synchronization: With multiple active processes having potential access to
shared address spaces or shared I/O resources, care must be taken to provide
effective synchronization. Synchronization is a facility that enforces mutual
exclusion and event ordering.
• Memory management: Memory management on a multiprocessor must
deal with all of the issues found on uniprocessor machines, as is discussed in
Chapter 8. In addition, the operating system needs to exploit the available
hardware parallelism, such as multiported memories, to achieve the best per-
formance. The paging mechanisms on different processors must be coordi-
nated to enforce consistency when several processors share a page or segment
and to decide on page replacement.
• Reliability and fault tolerance: The operating system should provide graceful
degradation in the face of processor failure. The scheduler and other portions
of the operating system must recognize the loss of a processor and restructure
management tables accordingly.
最新文章
- js快捷输入日期
- iOS JsonModel 的使用
- ZeroMQ接口函数之 :zmq_ctx_term - 终结一个ZMQ环境上下文
- 常用的WinAPI函数整理
- 转 Android中shape中的属性大全
- React Native学习-measure测量view的宽高值
- android禁止ScrollView自动滚动
- dp和px,那些不得不吐槽的故事——Android平台图
- Delphi 调用netsh命令修改IP地址
- mapreduce 关于小文件导致任务缓慢的问题
- heap表和iot表排序规则不同
- IOS研究院之打开照相机与本地相册选择图片(六)
- python_变量的命名规则
- 使用r.js优化静态资源
- 从Html5直播到互动直播,看直播协议的选择
- Spring Boot 整合Quartz定时器
- 关于chrome密码保存框的神坑,这样子解决就行
- HTK计算mfcc/filter_bank源码解析
- shell编程之测试和判断
- CentOS使用virt-what知道虚拟机的虚拟化技术