USTC-暑期补课 OS笔记3
- 进程间的制约关系:间接制约(竞争->互斥),直接制约(协作->同步)
- 死锁问题:多个进程互不相让,都不能得到足够的资源
- 饥饿问题:即使没有死锁问题,一个进程总是得不到资源(其它进程轮流占用资源)
- 临界区:它指程序中的一段特定的区域,在这个区域里,程序可能访问公共数据
- 使用临界区应遵循的准则:空闲让进,忙则等待,有限等待,让权等待
- 操作系统可从进程管理者的角度来处理互斥的问题,信号量就是OS提供的管理公有资源的有效手段
- 必须成对使用P和V原语,遗漏P原语则不能保证互斥访问,遗漏V原语则不能在使用临界资源之后将其释放(给其他等待的进程),P、V原语不能次序错误、重复或遗漏
- 管程的定义:管程是关于共享资源的数据结构及一组针对该资源的操作过程所构成的软件模块。
作业1: 使用PV原语实现以下读者写者问题,条件:
- [ ] 多个读者可以同时进行读
- [ ] 写者必须互斥(只允许一个写者写,也不能读者、写者同时进行)
- [ ] 写者优先于读者(一旦有写者,则后续读者必须 等待,唤醒时优先考虑写者)
作业2:给出哲学家进餐问题的另外一种解法,请分析其互斥过程。
USTC-暑期补课 组原1
- Data-path、Control、Memory、 Input 、Output
- Cpu、Memory、I/O
- “如果一个函数的值能被某个纯粹的机械过程求得,那么此函数就是能行可计算的”,可见,“可计算函数”是须要前提的,此前提就是存在着一台可以求解函数值的机器,换句话说,“可计算性”涉及到“问题”与“机器”二个层次
- 帕斯卡加法器–内动力计算机实践 巴贝奇分析机–内程序计算机实践
- 图灵首次从行为主义的角度给出了人工智能的定义
- 图灵机的特点:
1. 并不保存所有问题的结果
2. 问题求解由程序或过程给出,程序和过程可以通过语言描述
3. 执行程序的时间是有限的