системи за обработка на партидите
Използването multiprogramming за увеличаване на капацитета пропускателна способност на основната цел на компютъра е да се сведе до минимум престой на всички устройства в компютъра, и преди всичко, на процесора. Прекъсването може да се дължи на спирането от вътрешни задачи, свързани причини, като например въвеждане на данни очакване. Данните могат да бъдат съхранявани на диск или да дойде от страна на потребителя, от приборите и така нататък. Г. В случай на такива ситуации, най-просто и естествено решение, което повишава ефективността на процесора, е да преминете на процесора да изпълнява и други задачи, които имат всички данни за обработка. Тази концепция е в основата на multiprogramming системи партида.
система за обработка на партидите, предназначени да се насочат главно към изчислителни задачи, които не изискват бързи резултати. Първичната крайна точка е с капацитет партида система - броят на задачите за единица време.
За увеличаване на този критерий в такива системи да функционират след схема се използва:
- в началото на пакета на труда се формира от системата,
- Всяка работа изисква система на ресурсите,
- целите на този пакет е оформен multiprogramming смес, т.е. множество едновременно изпълнени задачи.
За едновременно извършване на избрани задачи имат различни изисквания за ресурси, за да осигурят балансирано натоварване на всички устройства в компютъра. Например, в multiprogramming смес е желателно да присъстват изчислителни задачи и задача интензивно вход и изход.
Изборът на нова работа извън пакета зависи от вътрешното положение в системата, който се избира задача номер едно за дадената ситуация. От това следва, че в пакета изчислителни системи не могат да гарантират изпълнението на мисия в рамките на определен период от време.
Помислете за възможностите за съчетаване на време-IO и изчисления.
Един от вариантите на такава комбинация е типично за компютри, които имат специален вход-изход процесор. Процесорите мейнфрейм са наречени канали. Обикновено, каналът има свой собствен набор инструкции, който се различава от инструкциите на системата на процесора. Тези команди са предназначени за контрол на външни устройства, а да има следния вид:
- проверка на състоянието на устройството,
- инсталиране на магнитна глава,
- настроен топ лист,
- печат линия и т. г.
програми на каналите могат да се съхраняват в една и съща памет като програмата за процесора. Soi CPU предава параметрите на канала и показва кой вход-изход на програмата, той трябва да изпълни. От тази точка на централния процесор и канала могат да работят паралелно (фигура 7.1).
Друг метод за комбиниране на изчисление с входно-изходни операции, изпълнявани в компютрите, където външното устройство не се контролират от входно-изходна процесор и контролери. Обикновено, всеки външно устройство или група има свой собствен контролер, който изпълнява самостоятелно команди от процесора. В този случай, контрольорите и процесора работят асинхронно.
Фигура 7.1 - паралелна обработка изчислителни и входно-изходни операции в системата канал
Фигура 7.2 - паралелно изпълнение на изчисления и входно-изходни операции с контролера на системата
Много периферия включват движещи се части, контролерът обикновено изпълнява негово командване по-бавно от процесора. Този факт се използва за организиране на паралелна изчислителна производителност и IOPS. Изчисленията могат да се извършват между издаването на командните контролери за външни устройства. Такова подреждане е показано на фигура 7.2.
Процесорът признава, че контролерът е готов да приеме следващата команда или аларма прекъсват или периодично избирателните състоянието на контролерите.
Максималният ефект се получава с най-пълни изчисления припокриващи и входно-изходни операции. Ако вече работите с една задача, степента на ускорение зависи от естеството на проблема и за това как внимателно взе предвид възможното паралелизъм в програмирането. Ако проблемът не е доминиран от изчисления или вход-изход, ускорение е практически отсъства. Тя не може да се припокриват в случаите, когато е необходимо да се продължи изчисляването беше пълна входно-изходни операции. В тези случаи на централния процесор престоите е неизбежно.
Ако системата едновременно работят с няколко задачи, има възможност за комбиниране на изчисляването на проблем с IO друг. Докато една задача чака събитие (отключване страница за изтегляне на файлове или цялостни входно-изходни операции), процесорът не бездейства като стъпка чрез програми, както и извършване на други задачи.
Често, общото време за изпълнение на задачите смес е по-малко от общия им време последователно. В този случай, изпълнението на конкретна задача в мултитаскинг режим може да отнеме повече време, отколкото с изключително предоставяне процесор тази задача. Когато се използват заедно, процесорът в системата да има случаи, когато задачата е готова за работа, но процесора е зает извършване на друга задача. В този случай проблемът, завърши влизането на изхода, готова за работа, но процесорът е принуден да чака за освобождаването на това удължава времето на неговото изпълнение. По този начин, Фигура 7.3 показва, че режимът на една програма, изпълнена задача А в продължение на 6 единици време, но в multiprogram - 7. Задачата също вместо 5 единици време се извършва за общо време от 6. Но и двете задачи в мултитаскинг режим е само на 8 единици, и единична програма - 11.
При периодичните системи процесорни превключва от една задача към друга извършват по инициатива на активна задача - активна задача носи процесор от необходимостта за извършване на входно-изходни операции.
Фигура 7.3 - изпълнява две задачи време в един програма система (D) в система multiprogramming (М)
Този механизъм определя голяма вероятност, че една задача може да отнеме дълго време за обработка и други задачи, спират.
Очевидно е, че системата за опаковане повишава ефективността на хардуера, но не позволява да се работи интерактивно.
7.2.3 Multiprogramming в системите за временно ползване -
В системи с времеделение, един или повече потребители са дадени възможността за едновременна интерактивна работа с множество приложения. За да направите това, всяко приложение трябва периодично да комуникира с потребителя. Очевидно е, че системите за обработка на партида не може да предостави такава възможност.
За изпълнение на системи за разделяне време често се използва "превантивен" мултитаскинг, в който операционната система периодично принудени да спрем всяка молба, без да чака да го доброволно да се откажат от контрола на системата. В този случай, всяко приложение периодично получава квант време за обработка, така че всеки един от тези приложения могат да поддържа диалог с потребителя.
През време за споделяне на системи, за разлика от системите за обработка на партидите, потребителят продължава да комуникира с прилагането му през цялото време тя се обработва. Това ви позволява да откриват и коригират грешки, въвеждане на данни и да получите резултати в реално време.
Всеки потребител в този случай предвижда отделна терминал и неговото прилагане периодично получава отрязък от време, през който се обработва от процесора. Тъй като всяка задача, възложена само квант процесорно време, няма приложение не могат да заемат процесора за дълго време, а времето за реакция е приемливо. Ако отрязък от време е достатъчно малък, а след точното изпълнение на компютърната система и съответно количество едновременни потребители за всички потребители едновременно усещането за монопол собственост на компютърна система.
Разбираемо е, че системата на разделение време е значително по-ефективен от гледна точка на използването на процесора и системни устройства, отколкото система за пакетна обработка. Това се дължи на факта, че в даден момент не работи за прилагането, който се зарежда най-ефективната система и прилагането чийто ред дойде да получи следващия път парче. Допълнителна спадане на мощността се дължи на необходимостта от по-чести превключване на процесора до приложението в заявлението - това изисква чести контекстно превключване процеси, което значително повишава система режийни.
От друга страна, използването на системи с времеделение повишава ефективността на компютърната система, в сравнение с режим на монопол, тъй като без забележимо влошаване на потребителите изпълнените услуги, система служи едновременно множество (понякога твърде много) потребители.
7.2.4 Multiprogramming в системите за реално време -
В реално време системи multiprogramming смес е фиксиран набор от предварително разработени програми предсказуеми. Изборът на програмата се извършва от прекъсване или обект в съответствие с плана.
Способността на компютърен хардуер и операционна система, за да се гарантира бързо реагиране зависи от скоростта на превключване от една задача към друга, което от своя страна зависи значително от прекъсване на скоростта на обработка на сигнали. Ако възникне прекъсване, процесора с помощта на проучването разбере кой точно причинени прекъсване, реакцията на системата може да бъде твърде бавен.
Дизайнерите на системи в реално време, не са с цел да се използва хардуера възможно най-ефективно. За разлика от това, дизайнът на такива системи, процесорът обикновено се избира с достатъчно голям резерв, така че дори в случай на връх система се справят със своите задачи.
Трябва да се отбележи, че често се използва подход към дизайна на "обикновените" компютърни системи, базирани на средната оценка на натоварване, средната интензивност на подаване на заявлението, средното време за изчакване, и затова не е подходящ за системи за контрол - .. реално време системи. Тези системи трябва да бъдат проектирани, като се има предвид възможността от комбинация от най-лошите условия в операцията. Това води до факта, че голямата част от времето за управление на системата на компютъра не се използва, и следователно, средната натовареност на хардуер е много малък. Това е неизбежната цена да плати за това, в случай на извънредни ситуации (аварийна) ситуация, системата ще работи правилно и технологичния процес няма да бъде нарушен. Ако не се придържат към този подход към системите за контрол в реално време, неизбежните нови Chernobyls.