Въведение в операционите системи



Дата22.08.2016
Размер261.17 Kb.
Въведение в операционите системи


  1. Определение и гледни точки

Комплекси от програми , които управляват ресурсите на компютърните системи

Операционите системи като средства за виртуализация.

Операциони системи организират използването на различни ресурси определени начини по , който да се използват и управляват тези процеси.
ОС  ресурси  апаратни , програмни
Програмни ресурси – са различни програми , процеси и данни за тяхното изппълнение

Ресурси се разделят на апаратни ресурси те се управляват от операционата система за всички устройства.

Разделят се на делими ресурси и неделими ресурси. Делимите не могат да бъдат отнемани. Неделимите могат да бъдат отнемани.


  1. Функции на операционните системи

    • Управляване на процесите – създаване , изпълнение , унищожаване

    • Управление на междупроцесните взаймоотношения

    • Организация и управление на различни памети

    • Планиране и деспечиране на процесорите

    • Организация и управление на устройствата за съхранение на информация

    • Управление на периферни устройства

    • Организация и управление на потребителски интерфейс

    • Защита на информацията




  1. Видове операциони системи

    • Според броя потребители и решени задачи

Еднопотребителски и еднозадачни (DOS)

Еднопотребителни и многозадачни ( Windows 3.0 )

Многопотребителни и многозадачни ( Windows Xp , Linux )


  • Според предназначението

Конвекционални за едно работно място

Мрежови операциони системи

Операциони системи за мобилни комуникации

За реално време – наблюдение на обекти

За обработка на транзакции – графичен интерфейс , с команден интерфейс , с произволен интерфейс
4. Прекъсвания – събитие , което нарушава последователността в изпълнението на команди и действия. Прекъсване при рестартиране , следствие на апаратна грешка , при превключване на супервайзерски решения на прозореца.
Типове файлове в Unix:


  • Обикновени ( регулярни ) файлове

  • Твърди връзки

  • Символни връзки

  • Файлове на устройства

  • Именувани и неименувани канали ( FIFO )


Системни извиквания за работа с регулярни файлове
fd = open обект

дескриптор на файл  „отворен файл”

res = read (fd) указателя на файла сочи текущата позиция до , която е достигнало четенето и записа

res = write (fd) < fcntl.h >


Архитектура на операционните системи


  1. Йерархични подход към структурата на операционните системи

Разделят се на 13 нива. За всяко от нивата има определено име и изпълнява определени операции.От 1 до 4 нива са за хардуер , 13 ниво е за интерфейс
Разделени според броя на слоевете биват: многослойни , микроядрени и двуслойни
хардуер  фърмуер  операционна система  софтуер  системен и приложен
потребител

привилегирован режим ядро

сървъри на операционната система

привилегирован режим микроядро




  1. Функции на ядрото

    • Създаване и управление между процесите

    • Управление на между процесните взаимоотношения

    • Организация и управление на всички видове памет

    • Диспечиране на работата на процесорите

    • Управление на устройствата ( за съхранение на информация и периферни устройства )

    • Организация и управление на информацията

    • Защита на информацията


Процеси в компютърните системи


  1. Определение. Видове състояния

Процес – програма по време на изпълнението
Стигане до процес:

компилация свързване изпълнение

програмиране  код  код + данни  код + данни + състояния
активни състояния: изпълнява , готов , блокиран

пасивни състояния: спрян – готов , спрян – блокиран

изпълнява – това е състояние което използва процесора

готов – състояние което може да вземе готов процес

блокиран – състояние което е временно спряно ( процес от по – висок приоритет )
опашка от готови процеси



4

готов блокиран



2 3

1
изпълняван

5 6 5 6

списък опашка



на изпълними процеси

спрян – готов спрян – блокиран


1 – деспечиране ( процес ) готов  изпълняван

2 – квант ( процес ) изпълняван  готов

3 – блокиране ( процес ) изпълняван  блокиран

4 – деблокиране ( процес ) блокиран  готов

5 – спиране

6 – пускане


Операции на процеси

 


    • създаване и унищожаване на процеси

    • блокирване и деблокирване

    • пускане и спиране

    • диспечиране

    • промяна на приоритета на процесите

 

Със създаването на процесите се създават блок за управление:



    • идентификатор на процеса

    • указател към родителски процеси

    • необходимо процесно време

    • указател към дъщерен процес

    • списък от ресурси за изпълнение на процеса

    • указател към паметта

    • приоритет на процесите

 

