Функции и структура на Windows и Linux

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

Принцип на работа на системата

Повечето структури на ОС използват подхода за разделяне на слоевете на всяка задача, включително файловите системи. Всяко ниво е отговорно за определени действия. Когато приложението подкани файл, първата заявка се изпраща до логическата файлова система. Той съдържа метаданни за файлови структури и директории. Ако приложението няма необходимите разрешения за достъп до файла, този слой генерира грешка.


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


Типове

Съществуващата операционна система и структурата на системата позволяват на потребителските приложения да взаимодействат със системния хардуер. Тъй като операционната система е сложна структура, тя трябва да бъде създадена с максимална грижа, така че да може лесно да бъде използвана и модифицирана. Лесен начин да направите това е да го създадете на части. Всяка от тези части трябва да бъде ясно дефинирана с прецизни входове, изходи и функции. Има много операционни системи, които имат сравнително проста структура. Те започват като малки системи и бързо се разширяват далеч отвъд оригиналния си дизайн. Често срещан пример за това е MS-DOS.
Съвременните системи трябва да имат модулна структура и функции на операционната система, за разлика от MS-DOS. Това води до по-голям контрол над компютърната система и нейните приложения. Модулната структура също така ще позволи на програмистите да скрият информацията, както е необходимо, и да приложат вътрешните процедури, както им се струва, без да променят външните спецификации. Един от начините за постигане на модулност в операционната система е многостепенният подход или създаването на слоеста структура. Най-долният слой е хардуер, а най-горния слой е потребителският интерфейс. Слоевете могат да скрият някои структури и операции от горните им слоеве. Един проблемс многостепенна структура е, че всеки слой трябва да бъде внимателно дефиниран, защото горните слоеве могат да използват само функционалността на долната.

OS архитектурен дизайн

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

Модерни монолитни конструкции

