苏州大学操作系统第六章浅析.ppt

* * 每个哲学家按照以下的顺序轮流调用操作 pickup() 和putdown() dp.pickup (i) EAT dp.putdown (i) 哲学家就餐问题的管程解决方案 7、同步实例 Solaris同步 Solaris 实现了多种锁来支持多任务、多线程(包括实时线程)和多进程处理。 - 适应互斥量:保护那些为较短代码段所访问的数据 - 条件变量 - 信号量 - 读–写锁:用于保护经常访问但通常是只读访问的数据 - 十字转门:用于安排等待获取适应互斥和读写锁的线程链表 Linux: 使用禁止中断来实现短的临界区 Linux 提供: 信号量 自旋锁 Linux 同步 在单处理器系统中,使用中断屏蔽来保护全局资源的访问 在多处理器系统中使用自旋锁 也提供调度对象,这些对象类似于互斥、信号量等 调度对象也可以提供事件来同步(events) 事件的使用与条件变量类似 Windows 同步 Pthreads API 操作系统无关 提供了: 互斥锁 条件变量 不可移植的扩展包括: 读写锁 自旋锁 Pthreads同步 Windows同步机制 事件(Event) 临界区(Critical Section) 信号量(Semaphore) 事

文档评论(0)

1亿VIP精品文档

相关文档