Приоритетите биват:



    • принадени - за тях се грижи операционната система

    • купени

 

Процесите биват:



    • системни

    • потребителски

    • вътрешни и външни

    • тъждествени и равни

    • еднакви и различни

 

Паралелни процеси:



    • зависими ( колпериращи и конкуриращи )

    • независими

 

Микропроцесорни взаимодействия

 

1. Основни методи



    • взаимно изключване

    • синхронизация

    • комуникация

 

Хардуерно решение - чрез средства на операционната система , машинно зависими езици.

Test an Set (TS)

 

Софтуерно решение - езици от високо ниво



COBEGIN / PARBEGIN

операция 1

операция 2

.....


операция n

COEND / PAREND


Пример:

 

A,B,C = ? => A+B = C



DOI = 1 to 4

C(I) = A(I) + B(I);

COBEGIN

C(1) = A(1) + B(1);



C(2) = A(2) + B(2);

.....


C(4) = A(4) + B(4);

COEND


 

f = [ (a + b) + c] + d или f = (a+b)+(c+d)

 

Семафора може да бъде броячен (P(S) ; V(S) ; инициал)



ресурс

    • V(S): S:= S + 1; // стойността на S се увеличава и просеца продължава

P(S) – под заемно изключване

ВВИ - входно взаимно изключване

ИВИ - изходно взаимно изключване



Клинч ( зацикляне или мъртва хватка )

 

1. Определение.Условия за възникване



 

Състояние без изход , достатъчно е само един от процесите да е в клинч за да стане цялата система в клинч.



    • монополно използване на ресурсите

    • кръгово очакване

 

Има четири направления:



    • за заобикаляне

    • предотвратяване

    • възстановяване

 

Организация и управление на паметта в компютърните системи
1. Паметта като ресурс на операционните системи – организация и управление , използване на различните видове памет в компютърните системи. Под организация се разбира начина за представяне и използване от потребителя.
Възможностите са:

    • паметта да е представена на един потребител или да много потребители

    • паметта да е разделена на блокове или да няма такова разделение. Може да бъде с еднакъв или различен размер.

    • потребителя да има различен достъп или еднакъв

Управление – набор от стратегии за използване на паметта , които гарантират оптимални характеристики на системата


Стратегиите биват:

  • за въвеждане на информация

  • за разполагане на информация

  • за извеждане на информация

регистри  кеш памет  оперативна памет  външна памет


2. Организация на оперативната памет





ОС







програма за управление
































М1







М2

Мк




3. Стратегии за управление – въвеждането става по заявка







ядро на ОС







21к







\\\\\\\\\\\\\\\\\\\\\\







//////////////////////







16k







\\\\\\\\\\\\\\\\\\\\\\







//////////////////////







45k
































П1

П2

Пк

15к
















16к , 21к , 45к или 45к , 21к , 16к


Организация и управление на виртуалната памет

1. Организация на виртуалната памет

Виртуалната памет е комплекс от технически и програмни средства , които позволяват потребителите да адресират пространства по – големи по размер на оперативната памет.


  • странична организация – VA = (p,d) , където р – номер на блока , d – отместване

  • сегментна организация – блоково използване на паметта , с филтрирани размери – VA (s,d) , където s – номер на сегмента

  • сегментно – странична VA = (s,p,d)

  • странично – сегментна VA = (p,s,d)

Преобразуване на виртуални адреси в реални адреси се извършва от специализиран механизъм.


Механизъм за преобразуване на виртуални адреси в реални адреси.

Странична организация използва се таблица за съседство на страниците. Всеки ред от тази таблица носи информация за една страница , която може да бъде:



  • флаг за наличност на страница

  • флаг за разрешени операции (поле за защита)

  • флаг за модификация

  • реални адреси се получават от съответния запис от таблицата за състоянието на страниците и се добавят отместването получено от изместването на виртуалните адреси , при това последната страница може да бъде поставена в кой да е кадър на оперативната памет. Таблица за съседство на страниците и виртуалните адреси освен в оперативната памет могат да се съхраняват и в асоциативната памет и по този начин се увеличава бързодействието. Тогава говорим за механизъм на преобразуване на адресите с асоциативно преместване

Възможно е да има и комбинирано преобразуване (пряко – асоциативно или обратното)

при него не цялата таблица се намира в асоциативната памет.