Монолитен дизайн на архитектурата не създава специални условия за естеството на операционната система. Въпреки че участва в разделението на проблеми по време на работа, той не ограничава привилегиите, дадени на определени части от системата, които се изпълняват с максимални привилегии. Комуникационните разходи в рамките на една монолитна система са същите като служебните данни във всяка другасофтуер.
CP /M и DOS са прости примери за монолитни операционни системи. Това са системи, които споделят приложения с едно адресно пространство. В CP /M 16-битовото адресно пространство започва със системни променливи и областта на приложение и завършва на три части:
  • CCP - конзолен команден процесор;
  • BDOS е основна операционна система;
  • BIOS - Основна входно /изходна система.
  • В DOS, 20-битовото адресно пространство започва с масив от вектори на прекъсване и системни променливи, следвани от резидентната част и областта на приложението, и завършва с блока памет, използван от графичната карта и BIOS. Повечето съвременни системи, включително Linux и структурата на Windows, също се считат за монолитни, въпреки че те със сигурност се различават значително от простите примери на CP /M и DOS.

    Многослойни системи

    Многостепенното проектиране на архитектурата на операционната система се опитва да постигне надеждност чрез структуриране на архитектурата на слоеве с различни привилегии. Най-привилегированото ниво ще включва кода, свързан с обработката на прекъсвания и превключването на контекста, горните нива, които ще следват драйверите на устройствата, управлението на паметта, файловите системи, потребителския интерфейс и, накрая, най-ниското привилегировано ниво съдържат приложенията. MULTICS е ярък пример за многостепенна система, разработена с 8 слоя, образувани в защитни пръстени, чиито граници могат да бъдат пресичани само чрез специализирани инструкции. Въпреки това, съвременните системи не използват слоеста конструкция, защотосчита се за ограничено и изисква специална хардуерна поддръжка.

    Микроядрен дизайн

    Микроядрената конструкция на архитектурата на системата осигурява надеждност. Привилегиите, предоставени на отделни части, са ограничени във възможно най-голяма степен и връзката между тях зависи от специализираните механизми, които при необходимост гарантират спазването на привилегиите. Общите разходи за комуникация в системата с микрочипа могат да бъдат по-високи от общите разходи за комуникация в другия софтуер. Проучванията показват, че тези разходи са управляеми. Опитът за развитие на микроядрото предполага, че само няколко отделни части на системата трябва да имат повече привилегии, отколкото обикновените приложения. Така дизайнът на микроядрото води до малко ядро ​​на системата, придружено от приложения, които осигуряват повечето функции на системата. MACH е ярък пример за микрокод, който се използва в съвременните системи, включително системите NextStep и OpenStep, и по-специално OS X. Повечето изследователски системи също се квалифицират като операционни системи с микросхеми.

    Виртуални хипервайзори

    Опитите за опростяване на поддръжката и подобряване на използването на системи с няколко независими приложения доведоха до идеята да се стартират няколко машини, работещи на един компютър. Точно както ядрото осигурява изолирана среда за всяко хоствано приложение, виртуализираните системи създават хипервизор, който осигурява изолирана среда за всяка хоствана система. Хипервизорите могат да бъдатв архитектурата на системата по различни начини.
    Местният хипервизор работи на гола жлеза, с поставени системи, които са по-високи в структурата на системата. Това ви позволява да внедрите ефективна хардуерна схема, като заплатите цена за поддържане на конкретна хардуерна реализация. Приемането на хипервизора частично заобикаля необходимостта от специфична хардуерна реализация, изпълнявана върху друга система. Структурата на системата започва от дъното на хоста, включва хипервизор, а след това гост OS, поставени над хипервайзора. Възможна е и комбинация от местни и съобразени подходи. Хипервизорът може да изпълнява някои от функциите си на гладък хардуер и да се прилага за хоствани системи за изпълнение на други функции. Често срещан пример за този подход е въвеждането на поддръжка за виртуализация на процесори на голия хардуер и използването на специална ОС за достъп до устройства, които хипервизорът виртуализира за други хоствани системи.

    Хибридни операционни системи

    Повечето операционни системи днес не се придържат стриктно към една и съща архитектура, а са хибриди на няколко. Архитектурата на Max OSX разчита на микрочипа на Mach за основни услуги за управление на системата и BSD ядрото за допълнителни услуги. Други функционалности на ОС се осигуряват от приложни услуги и динамично зареждащи се модули (разширения на ядрото):
  • Операционната система IOS е разработена от Apple за iPhone и IPADS. Той работи с по-малко памет и изчислителна мощност от Max OS X, и поддържа интерфейс на екрана и графики за малки екрани.
  • Android OS бешеразработен за Android-смартфони и таблети Open Handset Alliance, преди всичко Google. Android е операционна система с отворен код, за разлика от iOS, която е довела до нейната популярност. Android има Linux структура и Java виртуална машина, оптимизирана за малки платформи. Приложенията за Android са разработени с помощта на персонализирана среда за разработка на Java за Android.
  • Микросхеми и модули

    Основната идея е микроядрото да премахне всички несъществени услуги от ядрото и вместо това да ги приложи като системни програми, като по този начин ядрото стане възможно най-малко и ефективно. Мах беше първата и най-известната микросхема, а сега тя е основният компонент на Mac OSX. Windows NT първоначално беше микрочип, но страдаше от проблем с производителността (в сравнение с Windows 95). Подобрената производителност NT 4.0 чрез преместване на повече услуги в ядрото превърна XP в по-монолитна. Друг пример за микроядрото е QNX, операционната система в реално време за вградени системи. Развитието на текущата ОС е обектно-ориентирано, с относително малко ядро ​​и набор от модули, които могат да бъдат динамично свързани (например структурата на Solaris). Модулите са подобни на слоевете, тъй като всяка подсистема има добре дефинирани задачи и интерфейси, но всеки модул може да се свърже с всеки друг модул, като елиминира проблема с преминаването през няколко междинни слоя. Ядрото е сравнително малко в тази архитектура, подобно на микросхемите, от които не е необходимо да изпълнява предаването на съобщения, тъй като модулите могат директно да комуникират с един отедин по един.

    Манипулиране на файлова система

    Файлът е сбор от свързана информация. Компютрите могат да съхраняват файлове на диск (вторично съхранение) за дългосрочно съхранение. Примери за носители на информация включват магнитна лента, магнитни дискове и оптични дискови устройства, като CD, DVD. Всеки един от тези носители има свои собствени свойства, като скоростта, капацитета, скоростта на данните и методите за достъп до данни. Файловата система обикновено е организирана в директории за лесна навигация и използване. Тези директории могат да съдържат файлове и други директории. Основните дейности на операционната система за управление на файлове:
  • Чете или записва файл.
  • Даване на разрешение на програма за работа с файл, който зависи от четенето, писането, отказа.
  • Предоставя потребителски интерфейс за създаване /изтриване на файлове.
  • ​​
  • Осигурява интерфейс за архивиране на файлова система.
  • В случай на разпределени системи, които представляват набор от процесори и не използват памет, периферни устройства или часовник, операционната система управлява връзката между всички процеси. Няколко процеси взаимодействат помежду си чрез комуникационни линии в структурата на мрежовата операционна система, управляват стратегии за маршрутизиране и свързване, както и проблеми на конкуренцията и сигурността. Основни комуникационни дейности на операционната система:
  • Два процеса често изискват пренос на данни между тях.
  • И двата процеса могат да бъдат на един компютър или на различни компютри, но са свързани чрез компютърна мрежа.
  • Комуникацияможе да се реализира по два начина: или чрез споделена памет, или чрез изпращане на съобщения.
  • Функционална операционна система Linux

    Това е най-известната и най-използвана система с отворен код. Много програмисти използват термина Linux, за да обозначат ядрото на Linux, както и набор от програми, инструменти и услуги, които обикновено се доставят с ядрото на Linux. Някои потребители се позовават на тази GNU колекция, защото много инструменти включват GNU компоненти. Въпреки че не всички Linux инсталации използват GNU компоненти като част от системата. Например, Android използва структурата на ядрото на Linux и много малко разчита на GNU инструменти. Linux е различен от другите системи:
  • Отворен код. Операционната система е безплатна и достъпна за публично гледане, като редактира потребителите с подходящи умения.
  • Има много дистрибуции на Linux, които включват различни софтуерни опции.
  • Unix и Linux са до голяма степен сходни и всъщност Linux първоначално е бил създаден по същия начин като Unix. И двете имат подобни инструменти за взаимодействие със системи, инструменти за програмиране, оформление на файлове и други ключови компоненти. Въпреки това Unix не е свободен. В продължение на много години са създадени няколко различни системи, които се опитват да бъдат Unix-подобни или UNIX-съвместими, но Linux е най-успешният, далеч надхвърлящ своите предшественици по популярност. По-голямата част от ядрото на Linux е написана на езика за програмиране C с малък брой колекции от други езици. Всяка дистрибуциясъдържа стотици или хиляди програми, които могат да се разпространяват с него и за всяка от тези програми.

    Типове файлови системи Linux

    Линукс дистрибуцията осигурява избор на дисково пространство с файлова структура на операционната система, всяка от които има специално значение. Усъвършенстваната версия на Extended Filesystem (ext), разработена за MINIX. Втората удължена версия (Ext2) е подобрена версия. Ext3 добави подобрена производителност, Ext4 осигури още по-разширени функции. Журнализираната файлова система (JFS) е разработена от IBM за UNIX AIX. JFS е алтернатива на Ext4 и се използва там, където се изисква стабилна работа, когато се използват много малко ресурси. JFS е подходящ за случаи, когато мощността на процесора е ограничена. ReiserFS беше представен като алтернатива на Ext3 с подобрена производителност и разширени функции. Имаше време, когато SuSE Linux файлът беше по подразбиране ReiserFS, но по-късно Reiser напусна бизнеса и SuSe нямаше друга възможност освен да се върне към Ext3. ReiserFS динамично поддържа файлови разширения, което е относително разширена функция, на системата липсва определена област на изпълнение. XFS е високоскоростна JFS, която е предназначена за паралелна I /O обработка. НАСА преди това е използвала тази структура на файловата система на своите 300 терабайтни сървъри за съхранение. Файловата система B-Tree (Btrfs) се фокусира върху отказоустойчивостта, управлението на развлеченията, ремонта на системата, голямата конфигурация за съхранение и е все още в процес на разработка. Btrfs не се препоръчва за производство. В Linux има много файлови формати, но с тях се използватработа с други операционни системи: VIS, NTFS от Microsoft, HFS от Apple. Работата с файловата структура на операционната система обаче може да се извърши в Linux с помощта на определени инструменти, като ntfs-3g, за монтиране на NTFS файлови системи, които не са привилегировани от Linux.

    Процесор. Споделяне

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

    Свързани публикации