Operatsioonisüsteemid. Операционные системы Virumaa Kolledž TTÜ Lektor Larissa Joonas 2010 3.

Презентация:



Advertisements
Похожие презентации
Operatsioonisüsteemid. Операционные системы Virumaa Kolledž TTÜ Lektor Larissa Joonas
Advertisements

Типовые расчёты Растворы

Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
Школьная форма Презентация для родительского собрания.
Ребусы Свириденковой Лизы Ученицы 6 класса «А». 10.
Урок повторения по теме: «Сила». Задание 1 Задание 2.
Системное программное обеспечение. Вычислительная система 2.
Operatsioonisüsteemid. Операционные системы Virumaa Kolledž TTÜ Lektor Larissa Joonas
Учебный курс Операционные среды, системы и оболочки Лекция 5 Лекции читает доктор технических наук, профессор Назаров Станислав Викторович.
Учебный курс Основы операционных систем Лекция 2 кандидат физико-математических наук, доцент Карпов Владимир Ефимович.
Michael Jackson
Маршрутный лист «Числа до 100» ? ? ?

О СИТУАЦИИ НА РЫНКЕ ТРУДА И РЕАЛИЗАЦИИ РЕГИОНАЛЬНЫХ ПРОГРАММ ПО СНИЖЕНИЮ НАПРЯЖЕННОСТИ НА РЫНКЕ ТРУДА СУБЪЕКТОВ СЕВЕРО-КАВКАЗСКОГО ФЕДЕРАЛЬНОГО ОКРУГА.
Игра «Русское лото» Тема: «Алгебраические выражения, уравнения, степень с натуральным показателем, одночлены, сумма и разность многочленов». Алгебра 7.
Системное программное обеспечение Лекция 3 Планирование процессов.
Интернет Университет Суперкомпьютерных технологий Лекция 3 Методы построения параллельных программ (продолжение) Учебный курс Введение в параллельные алгоритмы.

Разработал: Учитель химии, биологии высшей квалификационной категории Баженов Алексей Анатольевич.
Транксрипт:

Operatsioonisüsteemid. Операционные системы Virumaa Kolledž TTÜ Lektor Larissa Joonas

2 Protsessid ja lõimed. Процессы и потоки Osa 2

3 Protsessid. Процессы Kõik arvutis funktsioneeriv tarkvara on organiseeritud nagu jarjestikuste protsesside kogum. Все функционирующее на компьютере программное обеспечение организовано в виде набора последовательных процессов Protsess – programmi töötav ehk aktiivne koopia, jooksva registri, käskude ja hetkeseisude tähtsustega. Процессом является выполняемая (работающая) программа с текущими значениями счетчиков команд, регистров и переменных

4 Protsesside mudel Модель процессов Neli ülesannet multitegumilisuses reziimis Четыре задачи в многозадачном режиме A B C D Üks programmi loendur Один программный счетчик

5 Protsesside mudel Модель процессов (2) Nelja sõltumatu jarjestikuse protsessi printsipiaalne mudel Принципиальная модель четырех независимых последовательных процессов А B C D 4 programmi loenduri 4 программных счетчика

6 Protsessi loomine Создание процесса (1) Neli peamist sündmust mis viivad protsesside loomisele Четыре основных события, приводящих к созданию процесса 1)Süsteemi initialiseerimine. Инициализация системы 2)Töötava protsessi süsteemikutse täitmine protsessi loomiseks. Выполнение изданного работающим процессом системного запроса на создание процесса 3)Kasutaja kutse protsessi loomiseks. Запрос пользователя на создание процесса 4)Pakett töö initsieerimine. Инициирование пакетного задания

7 Protsessi loomine Создание процесса (2) Tausta protsessid kannavad nime deemonid Фоновые процессы называются демонами

8 Protsessi lõpetamine Завершение процесса Sündmused, mis lõpetavad protsesse События, завершающие процесс 1)Tavaline väljumine (tahtlik). Обычный выход (преднамеренно) 2)Väljumine vea pärast (tahtlik). Выход по ошибке (преднамеренно) 3)Väljumine peale parandamatut viga (mitte tahtlik). Выход по неисправимой ошибке (непреднамеренно) 4)Teise protsessi poolt hävitamine (mitte tahtlik). Уничтожение другим процессом (непреднамеренно)

9 Protsesside hierarhia Иерархия процессов Emaprotsess loob tütarprotsessi, tütarprotsess võib samuti luua oma protsesse. Родительский процесс создает дочерний процесс, дочерний процесс может создавать свои процессы Hierarhia kujunemine Образование иерархии UNIX-is - protsesside gruppid В UNIX это называется группой процессов Windows-is ei ole protsesside hierarhiat В Windows не существует иерархии процессов Kõik protsessid on ühetaolised Все процессы равноправны