При сегментната организация се използва таблица за състоянието на сегментите и механизъм за преобразуване на адресите използва информацията от нея да се получат реалните адреси. Може да има пряко или асоциативно представяне. Изпълнимите процеси се обръщат по VA = (s,p) , S се добавя към началния адрес намиращ се в регистъра “b” полученото число показва от кои ред от таблицата за състоянието на сегментите , ще се прочете информацията необходима за получаване на реалните адреси към , които от таблицата се добавя отместване d от виртуалния адрес и се получава реалния адрес.

Възможно е дължината на сегмента да е по – голяма от наличното свободно пространство в този случай се получава прекъсване.
Сравнение между странична и сегментна организация на паметта.

Общото между тях е: и двете имат блокова организация на виртуалната памет ; и при двата вида могат да се използват по големи виртуални памети

Различия: при страничната организация блока е с фиксирани размери , а при сегментната организация не е с фиксирани размери; програмистите не е нужно да знаят за вида на организацията при странична организация , докато при сегментна се налага;

при страничната организация има едно линейно адресно пространство , докато при сегментната организация са много; при сегментната организация е възможно кода и данните да се защитават по отделно; при сегментната организация могат лесно да се съхраняват променливи данни;


2. Управление на виртуалната памет

  • за въвеждане на информация (по заявка)

  • за разполагане на информация

  • за извеждане на информация

Априорно въвеждане на информация е необходима локалност на сегментите (страниците).

Временна локалност – обръщение към една и съща страница

Проста локалност – обръщение към последната страница за определен период от време

Страници с най – голяма локалност образуват т.н. работно множество.
При сегментната организация се разполагат и трите стратегии , а при странична само първи срещнати.
Генератор на случайни числа – извеждане на случайна страница

Извеждане на първа постъпила страница (първи влязъл – първи излязъл)

Извеждане на страница , която най – дълго време не е модифицирана

Извеждане на страница , която най – дълго време не е използвана

Извеждане на страница , която най – дълго време не е модифицирана и използвана

Между процесни взаимодействия
1. Процеси и нишки
Нишката е единица от процеса , чието изпълнение се разпределя от операционната система. Елементи на нишката: идентификатор , собствена област на паметта (2 стека системен и потребителски режим) , съдържание на множества регистри представящи състоянието на процесите.

Процесите представляват множество от регистри резервирани за нишки , които изпълняват програмите.

Процеса се състои от: идентификатор , собствено виртуално адресно пространство , изпълнима програма и системни ресурси необходими за този процес.

Всички нишки в процеса се идентифицират по стека и контекста. Контекста на нишката се наричат регистри , стековете и собствената област от паметта. Влакна (леки нишки).

Кванто – време , в което нишката използва еднократна процедура.

Подновяването на една или повече нишки се разглежда като събитие.

Порта е механизъм за предаване на съобщения между процесите (нишките)

Мутексът – механизъм за синхронизация или за силеаризиране до достъп на регистрите

Профил – механизъм за измерване на времето за изпълнението на процеса в адресната област.

Диспечиризация на процесора – разпределя се не само от процесора

Нишките имат три активни състояния: изпълнение , очакване и готовност.
В повечето системи за мултизадачна работа в зависимост от избрания критерии се разглеждат на три големи групи – системи за пакетна обработка , за време деление , системи за реално време;

Всеки тип има вътрешен механизъм и обособени области на приложението.

Пакетна обработка – за изчисляване на действието , голяма пропусквателна способност, не е от значение за колко време се получава резултата , при тях предварително се формира пакетите от заданието всеки от пакетите съдържа едно изпълнение на задачата.

С време деление – представя се възможност за работа с няколко приложения , времето за пренасяне на информацията е по – голямо , всеки от процесите получава за един квант ( определено време ) след изтичането му процеса се отнема и се предоставя на следващия процес.

За реално време – операционна система за управление на различни обекти в тях съществува отделно допустимо време в рамките на , които трябва да е избрана поредната инструкция , критерии за ефективност и време за реакция , предварително определен набор от програмата , които ще се изпълни , а избора на дадена програма се реализира в режим на прекъсване или по предварително изготвен график.
2. Взаимно изключване на процедури

Проблемите са свързани със следните направления:



  • предаване на информацията от един на друг процес

  • контрол на изпълнението на процеса и действията които гарантират , че няма да има мъртва хватка

  • съгласуване на процесите

Тези проблеми касаят и нишките , физическите и логическите регистри в компютърните системи могат да бъдат разделени в даден момент от време са достъпни на един процес. Тези ресурси се наричат критични. Необходимо е да се съгласуват действията на процесите (нишките) , които могат да изпълнят критичните ресурси.


