Announcement

Collapse
No announcement yet.

[Hỏi] Bài Tập Đồng Bộ Hóa Với Semaphore Hệ Điều Hành

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [Hỏi] Bài Tập Đồng Bộ Hóa Với Semaphore Hệ Điều Hành

    Mình đang ôn Hệ Điều Hành tới Semaphore thì gặp bài tập này. Anh em nào vào giải thích giùm mình với.
    Đề : Xét 2 tiến trình A,B
    Proces A
    {
    while(1)
    Na=Na+1;
    }
    Process B
    {
    while(1)
    Nb=Nb+1;
    }
    Đồng bộ hóa 2 tiến trình trên dùng Semaphore, sao cho tại mọi thời điểm bất kì : Nb<Na<=Nb+10.

    Đây là bài giải :
    Code:
    Process A
    {
        while(1) {
          Wait(S21);
          Na=Na+1;
          Signal(S12);
        }
    }
    Process B
    {
       while(1) {
         Wait(S12);
         Nb=Nb+1;
         Signal(S21);
       }
    }
    Khởi tạo: S21= 10; S12=0;
    Mình không hiểu rõ lắm ở chỗ.
    1> Process A thực hiện trước Process B 10 lần . Sau đó thì trình tự thực hiên là: A->B->A->B.... luân phiên
    2>Process A thực hiện trước Process B 10 lần sau. Sau đó Process B thực hiện 10. Rồi lặp lại A 10 lần-> B 10 lần->A 10 lần....... luân phiên
    Vậy thì hiểu theo ý 1 hay ý 2 là đúng ? Mình nghĩ là ý 2 nhưng không chắc lắm nên hỏi anh em. Anh em nào giải thích giùm mình với. Thank trước:nose:
    11520207
    Trương Văn Linh
    Last edited by 11520207; 30-12-2012, 12:09.

  • #2
    mình nghĩ cái này là : mặc xác thằng Na tăng lên bao nhiêu, chỉ cần Nb<Na<Nb+10 thì nó vẫn được phép chay , nếu không thì nó sẽ bị block :happy:
    Một khẩu súng giữ hai trời Nam Bắc,
    Một dấu chân in màu đất hai miền.

    ------------------------------------------------------

    Comment


    • #3
      Hình như cái này có nghĩa là B không đợi quá 10 lần.

      Comment


      • #4
        Originally posted by 10520273 View Post
        Hình như cái này có nghĩa là B không đợi quá 10 lần.
        mấy bạn cho mình hỏi, trên kia là bài giải luôn phải không?
        thầy yêu cầu code phải biên dịch được trên linux.

        Comment


        • #5
          em cũng đang thắc mắc như anh ???

          Comment

          LHQC

          Collapse
          Working...
          X