10 Protsessi seisundid Состояния процесса (1) Võimalikud protsessi seisundid Возможные состояния процесса Töötav (Работающий) Valmisolev (Готовый к работе) Ootel, blokeeritud (Ожидающий ) Töötav OotelValmisolev Uus Katkes tatud

11 Protsessi seisundid Состояния процесса (2) 1. Sisend-väljundi või sündmuse ootamine. I/O или ожидание события 2. Planeeritud vahetus. Смена процесса планировщиком 3. Katkestamine. Прерывание 4. Sisend-väljundi või sündmuse lõpetamine. I/O или окончание события Töötav Ootel Valmis- olev Katkes tatud Uus

12 Protsessi seisundid Состояния процесса (2) OS madalam kiht Нижний уровень ОС Отвечает за прерывания и планирование Vastutab katkestuse ja planeerimise eest Выше расположены последовательные процессы Üleval asuvad järjestikude prosessid Plaanur 01N-1N... Protsessid

13 Process control block (PCB). Protsessi kontollimie plokk. Контрольный блок процесса Avatud failide nimekiri Mälu piir Registrid Programmi loendur Protsessi number ViitProtsessi olek

14 CPU Ümberlülitemine protsesside vahel. Переключение между процессами Protsess P0 töötav Salvesta seisund PCB0-le Lugeda seisund PCB1-lt Salvesta seisund PCB0-le Lugeda seisund PCB1-lt Süsteemi kutse Protsess P0 Protsess P1 töötav tühikäigu

15 Protsesside järjekorad. Очереди процессов Job queue – ülesande järjekord очередь задач. Kõik protsessid süstemis Ready queue – valmis protsesside järjekord очередь готовых процессов. Protsessid peamälus, valmis ja ootel Device queues – riistvara järjekord очередь к оборудованию. Protsessid I/O ootamise järjekorras. Protsessid liikuvad järjekorda vahel. Процессы перемещаются между очередями.

16 Protsesside järjekorad. Очереди процессов (2) Valmis protsessid CPU I/O jarjekordI/O kutse I/O Aeg on läbi Tütre protsess loomiseks Katkestuse ootamine Loodud Katkestus

17 Plaanurid. Планировщики Pikkaaja plaanurid. Долгосрочные планировщики. – Valivad, mis protsess peab liikuda valmise protsesside järjekorra. Выбирают, какой процесс будет перемещен в очередь готовых процессов. Lühike aja plaanurid. Краткосрочные планировщики. – Valivad, missugune protsess peab liikuda CPU-sse. Выбирают, какой процесс должен быть передан ЦПУ для выполнения.

18 Protsesside Realiseerimine Реализация процессов (1) Protsesside tabel Таблица процессов Katkestuste vektor Вектор прерываний

19 Protsesside Realiseerimine Реализация процессов (2) Некоторые поля типичного элемента таблицы процессов Tüüpiliste protsesside tabeli mõned väljad Protsesside juhtimineMälu juhtimineFailide juhtimine Registrid Programmi loendur Programmi seisundi sõna Pinuviit (Stack pointer) Programmi seisund Prioriteet Planeeringu parametrid Protsessi ID Ema protsess Protsessi grupp Signaal Protsessi stardi aeg Aeg CPU-s Tütre CPU-s aeg Järgmise alarmi aeg Viit järgmise segmentile Viit andme segmentile Viit pinu segmentile Root kaust Töö kaust Faili deskriptorid Kasutaja ID Gruppi ID

20 Klient-Serveri Kommunikatsioon Sockets Remote Procedure Calls Remote Method Invocation (Java)

21 Socket Socket on kommunikatsiooni lõpp punkt. Сокет это конечная точка коммуникации IP aadress ja port. Совокупность адреса и порта Socket :1625 kasutab port 1625 adressil Сокет :1625 использует 1625 порт и адрес

22 Socket Communication Socket /1625Socket /80 Host Web-server

23 Remote Procedure Calls (RPC). Kaug protseduuri kutse. Удаленный вызов процедур Remote procedure call (RPC) abstrageerib protseduuri kutse protsesside vahel võrgu süsteemis. RPC – абстракция вызова процедур между процессами в сети. Stubs The client-side stub The server-side stub KlientServer Stub Võrk

24 Lõimed Потоки Mitme programmi samaaegne töö protsessi keskkonnas. Programmid on sõltumatud. Возможность одновременного выполнения в среде процесса нескольких программ, в достаточной степени независимых Lihtsustatud protsessid Упрощенные процессы Mitmelõimelisus Многопоточность

25 Lõime mudel М одель потока (1) (a)Kolm protsessi üksiku juhtiva lõimega Три процесса с одиночными потоками управления (b) Üks protsess kolme juhtiva lõimega Один процесс с тремя потоками управления P0P1P2 Kasutaja ruum Tuuma ruum Tuum Kasutaja ruum Tuuma ruum Tuum P0 a)b)