Когато един процес използва критичен ресурс той изключва възможност на останалите процеси да го използват. Необходимо е само един процес да използва ресурса в даден момент , ако няколко процеса желаят да използват критичния ресурс той трябва да бъде предоставен за крайно време; ако един процес получи ресурса , то той е длъжен да го освободи за крайно време.
Критична секция е област от процеса , която той работи с критичния ресурс. Необходимо е в даден момент само един процес да е в критична секция. Също така един процес може да остане в критична секция за крайно време и ако процесът желае да влезе в критична секция трябва да му се даде възможност в крайно време.

За организиране на критична секция могат да се използват три подхода: чрез средствата на операционната система , софтуерно и хардуерно решение.

Софтуерно решение – базира се на блокировка на паметта , четене и писане взаимно се изключват.
parbegin (cobegin)

S1:=


S2:=

….

Sn:=



perend (coend)

Sn-1:=
S – може да е оператор , извикване на процедури изпълняват се паралелно , след изпълнение преминават към Sn-1

Може да се реализира по следните начини:


  • процесите да се разглеждат като безкрайни цикли и влизането в критична секция да се управлява от while – do цикъл повтарящ се докато заключената променлива не стане равна на номера на процесите. От критичната секция се излиза когато заключението и секцията си присвоят номера на следващия процес.

begin


while ред_на ≠ 1 do

критична секция

ред_на := 2

end
При това решение един процес се блокира след като излезе от критична секция или след като се изпълни. Това важи и за другите процеси. Този алгоритъм използва една глобална променлива при него се помни само кой процес може да влезе в критична секция , но не и състоянието на процеса. В този алгоритъм е нарушено третото условие т.е. ако един процес е по-кратък той ще чака дори да има готовност за излизане.

Втория алгоритъм , когато заключва променливата се замени с 2 променливи една от които е true , а другия е false. Имат стойност true , когато процеса е в критична секция и false обратно. Начална стойност false.

procedure П1

begin

repeat


while ред_на_2 do;

ред_на_1 := true;

критична секция

ред_на_1:= false

…………

until false



end;
procedure П2

begin


repeat

while ред_на_1 do;

ред_на_2 := true;

критична секция

ред_на_2 := false

until false

end;
Основния проблем на този алгоритъм е , че критичната секция зависи от точното съгласуване във времето т.е. той не осигурява условие само един процес да е в критична секция.

Възможно е П1 да вземе решение относно състоянието на П2 преди последния да смени състоянието ред_на_2.

За отстраняване на този проблем се предлага решение при , което процесите да установят флага си преди да влязат в цикъл.
П1 само индикира , че иска да влезе в критична секция преди while. За да се избегне това се разбиват циклите и предварително се нулира флага.
procedure П1

begin


repeat

ред_на_1 := true;

while ред_на_2 do;

begin


ред_на_1:= false

случайно задържане

ред_на_1 := true;

end;


критична секция

ред_на_1 := false;

until false

end;
Не гарантира безкрайно влагане на процеси.

Модификация на трето решение. При него всеки процес влага и съобщава на други процеси , че може да влезе в критична секция , ако желае , ако два процеса желаят да влязат в компютърната система , променливата и номера на процеса ще се установят два пъти , но кой ще влезе ще се реши от нейната стойност.
procedure П1

begin


repeat

ред_на_1 := true;

процес_номер := 2

while (ред_на_2 and процес_номер := 2) do

критична секция

ред_на_1 := false

…………..

until false



end;
При взаимно изключване.

Алгоритъма на хлебаря – той се основава на т.н. принцип на алгоритъма с най – малък идентификатор , задават се вътрешно те са уникални и подредени. При него процеса влизат в компютърната система при режим първи влязъл – първи обслужен.


Хардуерно решение

TS(a,b)


TS(b)

a := b


b := true;
Може да се използва и с една променлива (локална) , а когато са две “a” е глобална. При изпълняване на тази команда локалната променлива false , а глобалната true , ако това се отнася за първия той влиза в компютърната система и останалите процеси изчакват.

При напускане на компютърните системи на П1 на общата променлива се присвояват false и така се позволява на други процеси да влязат в компютърната система.


procedure П1

var a :=boolean;

begin

repeat


b1 := true;

while b1 do

TS (b1,a)

критична секция

a := false

…………….


while false;

