Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операциялық жүйелер.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
835 Кб
Скачать
☆

5 Тақырып. Процесстер мен ағымдарды синхрондау

Сұрақтар:

  1. Синхрондаудың мақсаты және құралдары

  2. Қудалау мен синхрондаудың қажеттілігі

  3. Шиеленіскен секция

  4. Семафорлар

  5. Тығырықтар

  6. Операциялық жүйенің синхрондау объектіле

  7. Сигналдар

Тапсырмалар:

    1. Семафорларды ұйымдастырыңыз.

    2. Монитордың көмегімен екілік семафорды құрыңыз.

Әдістемелік нұсқау:

1. typedef struct {

   lock_t  lock; /* әрбір екі процеске арналған байт статусы */

   int     count; /* процестердің қайсысы кезекті екендігін анықтайды */

   proc_t* head; /* */

   proc_t* tail

} sema_t;

void init_sema(sema_t* seraa, int initial_count) {

   init_lock(&sema->lock);

   sema->head = NULL;

   sema->tail = NULL;

   sema-> count = initial_count;

}

void P(sema_t* sema) {

   lock(&sema->lock);

   sema->count-- ;

   if ( sema->count < 0) {

     if ( sema->head == NULL)

        sema->head = u.u_procp;

     else

        sema->tail~>p_next = u.u_procp;

     u.u_procp->p_next = NULL;

     sema->tail = u.u_procp;

     unlock(&sema->lock);

     switch();

     return;

   }

   unlock(&sema->lock);

}

void V(sema_t* sema) {

   proc_t* p;

   lock(&sema->lock);

   sema->count++;

   if ( sema->count <= 0) {

     p = sema->head;

     sema->head = p->p_next;

     if ( sema->head == NULL)

       sema->tail = NULL;

     unlock(ssema->lock);

     enqueue(Srunqueue, p);

     return;

   }

   unlock(&sema->lock);

}

2. monitor sema;

var

   s: integer = 1; /* семафорды көрсететін айнымалы */

   res_is_free: cond_t;

procedure P; /* ресурсты қабылдау */

begin

   if s = 1

   then s := 0

   else wait(res_is_free)

end;

procedure V; /* ресурсты босату */

begin

   s := 1;

   signal(res_is_free)

end;

end monitor;

Негізгі әдебиет: [6-7]

Қосымша әдебиет: [8-18]

6 Тақырып. Үзулер

Сұрақтар:

  1. Үзулер механизмі

  2. Үзулер негізінде мультипрограммалау

  3. Программалық үзулер

  4. Жүйелік шақырулар

Тапсырмалар:

  1. Соңғы фрагментацияны анықтаңыз.

  2. Флоппи дискіге немесе флеш дискіге дефрагментация жасаңыз.

  3. Проверка диска арқылы диск қателерін тексеріңіз.

  4. Очистка диска арқылы дискідегі қажет емес құжаттарды жойыңыз.

  5. Жүйе жайлы ақпарат алыңыз.

Әдістемелік нұсқау: Қызметші программаларды келесі командаларды орындау арқылы көре аласыз: Пуск – Все программы – Стандартные – Служебные.

Негізгі әдебиет: [6-7]

Қосымша әдебиет: [8-18]

7 Тақырып. Жадты басқару

Сұрақтар:

1. Адрестер түрлері

2. Жадыны үлестіру алгоритмдері

3. Жадыны фиксирленген бөлімдермен үлестіру

4. Жадыны динамикалық бөлімдермен бөлу

5. Ауыстырмалы бөлімдер

6. Свопинг және виртуалды жады

7. Беттік үлестіру

8. Жадының бөлінбелі сегменттері

9. Есте сақтау құрылғыларының иерархиясы

Тапсырмалар:

  1. Иілгіш дискіні форматтап, оны жүйелік диск етіңіз.

  2. Қонақ тіркелу жазбасын белсенділеңіз.

  3. Өз тіркелу жазбаңызды құрыңыз.

  4. Құрған тіркелу жазбасын өзгертіңіз.

  5. Құрылған тіркелу жазбасын өшіріңіз.

Әдістемелік нұсқау: Тапсырмалардың шешілу жолдары негізгі 7-ші әдебиеттің 3-бөлімінде көрсетілген.

Негізгі әдебиет: [6-7]

Қосымша әдебиет: [8-18]