26 Lõime mudel М одель потока (2) Elemendid, mida kasutatakse kõikide protsessi lõimete poolt Элементы, совместно используемые всеми потоками процесса » Aadressi ruumАдресное пространство » Globaalsed muutujadГлобальные переменные » Avatud failidОткрытые файлы » Tütre protsessidДочерние процессы » AlarmidАлармы » Signalid ja signali töötlejadСигналы и их обработчики » Konto informatsioonУчетная информация

27 Lõime mudel М одель потока (3) Elemendid, mis on individuaalsed igale lõimele Элементы, индивидуальные для каждого потока – Programmi loendurПрограммный счетчик – RegistridРегистры – PinuСтэк – SeisundСостояние

28 Lõime mudel М одель потока (4) Iga lõim kasutab oma pinu. У каждого потока свой собственный стек Iga lõime pin sisaldab iga kutsutatud protseduri kohta ühte freimi Стек каждого потока содержит по одному фрейму для каждой вызванной процедуры Freimil on protseduuri lokaalsed muutujad ja naasmise aadress Во фрейме находятся локальные переменные процедуры и адрес возврата Tavaliselt protsessid käivituvad ühega lõimega. Процессы как правило запускаются с одним потоком

29 Lõimete kasutamine Использование потоков (1) Aadressi ruumi ja andmete parallelse kasutamise võimalus Возможность параллельного использования адресного пространства и данных Loomise ja hävitamise kergus (100 korda vähem aega, kui protsessile) Легкость создания и уничтожения (в 100 раз меньше времени, чем на процесс) Tööjõudlus Производительность работы Parallelne töö mitmete protsessoritega Параллелизм при работе с несколькими процессорами

30 Lõimete kasutamine Использование потоков (2) Mitmelõimega veebserver – Многопоточный веб-сервер Teksti redaktor. – Текстовый редактор

31 Kolm viisi serveri konstrueerimisele. Три способа конструирования сервера Paralleltöö, süsteemi kutsed blokeerimisega – Параллелизм, системные запросы с блокировкой Mitte paralleltöö, süsteemi kutsed blokeerimisega – Без параллелизма, системные запросы с блокировкой Paralleltöö, süsteemi kutsed blokeerimiseta, katkestused – Параллелизм, системные запросы без блокировки, прерывания

32 Lõimed kasutaja ruumis Потоки в пространстве пользователя (1) Protsesside tabel Lõimed Lõimede tabel Kasutaja ruum Tuuma ruum

33 Lõimed kasutaja ruumis Потоки в пространстве пользователя (2) Igale protsessile on vaja oma lõimetabel Каждому процессу необходима собственная таблица потоков Protseduur, mis on planeerija ning hoiab informatsiooni protsessi eest on lokaalsed protseduurid ja sellepärast effektiivsemad Процедура, сохраняющая информацию о потоке и планировщик являются локальными процедурами и они более эффективны Iga protsess omab oma planeerimise algorütm Каждый процесс имеет собственный алгоритм планирования Blokeerivate süsteemkutsete realiseerimise probleem Проблема реализации блокирующих системных запросов Lõim peab andma juhtimise tagasi vabatahtlikult Поток должен добровольно отдать управление

34 Lõimede realiseerimine tuumas Реализация потоков в ядре (1) Protsesside tabel Lõimed Kasutaja ruum Tuuma ruum Lõimede tabel

35 Lõimede realiseerimine tuumas Реализация потоков в ядре (2) Lõimede korduv kasutamine Повторное использование потоков Lõimede planeerimise võimalus Возможность планирования потоков Süsteemikutse kõrge hind Высокая цена системных запросов

36 Kasutaja lõimede multiplekseerimine tuuma lõimedes Мультиплексирование потоков пользователя в потоках ядра Lõimed Kasutaja ruum Tuuma ruum

37 Planeerija aktiveerimine Активация планировщика Eesmärk – tuuma lõimede funktsionalsuse imiteerimine. Цель – имитация функциональности потоков ядра Kasutaja kihti lõimede võimsus Производительность потоков уровня пользователя Mitetarviliku ülekäigu koguse tuuma ja kasutaja ruumi vahel vähendamine Уменьшение количества ненужных переходов между пространством пользователя и ядром Tuum määrab igale protsessile mingi koguse virtuaalseid protssesse Ядро назначает каждому процессу некоторое количество виртуальных процессоров

38 Üles ujuvad lõimed Всплывающие потоки Olemas olev lõim Kasutaja ruum Tuuma ruum Üles ujuv lõim Kasutaja ruum Tuuma ruum Sissetulev sõnum