February 21st, 2010
Мрежови операционни системи
Към класа на слабо свързаните сисМрежови операционни системи
Към класа на слабо свързаните системи могат да се отнесат мрежовите операционни сиКъм класа на слабо свързаните системи могат да се отнесат мрежовите операционни системи. Те осигуряват среда, посредством която потребител от своя локален PC може да получи достъп до ресурсите на всеки друг отдалечен PC на мрежата. За да се осигури такава среда, мрежовите ОС трябва да предоставят като минимум две възможности:
влизане като потребител в ОС на отдалечен компютър;
прехвърляне на данни м/у локалния и всеки друг отдалечен PC.
При необходимост, потребителят може дистанционно да влезе в ОС на всяка друга машина, използвайки команда от вида:login <machine>Прехвърлянето на файлове от една машина на друга може да се извърши с команда от типа:copy machine1:file1 machine2:file2С тази команда файлът fil
e1 се коп
ира от работната станция machine1 в работната станция machine2 под името file2.Стандартът POSIX (Portable Operating System) дефинира множество от библиотечни процедури, които всяка отворена ОС трябва да притежава, за да комуникира с друга отворена ОС. Първоначално стандартът HYPERLINK "http://bg.wikipedia.org/wiki/POSIX" POSIX е разработен за съгласуване на различните версии на системите UNIX, но впоследствие се разпростран
я
ва и за други ОС.Реализацията на услугите в мре
ж
овите
OC се извършват съгласно модела клиент-сървър. Комуникацията м/у клиентите и сървъра се реаливлизане като потребител в ОС на отдалечен компютър;
прехвърляне на данни м/у локалния и всеки друг отдалечен PC.
При необходимост, потребителят може дистанционно да влезе в ОС на всяка друга машина, използвайпрехвърляне на данни м/у локалния и всеки друг отдалечен PC.
При необходимост, потребителят може дистанционно да влезе в ОС на всяка друга машина, използвайки команда от вида:login <machine>Прехвърлянето на файлове от една машина на друга може При необходимост, потребителят може дистанционно да влезе в ОС на всяка друга машина, използвайки команда от вида:login <machine>Прехвърлянето на файлове от една машина на друга може да се извърши с команда от типа:copy machine1:file1 machine2:file2С тази команда файлът file1 се копира от
работната станция
machine1 в работната станция machine2 под името file2.Стандартът POSIX (Portable Operating System) дефинира множество от библиотечни процедури, които всяка отворена ОС трябва да притежава, за да комуникира с друга отворена ОС. Първоначално стандартът HYPERLINK "http://bg.wikipedia.org/wiki/POSIX" POSIX е разработен за съгласуване на различните версии на системите UNIX, н
о
впоследствие се разпространява и за други ОС.Реализацията на услугите в мрежовите OC се извършват съгласно модела клиент-сървър
.
Комуникацията м/у клие
н
тите и сървъра се реализира с помощта на съобщения със специфичен формат. Клиентите изпращат към сървъра съобщения заявки (request), а сървърът връща резултата от изпълнението на заявката на клиентите със съобщение отговор (reply).Възможностите, включени в мрежовите OC, позволяват върху тях да се реализират различни разпределени приложни с-ми.Мрежовите операционни системи служат като платформа за разпределени инструментални среди, известни като междинни (middleware). Middleware е допълнително ниво на абстракция над мрежовите OC, реализиращо услуги с общо предназначение (general purpose). Основната цел на междинните системи се състои в предоставяне на простота и удобство за програмиране на разпределени системи. Тази цел се постига чрез:осигуряване на прозрачност (transparency) при програмиране. Прозрачността означава скриване на детайлите и особеностите на: реализацията на мрежата и апаратурата; комуникацията между програмни компоненти;Маскиране на различията на OC на компютрите в мрежата и HYPERLINK "http://www.technologybulgaria.com/resources/%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%B8%D1%80%D0%B0%D0%BD%D0%B5" езиците за програмиране.Разработени са различни класове системи middleware, различаващи се според мощността на програмните абстракции, които предоставят и възможностите за използване в хетерогенни мрежи и компютърни архитектури:Отдалечено извикване на процедури (Remote Procedure Call – RPC). Предоставя програмна абстракция за обръщение към процедури през мрежата;Middleware системи, ориентирани на съобщения (Message-oriented Middleware – MOM). MOM осигуряват абстракция на опашка от съобщения, достъпна през мрежата. Тя е добре известната като – пощенска кутия (mailbox);Middleware системи, ориентирани на обекти (Distributed Object Middleware). Осигуряват програмна абстракция за обръщение към методите на отдалечен обект по същия начин, както към обект, разположен в адресното пространство на извикващата програма. Най-известните с-ми от този клас са: CORBA; DCOM и др.
е
ните ОС. Разпределените ОС са предназначени за работа в РС мрежи без обща памет. Те позволяват на отделните потребители еднотипен
достъп
д
о локалните и отдалечените РС ресурси, като създават илюзията за работа в еднопроцесорна с-ма с времеделение. Основните характеристики на разпределените ОС са:
единен глобален механизъм за междупроцесна комуникация;
единен глобален механизъм на защита на програми и данни;
един и същ механизъм за управление на процесите във всички машини с еднакъв интерфейс от с-мни извиквания за създаване, унищожаване, стартиране и преустановяване на процесите;
глобална файлова с-ма с добре дефинирана семантика;
При разпределените с-ми в/у вс. машини се изпълняват идентични ядра на ОС, които координират по подходящ начин своите действия.Предимства на разпространените операционни системи:
Възможност за достъп до общи за всички процеси ;
Съвместно използване на ресурсите;
Възможност за комуникация в реално време между потребителите;
Гъвкавост при експлоатация;
Висока надеждност.
Разпределените системи и редица специфични проблеми за разрешаване, към които могат да се отнесат:
Необходимост от разработване на разпределен HYPERLINK "http://www.statii.info/%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%B8%D1%80%D0%B0%D0%BD%D0%B5-%D0%BD%D0%B0-c.html" софтуер;
Мрежови проблеми, свързани с необходимост от надеждна комуникация м/у отделните РС в мрежата;
Необходимост от сигурност и защита на общите данни;
Цели при проектиране на разпределени системи
При проектиране и разработка на разпределени системи се преследва постигане на следните основни характеристики:Прозрачност (transparency). Прозрачността се дефинира като скриване от потребителите и приложните програмисти на разпределената с-ма, така че тя да изглежда като еднопроцесорна с-ма.Гъвкавост (flexibility). Гъвкавостта позволява лесно добавяне на нови функционални възможности в с-мата. Два подхода за изграждане, които оказват влияние върху гъвкавостта:монолитно ядро на ОС (monolithic kernel). Представлява е ядро на централизирана операционна система, разширено с мрежови средства и интегрирани услуги за отдалечен достъп. Предимство- висока производителност. Недостатък – ниската гъвкавост на с-мата;микроядро на ОС (microkernel). Предоставя минимален набор услуги – механизъм за междупроцесна комуникация, управление на паметта, управление на вход-изход на ниско ниво, ограничено управление и планиране на процесите на ниско ниво.Надеждност (reliability). Неизправностите в разпределените системи като правило са частични, ако някои компоненти откажат, другите продължават да функционират.Производителност (performance). Постигането на по-висока производителност по сравнение с централизираните с-ми е най-важната преследвана цел на разпределените с-ми. Според степента на разпаралелване се различават дребнозърнест (fine-grained) и едрозърнест (coarse-grained) паралелизъм. Дребнозърнестият паралелизъм предполага паралелно изпълнение на множество малки програмни фрагменти. Степента на паралелизъм е висока, и честотата на взаимодействие м/у фрагментите е висока. При едрозърнестия паралелизъм степента на паралелизъм е по-малка, тъй като паралелно се изпълняват големи програмни фрагменти. Тяхното взаимодействие е по-слабо, което води до намаляване на комуникационните разходи.Разширяемост (scalability). Една система е разширяема, ако остава ефективна при значително увеличаване както на ресурсите, така и на потребителите в с-мата.. Подходящи са само разпределени алгоритми, които имат следните характеристики:
няма единствена машина, която да събира информация за цялата на система;
машините вземат решения, базирани само на локално достъпна информация;
срив в една машина не предизвиква срив в работата на алгоритмите;
Модел клиент-сървър
1.Въведение – Той отразява взаимодействието между паралелно изпълняващи се програмни процеси. клиент-сървър, при които клиентите и сървърите се изпълняват върху различни машини, свързани в мрежа – локална (LAN) или глобална (WAN).Комуникацията м/у клиентите и сървърите се базира на протокол без установяване на връзка, наречен протокол заявка-отговор . За комуникацията клиент-сървър в локална мрежа са необходими само три протоколни нива. Физическото и каналното ниво са необходими за доставянето на пакетитеСистемното извикване send() изпраща съобщението от адрес &message на процес с идентификатор destination. Изпращащият процес да се блокира, докато съобщението не бъде изпратено. Системното извикване receive() блокира процеса, до получаване на съобщение за него.Oсновните проблеми, които трябва да се решат са следните:
Начин на адресиране на процесите;
Блокиране или неблокиране на процеса при изпълнение на send() и receive();
Буфериране или небуфериране на изпращаните и получавани съобщения;
Осигуряване или не на надеждност при доставката на съобщенията;
Избор на архитектура на сървъра – последователна или паралелна;
Възможност за разширяемост.2.АдресиранеЗа да може да изпрати съобщение-заявка към нужния сървър, клиентът трябва да знае неговия адрес.Адресът на сървъра може да бъде открит и използван по един от следните начини:Твърдо зададен адрес в кода на програмата на клиента. Всяка промяна в адреса на сървъра, изисква преработка и прекомпилиране на програмата на клиента;Откриване на сървъра чрез broadcast . За да се получи лесно преместваем сървър е необходимо присвояване на уникален адрес на процеса, който да не съдържа адрес на машина. Този адрес може да се получи по два различни начина: чрез обръщение към специализиран централен процес или самоназначаване на адрес. В първия случай е необходим централен процес, раздаващ последователни адреси на процесите. Във втория случай процесът сам избира собствен идентификатор от голямо разредно адресно пространство.Преди да изпрати съобщение-заявка към сървъра клиентът трябва да открие машината, върху която той се изпълнява. За целта той изпраща по broadcast специален локализиращ пакет, съдържащ адреса на сървъра. Този пакет се приема от всички машини. В случай на положителна проверка, съответната ОС изпраща обратно съобщение към клиента, съдържащо мрежовия адрес на машината. Клиентът използва този адрес за изпращане на съобщение-заявка към сървъра.За намаляване на трафика от broadcast съобщения клиентът може да кешира получаваните отговори. При необходимост от следващо обръщение към сървъра, клиентът първо търси адреса на машината в локалната си кеш.Откриване на адреса чрез сървър на имена (name server) (фиг.3-c). В този случай е необходима допълнителна машина, върху която се изпълнява сървър на имена, даващ съответствие между име на услуга и адрес на машина. Подходът дава възможност за обръщение към сървър по име на услугата, която предоставя. Името на услугата е постоянно и може да бъде заложено в програмата на клиента. При необходимост от получаване на услугата, клиентът първо се обр
ъ
щ
а към сървъра на имена, запитвайки за
адреса на машината, върху която нужният сървър текущо е зареден. След получаване на отговор с адреса на сървъра, клиентът се обръща директно към него със съобщение-заявка.Локализация на сървър:а) твърдо зададен адрес;b) използване на bro
Разпределени и мрежови операционни системи
Преглед на началото - целият файл след изтегляне
Описание
Дисциплина: Мрежови операционни системи
0 коментара
За да коментирате, трябва да сте влезли в профила си.
Влезте