end;
Взаимно изключване може да се реализира и чрез семафори за целта се използват определени p,s.

P(S);(вход)

критична секция

V(S);(изход)
За реализацията на компютърната система се използват двоични семафори , при извикване на P(S) процесът чака при S=0 докато другите процеси не го освободи чрез V(S). Основен недостатък е , че те изискват активно очакване.
3. Синхронизация
Организация и управление на кеш-памет
1. Кеш-памет (cache) като ресурс на ОС.

Кеш-паметта е начин за функиониране на 2 типа запомнящи устройства, които се отличават по времето за достъп до информацията и по цена. При нея информацията от “бавното” ЗУ (Запазващо устройство) динамично се копира в бързото ЗУ. Това се прави за най-често използваната информация.

Чрез използването на кеш-памет се намалява времето за достъп до данните и необходимостта от скъпа бързодействаща памет.

Кеш-паметта се разглежда по-често като работа на “бързо” ЗУ. Те имат < обем. По-скъпа и заема междинно мясту м/у основната (оперативната памет) и регистрите. Като “бавно” ЗУ се разглежда основната (оперативната) памет.


Фиг.1: Иерархия на запомнящите устройства (паметта на КС)

Свойство на кеш-паметта се явяват нейната прозрачност за програмистите и потребителите. Те не участват в организацията и управлението й. Прехврърлянето (преместването) на информацията от едното към другото ЗУ се реализират автоматично.

Кеширането е универсален метод, използван за намаляване на времето за достъп до оперативната памет, до твръдия диск или до други ЗУ. Обикновенно (в качеството) като кеш памет се използва бързодействаща статическа памет за намаляване на средното време за достъп до опер. памет или буфери в опер. памет (ОП) – за маляване времето за достъп до данни записани на твърдия диск. Виртуалната памет (ВП) може също да се счита като вариант за реализация на принципа за кеширане на данни. В този случей ОП играе роля на кеш по отношение на външната памет (например твръдия диск).

Регистрите са малки, свръхбързи RAM клетки, вградени в процесора.

DRAM (динамична (RAM) оперативна памет) – клетки памет, които се използват за стандартни RAM модули. Изискват постоянен опреснителен сигнал, за да помнят информацията.

SRAM (статична RAM) – вид ОП, която (за разлика от DRAM) съхранява информацията си без опреснителен сигнал. SRAM е по-бърза и по-скъпа от DRAM. Използва се за кеш. Кеш RAM е много по-бърза, отколкото обикновенната ОП.

Кеш паметта (кешът) доставя информацията си на регистрите на CPU. Това са малки единици памет, които са разположени директно в ядрото на CPU и са най-бързата съществуваща RAM. Размерът и броят на регистрите се определя в зависимост от вида на процесора.

Кешът е основен мост м/у оперативната памет и регистрите. Информацията постоянно се прехвърля от регистрите на CPU към кеш Level 1 (първо ниво), от кеш L1 към регистрите, от един регистър към друг, от кеш L1 към кеш L2 и т.н.
Фиг. 2


Кеш паметта се изпозлва за по-ефективен преход м/у бързия процесор и бавният RAM. Кеш RAM работи с по-висока тактова честота, отколкото обикновенната RAM. Поради това информацията в нея може да бъде прочетена по-бързо.

Кешът намалява специф. проблеми в КС наречени “стеснения” т.е. преходите м/у бързи и бавни системи, където бързите трябва да *чакът* преди да доставят или получат информация.


Фиг. 3


Замисалът на кешът е да функционира като “затворен запас” от бърза RAM. От него CPU може винаги да се снабдява.

Кеш контролерът непрекъснато управлява работния процес на CPU. Той чете данните, необходими на CPU. Когато кешът съдържа нужната информация това се нарича кеш попадение (cache hit), а когато не съдържа – кеш пропуск (cache miss).

В КС обикновенно има 2 или 3 “затворени запаса/нива” кеш памет. Наричат се L1 (Level 1) – ниво 1, L2 (второ ниво) и ако (е възможно) Level 3 кеш. Наприер в CPU Itanium на Intel има 3 нива на кеша, които се използват само за много специални сървър приложения.
Обикновено в КС имат L1 и L2 кеш.
Фиг. 4

Кеш L1 е вградена в ядрото на CPU. Тя е частица от RAM, обикновенно 8, 16, 20, 32, 64 или 128 килобайта (KB), която работи със същата тактова честота, както и останалата част на CPU. Затова казваме, че кешът L1 е част от CPU.

L1 се разделя на 2 части ендата е за информация, а другата за инструкции (Фиг. 5). Ако е обща говорим за унифицирана кеш (както е горе в схемата).
Фиг. 5


Начинът, по които CPU използва кешът от първо и второ ниво, имат решаващо значение за оползотворяването на високата тактова честота.

Второто ниво на кеша, кеш L2 е обикновенно по-голямо (и унифицирано), например 512 KB, 1 MB, 2MB и т.н. Целта на кеша L2 е непрекъснато да сортира големи количества информация от оперативната памет, така че те да са достъпни за L1.

L2 не е толкова бърз колкото L1, но си остава по-бърз от обикновенната ОП.

Колкото повече кеш памет L1 и L2 има в ядна КС, толкова по-ефективен е процесорът.

Кешът е решаващ фактор за оползотворяване на високите тактови честоти на CPU. L1 е изключително ефективен. В 96÷98% от случаите CPU е способен да открие в кешът данните и инструкциите от които се нуждае.

В кеш паметта се съхраняват записи за данните в основната памет. Всеки запис съдържа:




(1)

(2)

(3)









-адрес на данните в ОП (1)

-данни (2)

-управляваща информация (3)
Кеш-памета не е адресируема памет.

Търсенето на (нужните) необходимите данни се прави по съдържание.

Ефективността на кеша (кеширането) зависи от вероятността за попадение в кеша. Процентът на попадение е обикновенно > 90% Това се обяснява с наличието на обективните свойства на данните, а именно – пространствена и временна локалност.

Проблема за съгласуване на данните:

Наличието на 2 копия на данни – в основната и в кеш паметта поражда проблема за съгласуване на данните. Ако се направи запис в ОП на някои адрес, а съдържанието на тази клетка е от паметта е в кеша, то съответстващия запис в кеша е недостоверен.

В повечето КС има 2 нива на кеш памет. Кеш памет от ниво 1 е по-малкият по обем и има много по-голямо бързодействие в сравнение с L2. L2 играе роля на основна памет по отношение на L1.


Фиг. 6


<6 от документа липсва, тоест съдържанието не е пълно>

Управлението на кеша се реализира от мениджър на кешът (*на същия*). Той предоставя високоскоростен интелигентен механизъм за намаляване на действия вход/изход и увеличаване на цялосттния системен обем. Като кешира, на базата на виртуални блокове, кеш мениджъра може да извърши интелигентно предварително четене. Той може да предостави специален бърз входно/изходен механизъм за намаляване на процесорното време, необходимо при операции за четене и писане. Така се увеличава ефективността и се намалява дублирането на код. Последното се (извършва) реализира чрез глобалния (единствен) мениджър на паметта, които управлява физическата памет.


Мрежови ОС

   1. Характеристики на МОС.

    Тази операционна система може да се счита като разпределителна, тоест тя може да разпределя своите ресурси между множество мрежови компютри. Осн. функ. е да управлява достъпа до общи мрежови ресурси. Достъпът до тях се осъществява от множество клиентски машини едновременно и именно там е мястото на тази МОС да контролира едновременния достъп до общите ресурси.   

    -сравнение м/у десктоп ОС и МОС

    На десктоп системата може да има много потребителски акаунти, но в системата работи само 1 потребител. Докато при МОС едновременно множество потребителски акаунти работят конкурентно (едновременно) и тези потребителски акаунти осъществяват достъп до общите мрежови ресурси. МОС трябва да е достатъчно надеждна и бързодействаща, за да може да се осигури едновременния достъп до информацията от всички потребители едновременно, без да се натоварва The Server. Задължително е за МОС както при десктоп ОС да е :

    -многозадачна

    -многопотребителска

    -многонишкова

    -многопроцесорна

    Защо многозадачна?

    Мрежовият сървър изпълнява няколко услуги едновременно: web, ftp, mail server и т.н.

 

Пример за работа на един web server:



do {

//client request


//processing request
//response

} while(1)

Той приема заявки от клиентска машина, обработва заявката и връща отговор към клиента. Ако заявката от първия потребител се забави със изпълнението си, то следва че сървъра ще зависне и няма да може да се изпълни задачата поиската от друг потребител.
do {

//client request


//processing request
//create thread for the response

} while(1)


Така когато ще се изпраща отговор към потребителя ще се създаде нишка и така няма нужда да се изчака да завъши цялата заявка, а отговорите ще се получават към клиентите посредством нишките и ще са навреме без забавяния.



  • МОС Hardware:

