Chinaunix首页 | 论坛 | 博客
  • 博客访问: 30864
  • 博文数量: 21
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 260
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-29 17:51
文章分类

全部博文(21)

文章存档

2011年(1)

2009年(20)

我的朋友
最近访客

分类:

2009-06-29 18:08:17

第三次课:

       传统程序不能满足需要,问题解决:进程Process

       单处理机系统(硬件发展):多核处理器

              ABC窗口             200,南京(C/Server

20-120-120-1

五个哲学家,围坐在一张桌子边,放着一盘面条,左、右手各有一根筷子。Thinking,eat.

每个哲学家占有了一根筷子,再去申请另外一根。

进程有不同的优先级,当有一个优先级更高的进程进入就绪队列,而调度算法采用的是剥夺式(抢占式)调度策略时,当前进程会进入就绪状态让出CPU给优先权更高的进程使用。

就绪状态:当一个进程获得了除CPU(处理机)之外的所有其他需要的资源时。

卡耐基—梅隆大学

通信的命令

 

第四周:进程同步

必须对并发的进程进行控制:异步/不可再现性

吃香蕉:

进程的推进是“走走停停”,不可预知的顺序

逻辑错误

软件测试:软件测试只能证明程序有错,不能证明程序无错。

数学证明:程序设计方法学(霍尔,何积丰)

       可信计算

       进程的运行状态:目标态/管态          用户态/核心态

User Mode/Kernel Mode

忙等待(busy-waiting

Peterson方法(忙等待)

       优先级反转问题

Minix             Linux

荷兰,数据结构(信号量,int类型的变量)  P/V

Wait/signal

Down/up

信号量的物理含义:表示当前可用的资源数目,如果该值为0,表示可用的资源正好分配完毕,如果该值为负数,则表示有若干进程因为申请该资源没有得到满足而被阻塞,被阻塞的进程数目等于该值的绝对值。

生产者-消费者:BUFFER-SIZE10

Semaphore size =10;

Wait(size) 

Mutex:一般作为一个互斥信号量的名字出现;互斥信号量一般初值为1

Semaphore s1,s2,s3=0,0,0;

运动员1:听枪响;

                     100

                     VS1);

运动员2PS1);

                     100

                     VS2);

运动员3PS2

                     100

                     VS3

运动员4PS3

                     100

C/S能不能用在单机环境中?能

客户机/服务器:不是一个硬件

读者—写者问题:

       多个读者可以同时读,写者不能同时写,读和写不同时进行

1)              读者优先:当有一个读者在读时,其他读者可以直接进入临界区进行读操作。写者进程必须等待到没有读者读时才能进入。

需要什么信号量?

需要一个互斥信号量来控制写者进程。write

需要一个互斥信号量控制对读者数目的统计count++/--变量?mutex

2)              写者优先:当有写者要写入数据时,当前正在读的进程可以读完,但其他想要读的进程需要等待写者完成写操作之后再读。

生产者/消费者:同步(控制进程推进的顺序)

哲学家就餐问题:并发的问题(预防/避免死锁

       竞争筷子引起的

三种方法:1、最多只能有4个人参与竞争

                     2、规定奇数号先拿左边,偶数号的先拿右边

                     3、仅当两根筷子都能用时才能拿。(信号量集的机制)

死锁的引发根本原因是?资源不足

PASCAL语言

Semaphore plate =1,bana=0,oran=0;

Parbegin

       Process father

       Begin

              Repeat    

                     剥桔子

                     Wait(plate)

                     放到盘子中

                     Signal(oran)

              Until false

       End

Process mother

Begin

              Repeat    

                     剥香蕉

                     Wait(plate)

                     放到盘子中

                     Signal(bana)

              Until false

End

Process son

              Repeat

                     Wait(oran)

                     拿桔子

                     Singal(plate)

                    

              End

Process daughter

              Repeat

                     Wait(bana)

                     拿香蕉

                     Singal(plate)

                    

              End

Parend

系统调用是操作系统提供的供程序员编程使用的接口。程序员可以使用这些函数实现对计算机软硬件资源的控制。

MFC API函数  圆形的窗口

Fork()

Kill()

时间片轮转:保存现场信息(上下文切换)

              分时系统来说,时间片越小越好

阅读(483) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:大学生毕业应该具有怎样的素质

给主人留下些什么吧!~~