Знайте, Intuit, лекция организация процес компютри
Анотация: Концепцията на процеси и нишки. Целеви, процеси, конци (резба) влакна. Multiprogramming. Форми Multiprogram работа. Управление на процеси и нишки. Създаване на процеси и нишки. Модели на процеси и нишки. график на работа, процеси и нишки. Взаимодействие и синхронизация на процеси и нишки. методи взаимно изключване. Семафори и монитори. Мъртвите зони (застой). Синхронизиране OS обекти. Хардуер и софтуер, поддръжка multiprogramming. Система призовава.
5.1. процес и концепция резба. Целеви, процеси, конци (нишки), влакната
Един от основните понятия, свързани с операционни системи, е процес, -. Абстрактно понятие, което описва действието на програмата [10] Всичко работи на компютъра софтуер. включително операционната система, е възможно да си представим серия от процеси.
OS задача е да управлява процесите и ресурсите на компютъра, или по-скоро, организацията на рационалното използване на ресурсите за най-ефективното прилагане на процеси. За да се реши този проблем, операционната система трябва да има информация за текущото състояние на всеки процес и ресурс. Универсален подход за предоставяне на тази информация е да се създаде и поддържа таблица с информация за всеки контролен обект.
![Знайте, Intuit, лекция организация процес компютри (мултитаскинг) Знайте, Intuit, лекция организация процес компютри](https://webp.images-on-off.com/27/587/395x273_29tyo32s7rgy8citwj7g.webp)
Фиг. 5.1. операционната маса
Multiprogramming (многозадачност мултитаскинг.) - това е начин да се организира изчислителен процес, при който един процесор се изпълняват последователно няколко програми. В подкрепа на многопроцесорна. OS трябва да определи за себе си вътрешната изработки на устройството, което ще бъде поделена между процесора и други компютърни ресурси. Обработката на OS партида разпространени във втората и първите компютри и трето поколение, звено на работа е работа. В момента два вида експлоатация единици, идентифицирани в повечето операционни системи по-голяма група - процес или задача и по-малко голяма - поток. или конци. Освен това, процесът се извършва под формата на един или повече потоци.
В същото време, някои съвременни операционни системи са се завърнали в единица работа като работа (Job), например, в Windows. в задачите на Windows е набор от една или повече процеси, управлявани интегрално. По-специално, всяка свързана със задачи квоти ресурси и ограничения, съхранявани в съответния референтен обект. Квоти включват елементи, като максималният брой на процесите (това не позволява присвояване процеси създават безконтролно брой деца процеси), общото време на процесора на разположение за всеки процес поотделно и за всички процеси, заедно, както и максималният размер на паметта се използва за процеса и цялата работа , Задачите могат също да ограничат своите процеси от гледна точка на сигурността, например, за да получите или отричат административни привилегии (дори и с правилната парола).
Процесите се разглеждат от операционната система като приложение или контейнери за всички видове ресурси, с изключение на едно - времето на процесора. Това е най-важният ресурс се разпределя от операционната система между други звена на работа - поток, които получават името си, тъй като те са последователности (нишки на изпълнение) команди. Всеки процес започва с единична нишка, но може да се генерира нов поток (генериран от) процеса динамично. В най-простия случай, методът се състои от един поток, и по този начин се обработва терминът "процес" до средата на 80-те години (например, в началото на версии на UNIX). Някои съвременни операционни системи тази ситуация продължава, т.е. понятието "поток" се абсорбира напълно от понятието "процес".
Като правило, потокът минава в режим на потребител, но когато той се отнася до призива система, след това преминете към режим на ядрото. След завършване на потока система повикване продължава да изпълнява в потребителски режим. Всяка нишка има две купчини, един се използва в режим на ядрото, а другият - в потребителски режим. В допълнение към държавата (текущата стойност на потока обекти) идентификатор и две купчини, всяка нишка има контекст (който съхранява регистрите си, когато тя не работи), отделно помещение за своите локални променливи, и може да има свой собствен знак достъп (информационна сигурност ). Когато нишката завършва, той може да престане да съществува. Процесът завършва, когато на последната активна престане да съществува поток.
Връзката между задачи, процеси и нишки е показано на фиг. 5.2.
![Знайте, Intuit, процес лекция организация компютри (организация) Знайте, Intuit, лекция организация процес компютри](https://webp.images-on-off.com/27/587/434x326_4r6svus3nbrkp9a68buz.webp)
Фиг. 5.2. Задачи, процеси, нишки,
По този начин, съществува йерархия на операционната система на звена, които прилагат за Windows, както следва (фиг. 5.3).
Възниква въпросът: защо толкова сложна организация на работата. изпълнена от операционната система? трябва да се търси отговорът в развитието на теорията и практиката на multiprogramming, чиято цел - да се осигури най-ефективното използване на основният ресурс на компютърната система - CPU (множествена CPU).
Ето защо, преди да се пристъпи към разглеждането на модерни управленски процесор принципи, процеси и нишки, трябва да се съсредоточи върху основните принципи на multiprogramming.
![Знайте, Intuit, лекция организация процес компютри (мултитаскинг) Знайте, Intuit, лекция организация процес компютри](https://webp.images-on-off.com/27/587/434x263_9f28acxoeo0aj6w7gdaw.webp)
Фиг. 5.3. оперативни звена Йерархия OS
5.2. Multiprogramming. Формуляри Multiprogram работа
Multiprogramming предназначен за повишаване на ефективността на системата за изчислителни [10. 17]. Въпреки това, ефективността може да бъде разбрано по различни начини от. Най-типичните показатели за ефективност на изчислителни системи са:
- Пропускателна способност - броят на задачите, изпълнявани от системата в единица време;
- потребителски опит, е, наред с другото, че те могат да работят едновременно интерактивно с няколко приложения на една машина;
- система реактивност - способността да издържат на предварително определена (вероятно много кратко) интервал от време между стартирането на програмата и да се получи крайният резултат.
В зависимост от избора на един от тези показатели са разделени на оперативната ефективност на системата за обработка на партидите. Системна разделяне във времето в реално време (някои операционни системи може едновременно да поддържа множество режими).
системи за обработка на партидите, предназначени за решаване на проблемите предимно изчислителни, които не изискват бързи резултати [11]. Максималният капацитет на компютъра се постига в този случай чрез свеждане до минимум престоите на своите устройства, и най-вече на процесора. За постигането на тази задача пакет се формира така, че получената смес multiprogramming уравновесен товар всички устройства на машината. Например, в присъствието на такава смес е желателно изчислителни интензивни задачи и IOCTL. Въпреки това, в този случай, е трудно да се гарантира, времето на определена работа.
При благоприятни случаи, общото време за изпълнение на задачите смес е по-малко от общото време на тяхното последователно изпълнение. В този конкретен срок за изпълнение задача могат да бъдат изразходвани повече от по своя единствен вариант (фиг. 5.4).
С течение на времето потребителите разделителни системи (в конкретния случай - един) с възможност за интерактивна работа с няколко приложения. За да направите това, всяко приложение трябва редовно получаваме възможност да "общуват" с потребителя. Този проблем е решен с факта, че операционната система е принуден да периодично да спре прилагането, без да чака, когато те "доброволно" се откаже от процесора.
![Знайте, Intuit, процес лекция организация компютри (представителство) Знайте, Intuit, лекция организация процес компютри](https://webp.images-on-off.com/27/587/434x309_k1k4ny038rz5s03gl5uq.webp)
Фиг. 5.4. Илюстрация multiprogramming ефект
Всички заявления са разпределени последователно кванти на процесорно време, така че потребителят, който изпълнява програма за изпълнение, са в състояние да поддържат диалог с тях (фиг. 5.5), от своя терминал. Ако квант от време се избира достатъчно малък, че всички потребители имат впечатление-Мъжът работа с машината.
![Знайте, Intuit, процес лекция организация компютри (компютри) Знайте, Intuit, лекция организация процес компютри](https://webp.images-on-off.com/27/587/383x122_l9rorydousnolj6veuzq.webp)
Фиг. 5.5. система разделение време
реално време системи са предназначени за управление на технически обекти (сателитни, ракетни, ядрени електроцентрали, машини, научен подход, и др.), процес (галванична линия, доменните и т.н.), различни видове системи за услуги (които запазват билети, такси и сметки и т.н ..). Във всички тези случаи има максимално допустимо време, през който една или друга програма за контрол обект, за да бъде изпълнена. В противен случай, нежелани последици до инцидент.
OS критерий ефективност в този случай, е способността да се поддържа предварително определен интервал между началото на програмата и получените резултати. Този път се нарича реакция на системата, както и на съответния имот - реактивност. за реакция времевите изисквания зависят от конкретната успя обект или процес. В реално време системи multiprogramming смес е фиксиран набор от предварително разработени софтуерни решения на функционалните задачи по управлението на обект или процес. Избор на програма за извършване на прекъсване се извършва (на базата на текущото състояние на обекта), или съгласно график за планирани работа.
Системата за реално време обикновено положи изчислителна електрозахранването в случай на голямо натоварване, но също така се вземат мерки, за да гарантира висока надеждност на работата на системата (бекъп, съкращения, тройна резервираност с мнозинство елемент и др.).
Интересна форма на работа, свързана с multiprogramming многопроцесорна. Многопроцесорна - един начин за организиране на изчислителния процес в система с множество процесори, където множество задачи (процеси, конци), могат да се извършват едновременно на различни процесори на системата. многопроцесорна концепция не е нова, тя е позната още от 70-те години, но станаха достъпни в голям мащаб само през последното десетилетие, особено с появата на многопроцесорни компютри (често като сървър LAN).
Мултипроцесорни системи често се описват като симетрични и асиметрични като. Тези условия са, от една страна, да архитектурата на компютърната система, а от друга - метод за изчисляване на организация на процеса.
Многопроцесорни системи архитектура на системата предполага единство и еднаквост позволи процесори и голяма споделена памет между процесорите. Скалируемост, т.е. възможност за увеличаване на броя на процесорите, в този случай е ограничено, защото всички те използват една и съща памет и следователно трябва да бъдат разположени в един корпус. Балансираното архитектурата на компютърните системи лесно изпълнени многопроцесорни общи за всички процесори на операционната система. В този случай, всички процесори еднакво, участващи в управлението на процеса на компютърни и в изпълнението на приложения. Различните процесори може в някакъв момент от време да служат същевременно и двете различни и същи модули обща операционна система. За да направите това, програмите на операционната система, трябва да бъдат входящ (povtornovhodimymi).
Операционната система е напълно децентрализирана. Нейните модули работят на всеки наличен процесор. След процесора завършва изпълнението на следващата задача, той предава управлението на Task Scheduler. Последно избран от общия проблем за всички процесори на опашката система, за да бъде изпълнено на процесора по-нататък.
В компютърните системи с асиметрични архитектура процесори могат да бъдат различни, както в характеристиките (производителността. Team System), както и на функционалната роля на системата. Например, процесори, могат да бъдат разпределени за изчисляване IO и др. Това нехомогенност води до структурни разлики в системата на фрагменти, съдържащ няколко процесора (различни схеми за свързване, комплекта периферия, начини на взаимодействие с процесори и други устройства.).
Мащабиране в такива системи се осъществява по различен начин, тъй като няма изискване за един-единствен орган. Системата може да включва няколко устройства, всеки от които съдържа един или повече процесори. Мащабиране в този случай, посочен в хоризонтално положение и системата за многопроцесорни - клъстер. Системата на клъстер може да се реализира само с организирането на процеса на асиметрична многопроцесорна изчисления на принципа на "господар - роб". Това е най-простият метод може да се използва в областта на компютърните системи с симетрична архитектура. В тези операционни системи, работещи на един процесор, който се нарича водещ и организиране на централизираното управление на процеса на компютри и разпределението на всички от системните ресурси.