Необходимо е Hardware-а да е достатъчно мощен за да покрие всички заявки (дори и те да са хиляди).

    • Той има допълнителна RАМ памет (понякога резервирана)

    • Допълнително дисково пространсвто (резервирано (посредством RAID масиви))

      • RAID 0 – strip

        • 2 HDD обедитени в един общ по голям масив

      • RAID 1 – mirror

        • Използва се за по-голяма сигурност на данните – 2 HDD, като единия се губи, защото това което се записва на единия, се записва на втория (втория е огледален образ на първия HDD). Ако се получи повреда по първия, то втория продължава да работи без загуба на информацията.

    • Допълнителни процесори (многопроцесорна система)

    • Резервиране на захранващите модули – ако се появи авария в основния захранващ блок, то резервния се активива.

  • Критерии за избор на МОС

    • Производителност – тоест колко клиентски машини може да обслужда едновременно

    • Software за управление и наблюдение

    • Защита и сигурност – криптиране и т.н.

    • Мащабируемост – възможност за разрастване на мрежовата система

    • Отказо устойчивост – RAID масиви, RAM и др.

    • Издръжливост при натоварване

  • Видове МОС

    • Windows NT Server

    • Windows 2000 server

    • Windows 2003 Server

    • Windows 2008 Server

    • Novell NetWare 5.0

    • Всяка Linux и UNIX дистрибуция

    • *BSD – Вид UNIX

2. Мрежови ОС на Microsoft

- те създават домейни и Active Directory

- домейн – група от компютри, които са под общо административно управление

- може да се изгради така нареченото дърво на домейни

- Active Directory – директориини услуги – те осигуряват централизиран контрол на мрежовите ресурси (компютри, потребители, споделени папки и т.н.) в цялата мрежа.Възможност за организиране на информацията и опростено управление на информацията.

Организиране на информацията в директорията (директория - база от данни с иерархична структура), в нея се поддържа информация за мрежовите ресурси и обекти.

Всички споделени ресурси се публикуват в директорията.

Потребителите могат да откриват и осъществяват достъп до всеки един мрежов ресурс без да познава неговото местоположение.

За да се създаде една такава директория е необходимо да имаме един компютър наречен контролер в който съхраняваме базата данни, може и повече от един контролер, като базата автоматично се репликира между останалите.

Клиента използва протокол LDAP за да осъщесвти връзка с контролера и съответно да осъществи връзка с търсения обект.

В Windows контролера се нарича Domain Controller – домейн контролер.

Всеки обект в конторлера има ACL – Access Control List – в него се съдържат правата за достъп асоциирани с обекта. Правата за достъп могат да бъдат от “всичко е позволено” до “всичко е забранено”
Разликите м/у Windows 2000 Server и Windows 2003 Server трябва да имаме PDC – Primary Domain Controller и Backup Domain Controller. Промените се правят единствено в PDC и след това се репликират в BDC. От BDC може само да се чете и той поема управлението единствено ако отсъства PDC. При Windows 2008 Server няма нужда от PDC и BDC, нужно е да имаме само Domain Controller, като можем да имаме повече от 1 съответно като на всеки един се репликира информацията от основния.
3. МОС на Linux.

- Network Information Service

Един основен NIS сървър (master server) и множество подчинени на този сървър (slave servers), съответно клиентите се свързват с подчинените сървъри.

В master сървърът се създава базата данни, в slave сървърите има копие на тази база данни, но само за четене.

- SMB (Server Message Block) протокол

Той е универсален и е вграден на всички видове операционни системи. Той се използва за потвърждаване достъпа до файловете. Windows компютрите използват този протокол за достъп до споделените файлове в мрежата.



Мрежови операциони системи
1. Централният процесор.

Централния процесор се организира на 2 или 3 нива.

Когато е на 3 нива, на най-горно ниво се определят процесите които ще им бъде разрешено да се състезават за процесора. В повечето случеи се работи с потребителски задания, те не са още процеса. На това ниво се позволява на кой задания ще се допускат да се състезават за процесора. На междинно ниво се работи само с процеси и там се определя кои от тях ще се състезават. Най-ниско се определя в какъв ред самите процеси ще бъдат обслужени от процесора. Когато се работи на 2 нива, се използват само процеси. На горното се определят процесите на които ще бъде разрешено да се състезават, а на долното, се определя реда на изпълнението им. На ниско ниво се определя от програма от ядрото на процесора - диспетчър, и има функции диспетчиране. Когато се говори за планиране се разбира стратегии и политики за формиране.
2. Политики за формиране. Цели и критерии.

Осн. цели: да се изберът стратегии които са справедливи и да водят до балансирано натоварване на процесора и ресурсите на компютъра. Друга цел е да се изберат стратегии които да не дискриминират процесите, а всички да са равнопоставени. Излючване възможността до безкрайно отлагане и състояния на клинч. Да гарантира обслужване на всички процеси за крайно време. По отношение на критериите за съпоставяне на критериите се приема базата за сравнение и тя е да се отчита приоритета на процесите; дали избраната стратегия натоварва процесора и как го натоварва; дали се обслужват приоритетно вх./изх. операции и др.


3. Критерии за диспетчиране

Разделят се на 2 големи групи:



  • без привключване

    • процесора не се отнема по време на изпълнение на процеса

  • с привключване

(стратегия без превключване) Приоритетна стратегия: всички процеси се поддреждат по приоритети, като първи е този процес с най-голям приоритет и след приключване на работата и освобождаване на ресурса се минава към следващия процес.

(стратегия без превключване) Стратегията FIFO (по реда на заявките)

(стратегия без превключване) Стратегия на циклично обслужване: ако дадения процесе не приключи, то той отива най-отзад на опашката.

(стратегия без превключване) Процесите се обслужват според процесорното си време: процеси който изискват за кратко време процесора те се обслужват първи

(стратегия с превключване) Стратегия за обслужване на опашки на няколко нива:Процесите се разделят на групи според техните процесорни приоритети, и всяка група се слага на отделна опашка, която се разполага на определено инво. Ниво 0 са процесите с най-висок приоритет. Работи с динамични приоритети и динамични кванти.


Мултипроцесорни Системи
Система която работи и се използва съвместно поне 2 или повече процесора с еднакви или различни параметри.

Предимства: система с по-голяма надеждност и бързодеиствие.

Схема обща шина: процесора и паметта се свързват в една обща шина. Най-лесна за поддържане и най-лесно се прави синхронизация на процесорите.

Недостатък: производителността зависи от производителността на шината.


Схема матрица с кординатна комутация: най-надеждна и най-скъпа. Трудно се прави синхронизация.
Схема многопортова памет.
Силно свързани и слабо свързани процесори: при едни и същи права на достъп към 1 обща памет се говори за силно свързани. А ако паметта (адресното пространство) приоритетно се използва от отделните процесори, то тогава се говори за слабо свързване.
Паралелизъм в мултипроцесорните системи:

  • явен

    • той се задава софтуерно

    • използват се езици за паралелни алгоритми

  • скрит (неявен)

    • той се открива от операционната система

Механизми за откриване на неявния паралелизъм: редукция на височината на дървото и разцепване на цикъл.
Основни функции:

Управление на процесите в междупроцесните взаимодействия.

Планиране и диспетчиране работата на процесите.

Реконфигуриране (пренасочване;преразпределяне) на задачите при необходимост.

Организация на управлението на различните видове памет.

Управление на различните видове устроиства.

Защита на информацията.

Събиране, съхранение, обработка и извеждане на информацията.

Защита от несанкциониран достъп.

Организация и управление на потребителския интерфейс.


По начин на използване мултипроцесорните системи могат да се конфигурират в системата: главен – подчинен; разпределени монитори; и симетрична организация.

Главен – подчинен – на един от процесорите се назначава да бъде главен, като функциите на останалите процесори са ограничени.



Разпределени монитори: един кординира, но всеки процесор има достъп до ядрото.

Симетрична: аналог на компютърна мрежа.
Каталог: referats
referats -> Специализирани микропроцесорни системи (курс лекции) Учебна година 2008/2009
referats -> Програмата Internet Explorer
referats -> Високоскоростни компютърни мрежи. Високоскоростни км-класификация
referats -> Бройни системи основни бройни системи
referats -> Морфология и расология съдържание
referats -> 1 Строеж на атомите – модели Ръдърфор, Бор, квантово механични представи основни принципи, атомни орбитали, квантови числа
referats -> Международно наказателно право понятие за международното наказателно право
referats -> Тема 11. Връзка на асемблер с езиците от високо ниво
referats -> Тема първа
referats -> Лекция 1: въведение за понятието Web дизайн някои митове за Web дизайна


Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©obuch.info 2019
отнасят до администрацията

    Начална страница