Презентация Архитектура вычислительных систем. Синхронизация процессов онлайн

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Архитектура вычислительных систем. Синхронизация процессов абсолютно бесплатно. Урок-презентация на эту тему содержит всего 34 слайда. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Архитектура вычислительных систем. Синхронизация процессов



Оцените!
Оцените презентацию от 1 до 5 баллов!
  • Тип файла:
    ppt / pptx (powerpoint)
  • Всего слайдов:
    34 слайда
  • Для класса:
    1,2,3,4,5,6,7,8,9,10,11
  • Размер файла:
    141.54 kB
  • Просмотров:
    92
  • Скачиваний:
    0
  • Автор:
    неизвестен



Слайды и текст к этой презентации:

№1 слайд
АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНЫХ
Содержание слайда: АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ РАЗДЕЛ 3.1 СИНХРОНИЗАЦИЯ ПРОЦЕССОВ

№2 слайд
Содержание слайда:

№3 слайд
Содержание слайда:

№4 слайд
Содержание слайда:

№5 слайд
Содержание слайда:

№6 слайд
Содержание слайда:

№7 слайд
Содержание слайда:

№8 слайд
Содержание слайда:

№9 слайд
Содержание слайда:

№10 слайд
Содержание слайда:

№11 слайд
Содержание слайда:

№12 слайд
Содержание слайда:

№13 слайд
Содержание слайда:

№14 слайд
Содержание слайда:

№15 слайд
Содержание слайда:

№16 слайд
Пример для C Пример для C
Содержание слайда: Пример для C++(1): Пример для C++(1): // Библиотека потоков POSIX #include <pthread.h> typedef pthread_mutex_t CRIT_SECTION; .... // Функции для работы со стандартными типами void WTF_InitCritSect(CRIT_SECTION * cs) {pthread_mutex_init(cs, NULL); } void WTF_EnterCritSect(CRIT_SECTION * cs) {pthread_mutex_lock(cs); } void WTF_LeaveCritSect(CRIT_SECTION * cs) {pthread_mutex_unlock(cs); } void WTF_DestroyCritSect(CRIT_SECTION * cs) {pthread_mutex_destroy(cs); } ...  

№17 слайд
void main void Пример для C
Содержание слайда: void main (void) { Пример для C++(2): void main (void) { Пример для C++(2): pthread_t task1, task2, task3; ... // Создпние потоков, которые будут бороться за ресурс pthread_create (&task1, NULL, TaskThread, (void*) &thread1Info); pthread_create (&task2, NULL, TaskThread, (void*) &thread2Info); pthread_create (&task3, NULL, TaskThread, (void*) &thread3Info); pthread_detach (task1); //независимое исполн потоков pthread_detach (task2); pthread_detach (task3); … }

№18 слайд
void TaskThread void
Содержание слайда: void * TaskThread (void* threadInfo) { Пример для C++(3): void * TaskThread (void* threadInfo) { Пример для C++(3): // Код, конфигурирующий работу потока согласно // параметрам, переданным через threadInfo. // Например, N – объём ресурса, необходимый потоку ... // Основной цикл работы, в котором // происходит обращение к ресурсу while (1) { ... PrinterMonitor::instance().acquirePages (N); // Блокирующий запрос ресурса // Процесс что-то печатает на страницах PrinterMonitor::instance().addPaperToTray (N); // Процесс освобождения ресурса ... } ...}  

№19 слайд
Паттерн Singleton Пример для
Содержание слайда: // Паттерн Singleton Пример для C++(4): // Паттерн Singleton Пример для C++(4): const int gPagesTotal = 10; // Общий объём ресурса class PrinterMonitor {// Монитор ресурса int pagesLeft; CRIT_SECTION lock; // объект для синхронизации … public: static PrinterMonitor instance () {…} // Получение объекта монитора void addPaperToTray (int N) { // Освобождение ресурса pagesLeft += N; // Освободить N страниц }  

№20 слайд
Блокирующий захват ресурсов
Содержание слайда: // Блокирующий захват ресурсов Пример для C++(5): // Блокирующий захват ресурсов Пример для C++(5): void acquirePages (int N) { WTF_EnterCritSect (& lock); // Ждать, пока освободится N страниц while (pagesLeft < N) {} // Захватить нужный объём ресурса pagesLeft -= N; WTF_LeaveCritSect (& lock); } }  

№21 слайд
static class WTF Lock extends
Содержание слайда: static class WTF_Lock extends Object {} Пример для Java(1): static class WTF_Lock extends Object {} Пример для Java(1): static public WTF_Lock lockObject = new WTF_Lock(); … package chapt14; // Класс монитора ресурсов, также Singleton public class PrinterMonitor { int pagesLeft = 10; WTF_Lock lock = new WTF_Lock(); ... public static PrinterMonitor instance () {…} public void addPaperToTray (int N) { // Освободить ресурс – аналогично добавлению //N страниц в лоток принтера pagesLeft += N; }  

№22 слайд
Блокирующий захват ресурса
Содержание слайда: // Блокирующий захват ресурса Пример для Java(2): // Блокирующий захват ресурса Пример для Java(2): public void acquirePages (int N) { synchronized (WTF_Lock) { // Ждать, пока освободится N страниц while (pagesLeft < N) {} // Захватить нужный объём ресурса pagesLeft -= N; } } }

№23 слайд
public class SomeThreads
Содержание слайда: public class SomeThreads { Пример для Java(3): public class SomeThreads { Пример для Java(3): public static void main(String args[]) { final StringBuffer s = new StringBuffer(); // Запуск потоков, использующих ресурс new Thread() { public void run() { // Блокирующий запрос ресурса PrinterMonitor::instance().acquirePages (N); // Использование ресурса // Процесс освобождения ресурса PrinterMonitor::instance().addPaperToTray (N); } }

№24 слайд
.start Пример для Java .start
Содержание слайда: .start(); Пример для Java(4): .start(); Пример для Java(4): // Ещё один аналогичный поток new Thread() { public void run() { ... PrinterMonitor.instance().acquirePages (N); // Process doing some printing PrinterMonitor.instance().addPaperToTray (N); ... } } .start(); ... }

№25 слайд
Содержание слайда:

№26 слайд
Реализация синхронизации в
Содержание слайда: Реализация синхронизации в Java static Semaphore mutex = new Semaphore(1); … //consumer thread void run() { … //critical section mutex.acquire(); … mutex.release(); … }

№27 слайд
Содержание слайда:

№28 слайд
Содержание слайда:

№29 слайд
Содержание слайда:

№30 слайд
Содержание слайда:

№31 слайд
Содержание слайда:

№32 слайд
Содержание слайда:

№33 слайд
Содержание слайда:

№34 слайд
Содержание слайда:

Скачать все slide презентации Архитектура вычислительных систем. Синхронизация процессов одним архивом: