Процеси и задачи
Въпреки че концепцията за multiprogramming и мултитаскинг режима на работа достатъчно близки, но тя все още не е един и същ. За съжаление, все още има известно объркване там. Основните причини за това - не само на факта, че терминологията е в постоянно движение и че много фирми-разработчици от различни предпочитания към наричат същия ефект, но също и от сложността, неяснотата на ситуацията.
Режим Multiprogramming предполага, че операционната система организира паралелно изпълнение на множество изчислителни процеси на ком единичен компютър. И всеки процес компютри могат по принцип не зависи от друг процес мрежа компютри. Освен, че те може да забави изпълнението на една от друга, поради необходимостта от споделяне на ресурси или последователно силно забавяне на изпълнението на всеки друг в собствеността nonsharable ресурс. Те могат да бъдат нито споделени файлове или споделени променливи. Те обикновено са по-слабо подобава различни потребители. Само на тези процеси от гледна точка на външен наблюдател, на, се движат по един и същ компютър в същото време. Въпреки че може да се извърши по различно време и на различни компютри. Основното нещо - е, че режимът на multiprogramming предвижда тези процеси на Nez-зависимост. Всеки процес е операционна система разпределя искания повторно LAS, той работи като на отделна виртуална машина. Средства за защита на системата трябва да осигуряват метод за изчисление без намеса в други изчислителен процес. И ако не може да се осигури такава защита,
Понятията в изчислителния процес и ресурс _______________________________ 37
системата не може да се счита за надежден. Много от техники и специфични методи са били изобретени от разработчиците да се предостави достоверна компютри и предварително dotvrascheniya възможност умишлено или по погрешка да повлияе на резултатите от изчисленията, в другия процес.
Въпреки това, има и друг, не е необходимо разделят изчислителна Процес-Сай един от друг, а по-скоро да ги комбинирате, за да се осигури възможност за тясно взаимодействие взаимодействащ между извършва изчисленията. Например, резултатите от изчисленията ви и един процес компютри може да са необходими, за да започне или да продължи работата на друг. Има много случаи, когато е необходимо да се осигури активното сътрудничество между изпълняващите изчислителни противовъзпалително-процеси. Ако не можете да получите достъп до променливите на друг процес, тъй като операционната система е изградена безопасно и защита на Ал-Esting пространство на изчислителния процес от намеса в друг процес компютри, съществуват сериозни пречки за предаване на всички данни, е между процесите.
Терминът многозадачна работа стоманата, използвана само за тези случаи, когато това е необходимо за осигуряване на взаимодействие между изчисленията. Режим Multiza-почивка означава, че операционната система ви позволява да организирате пара паралелно изпълнение на изчисления, а има и специални мерки за данни, часовник сигнали, комуникацията между взаимодействащи образуващи изчисления. Това може да стане, поради факта, че тези изчисления не е необходимо да се изолират системата от друг. Операционната система не трябва да е задължително да се използват всички механизми за защита на изчисление-нето на ненамеса в един от друг. Когато многозадачна режим, разработчик на софтуер трябва да се грижи за разделението на ресурси сред своите цели. Opera-ционни системи ще споделят само процесорно време между задачи.
концепция процес е въведена за изпълнение на идеите на multiprogramming. обективен план също е, за съжаление, в повечето случаи, се използва за същото. По това време, която се отличава термините "многозадачност" и "multiprogrammi-ционни", но след това те започнаха да се замени един с друг, и това прави значително объркана-цу. По този начин, за изпълнение на многозадачност в първоначалното му тълкуване е необходимо да се въведе съответния субект. Такава единица стомана комплектът kovesnye (тънки) процеси или, за предпочитане, тъй като те сега се нарича изпълнение нишки, влакна или нишки са (нишки).
"Нахранете изпълнение (конци), не трябва да се бърка с потока от данни (поток).
38_____________________________________________ Глава 1. Основни понятия
С други думи, в случай на процеси на операционната система ги счита за напълно независими и самостоятелни. В този случай, това е операционната система поема ролята на арбитър при спорове от конкурентни процеси за ресурси. Тя също така е осигурено осигурява защита, за извършване на изчисления.
Понятията в изчислителния процес и ресурс _______________________________ 39
Може да се използва особено ефективно да изпълнява мултитрединга приложения Рас ПРЕДЕЛЕНИЯ. Например, многонишковите сървъра може да изпълни заявките паралелно по няколко клиента. Както е добре известно, операционна SIS тема OS / 2 е една от първите системи, използвани в персоналните компютри, Тара, който поддържа многонишкова. В средата на 90-те години за тази операционна система се използва е създаден от голям брой приложения, в които наличието на механизми за многонишкова действително да доведе до съществуваща-Term подобряване на скоростта на компютри. За Windows системи, с които ние се занимаваме, изразена многонишково трябва продукти като SQL Server, Oracle. И въпреки, че една и съща дума, Excel, Internet Explorer като работата им с поток, изрично паралелизъм в тези програми е почти под-рефрен. Ето защо, чрез увеличаване на броя на процесорите в компютъра, тези програми не започне да работи по-бързо.
По този начин, същността на "нишката изпълнение" е въведена, за да го помия-schyu тези единици, за да разпределят времето на процесора между възможно работата ми. Същността на "процеса" показва, че е необходимо да се вземат предвид графика ДДС всички ресурси, които са им възложени. Докато боравене може да се промени само контекста на задачата на задачите поток, ако се премине от една задача към друга в рамките на един и същи процес. Всички други изчислителни ресурси не са засегнати. Всеки процес винаги се състои от поне една от първата резба на изпълнение и само ако има вътрешен паралелизъм, топла мъгла може да "разделяне" един поток на няколко паралелно. Необходимостта е възникнало потоци в еднопроцесорни компютърни системи, тъй като те позволяват да се организират изчисленията по-ефективно. За да използвате предимствата на многопроцесорни системи с общ поток памет е просто желание движение, тъй като те позволяват не само да наистина се ускори изпълнението на задачите на ко-torye позволи тяхната естествена паралелизъм, но също така да изтеглите процесор Най елементи на работата на, така, че те не са активни. Имайте предвид обаче, че е желателно да може да се минимизира взаимодействието между потоците направи е, за ускоряване на двете от паралелните потоци, може да бъде сведена до минимум, поради закъснения синхронизация и обмен на данни.
Всяка нишка минава последователно строго и разполага със собствен програмен брояч и комин. Потоци като процесите могат да генерират потомък потоци, тъй като всеки процес се състои от поне един поток. Подобно на традиционните процеси (т.е., процеси, състоящи се от един по-ток), всяка нишка може да бъде в едно от активните страни. Докато една нишка е блокиран (или е в опашката готова за преработка по вили), може да се извърши друга нишка на същия процес. Теми споделят про-tsessornoe времето, както и, както конвенционални процеси, в съответствие с времето личен опциите за насрочване.
40_____________________________________________ Глава 1. Основни понятия
Понятията в изчислителния процес и ресурс _______________________________ 41
Сега, ако се върнем към вече споменатите файла CONFIG.SYS, в която да опера-постъпателно OS / 2 система определя най-важните параметри, които определят работата си, заслужава да се отбележи, че в този ред на файлове РЕЗБИ = 1024 показва не съ-lichestvo процеси а именно задачи. И под предизвикателство в този случай трябва да се разбира като процес, както и потока на процеса.
И накрая, можете да дадете някои съвети за използване на вас потока допълва за създаване на програми, взети от [28].
- В случай на система еднопроцесорни множество успоредни потоци често ускорява работа приложение, тъй като времето всеки отделен промо zhutok възможно да се извърши само един поток. Освен това, колкото повече се поток, толкова по-голямо натоварване на системата, свързани с повторното лишаване от свобода между тях. Няколко задачи на повече от два постоянни трудови ING потоци във вашия проект не прави програмата по-бързо, ако всеки от потоците няма да изисква честа вход-изход.
- Първо, трябва да се разбере какво се изисква поток. Промушете, че лечението може да попречи на системата да реагира бързо на исканията за вход-ти-вода. Теми позволяват на програмата да се отговори на специфичните изисквания на потребителя и устата-roystv, но в същото време (включително) силно CPU интензивно. Потоци-позволяват на компютъра, за да служат едновременно на няколко устройства, и сте създали поток, който ще отговаря за конкретни устройства, като например мини-МАМА може да изисква толкова време, колкото е необходимо за заявки система за rabotki от всички устройства.
- Потоци да зададете различни приоритети на най-малко значителни mye-процесите, протичащи във фонов режим. Това е начинът на справедливо разпределение на ресурсите на централния процесор. Въпреки това, ние трябва да признаем факта, че процесора е една на всички, и много потоци. Ако вашата програма главна програма изпраща нещо за преработка в нисък приоритет на конец, на самата програма става Ся просто неуправляем.
- Потоци работят добре, когато те са независими. Но те започват да работят непродуктивен, когато принудени често да синхронизирате достъп до по-проводими ресурси. Мъртвите зони и критични участъци не lyayut система ДОБАВИ скорост, но без използването на тези механизми изчисление взаимодействие за взаимодействие не може да се изпълнява.
42_____________________________________________ Глава 1. Основни понятия
- Всеки път, когато някой от вашата нишка се опитва да се възползва от споделен процес компютърни ресурси, към която принадлежи, трябва по някакъв начин да се легализира и защита на вашия бизнес. Един добър-stvom медии за това са критичните участъци и mutexes опашка-ционни докладвани (виж гл. 7). Ако тествате вашата кандидатура и не откри грешки синхронизация, това не означава, че те не са там. Потребителят MO-Jette създаде най-непредсказуеми ситуации. Много е важно, MO-среда в развитието на многонишковите приложения.
- Трябва да поставят на потока на няколко функции. Сложни функционалности otno-sheniya трудно да се разбере цялостната структура на заявлението му алгоритъм. По-простият и недвусмислена, всеки от разгледаните случаи, толкова по-вероятно-yatnost че грешките могат да бъдат избегнати.