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.

最新文章

  1. js快捷输入日期
  2. iOS JsonModel 的使用
  3. ZeroMQ接口函数之 :zmq_ctx_term - 终结一个ZMQ环境上下文
  4. 常用的WinAPI函数整理
  5. 转 Android中shape中的属性大全
  6. React Native学习-measure测量view的宽高值
  7. android禁止ScrollView自动滚动
  8. dp和px,那些不得不吐槽的故事——Android平台图
  9. Delphi 调用netsh命令修改IP地址
  10. mapreduce 关于小文件导致任务缓慢的问题
  11. heap表和iot表排序规则不同
  12. IOS研究院之打开照相机与本地相册选择图片(六)
  13. python_变量的命名规则
  14. 使用r.js优化静态资源
  15. 从Html5直播到互动直播,看直播协议的选择
  16. Spring Boot 整合Quartz定时器
  17. 关于chrome密码保存框的神坑,这样子解决就行
  18. HTK计算mfcc/filter_bank源码解析
  19. shell编程之测试和判断
  20. CentOS使用virt-what知道虚拟机的虚拟化技术

热门文章

  1. FluentValidation
  2. WebService的创建发布及部署
  3. ACM/ICPC 之 混合图的欧拉回路判定-网络流(POJ1637)
  4. JavaScript高级程序设计学习笔记--事件
  5. 【笔记】cookies管理工具类
  6. hive 普通创建表和跟新列操作
  7. 理解WebService SOAP WSDL
  8. [译]:Orchard入门——Orchard控制面板概览
  9. CodeForces 444C 分块
  10. 关于HTML5的拖拽