Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Керівник пам'яті операційної системи координує використання різних типів пам'яті відслідковуючи їх доступність та переміщуючи дані між ними. Переміщення блоків пам'яті з оперативної пам'яті до дискової в залежності від потреби часто називається віртуальною пам'яттю і дозволяє оперувати більшим, аніж фізично доступний, об'ємом пам'яті з довільним доступом.
Іншим важливим аспектом керування пам'яттю є віртуальна адресація. Якщо в пам'яті одночасно знаходяться кілька процесів, вони повинні бути захищені один від одного (відповідно й від доступу до пам'яті один одного). Це досягається розділенням адресних просторів — кожному процесу виділяється власний адресний простір, що починається з 0 й до максимального значення віртуальної пам'яті. Операційна система підтримує спеціальну таблицю сторінок пам'яті, котра містить відповідності між віртуальними та фізичними адресами. Ці розміщення пам'яті відстежуються таким чином, що, коли процес закінчується, вся пам'ять використовувана цим процесом може бути зроблена доступною для інших процесів.
Операційна система також може записувати неактивні сторінки пам'яті на вторинні пристрої. Цей процес називається пейджінгом (англ. paging) або свопінгом (англ. swapping — обмін) — в залежності від термінології конкретної ОС.
Файлова система
Необхідною частиною ОС є підтримка різноманітних файлових систем.
Сучасні файлові системи являють собою ієрархічні структури каталогів. Хоча загальна концепція всіх ФС, в принципі, однакова, в реалізації є деякі відмінності. Два вартих уваги приклади — це символи-розділювачі каталогів та чутливість до регістру. Юнікс-подібні ОС (BSD, Лінукс, MacOS X) та AmigaOS використовують у якості розділювача каталогів символ похилої риски (/), в той час як DOS використовує цей символ для завдавання додаткових опцій у командному рядку, а в якості розділювача прийнято вживати символ зворотної похилої риски (\). У Microsoft Windows прийнята та ж конвенція за винятком китайської та корейської версій, де розділювачем є знак запитання (?). Версії МакОС до Х використовували у якості розділювача двокрапку; RISC OS — дефіс.
У Юнікс-подібних ОС у назві файлу може використовуватись будь-який символ за винятком похилої риски і вони чутливі до регістру. Назви файлів у Microsoft Windows не є чутливими до регістру.
ФС можуть бути журнальними або нежурнальними. Журнальні файлові системи пишуть інформацію двічі: спершу до журналу дій файлової системи, потім до її належного місця в звичайній файловій системі. В разі аварії система може автоматично відновлювати свій вміст до узгодженого стану програючи частину журналу. В той же час нежурнальним файловим системам потрібно зробити перевірку усієї файлової системи спеціальними програмами, такими як fsck або scandisk.
Більшість дистрибутивів Лінукс підтримують більшість (або всі) перелічені ФС: ext2, ext3, ReiserFS, Reiser4, GFS, GFS2, OCFS, OCFS2, NILFS, XFS, JFS, заразом як і FAT та NTFS.
Microsoft Windows підтримує лише FAT12, FAT16, FAT32, та NTFS. Серед них NTFS є найефективнішою та єдиною, на котру може бути встановлена Windows Vista. Windows Embedded CE 6.0 включає також підтримку ExFAT, призначеної для роботи на портативних пристроях.
MacOS X підтримує HFS+ у якості первинної ФС та кілька інших як допоміжних.
На додачу всі ці (та інші) ОС підтримують файлові системи змінних носіїв — FAT12 для дискет, ISO 9660 та UDF (Universal Disk Format) для компакт-дисків та DVD відповідно. Windows Vista та Лінукс з ядром версії 2.6 підтримують розширення UDF котрі дозволяють перезаписувати вміст ДВД як у звичайних дискетах. [18, ст. 28], [17, ст. 52]
Робота в мережі
В більшості сучасних ОС реалізовано підтримку стеку протоколів TCP/IP. Це означає що вони можуть взаємодіяти в мережі, доступаючись до ресурсів одне одного.
Багато ОС також підтримують один чи кілька специфічних протоколів, як наприклад SNA на системах від IBM, DECnet на системах від Digital Equipment Corporation, та Microsoft-специфічні протоколи для Windows. Для певних задач виористовуються специфічні протоколи, як наприклад NFS для роботи з файлами через мережу.
Безпека
Безпека ОС базується на двох ідеях:
- ОС надає прямий чи непрямий доступ до ресурсів на кшталт файлів на локальному диску, привілейованих системних викликів, особистої інформації про користувачів та служб, представлених запущеними програмами;
- ОС може розділити запити ресурсів від авторизованих користувачів, дозволивши доступ, та неавторизованих, заборонивши його.
Запити, в свою чергу, також діляться на два типи:
Внутрішня безпека — вже запущені програми. На деяких системах програма, оскільки вона вже запущена, не має ніяких обмежень, але все ж типово вона має ідентифікатор, котрий використовується для перевірки запитів до ресурсів.
Зовнішня безпека — нові запити з-за меж комп'ютера, як наприклад реєстрація з консолі чи мережеве з'єднання. В цьому випадку відбувається процес авторизації за допомогою імені користувача та паролю, що його підтверджує, чи інших способів як наприклад магнітні картки чи біометричні дані.
На додачу до моделі дозволити/заборонити системи з підвищеним рівнем безпеки також слідкують за діяльністю користувачів, що дозволяє пізніше дати відповідь на питання типу «Хто читав цей файл?»
Графічний інтерфейс користувача
Більшість сучасних операційних систем мають графічний інтерфейс користувача (ГІК, англ. Graphical User Interfaces, GUIs, вимовляється як «гуіз»). В деяких старіших ОС ГІК вбудований у ядро, як наприклад у оригінальних реалізаціях Microsoft Windows чи MacOS. Більшість сучасних ОС є модульними і графічна підсистема у них відділена від ядра (як наприклад у Лінукс, МакОС Х і частково у Віндовз).
Багато операційних систем дозволяють користувачеві встановити будь-який графічний інтерфейс на власний вибір. Типовим прикладом у більшості Юнікс-систем (BSD, Лінукс, Minix) є віконна система Х у поєднанні з графічним менеджером KDE чи Gnome. Для Юнікс-систем графічний інтерфейс не є необхідним.
Графічний інтерфейс користувача невпинно розвивається. Наприклад, інтерфейс Windows модифікується щоразу при випуску нової основної версії, а ГІК MacOS було кардинально змінено після випуску MacOS X у 2001 році.
[14, ст. 52]
Драйвери пристроїв
Драйвери — це особливий тип комп'ютерних програм, розроблених для коректної взаємодії з пристроями. Вони представляють інтерфейс для взаємодії з пристроєм через певну шину комп'ютера, до котрої даний пристрій під'єднано, за допомогою ряду команд що відправляють та отримують дані з пристрою. Ці програми залежні як від пристрою так і від операційної системи, тобто кожен пристрій потребує свого драйвера під кожну ОС.
Ключовим моментом проектування драйверів є абстрагування. Кожна модель пристрою (навіть якщо пристрої однакового класу) є унікальною. Новіші моделі часто працюють швидше чи продуктивніше і інакше контролюються. ОС не може знати, як контролювати кожен пристрій зараз і в майбутньому. Для вирішення цієї проблеми ОС лише задає правила поведінки класу пристроїв. Задачею драйвера є перетворення цих правил у специфічні для кожного пристрою команди керування. [4]
3. Вимоги до архітектури сучасної ОС.
Головною вимогою, пропонованим до ОС, є виконання нею основних функцій ефективного керування ресурсами і забезпечення зручного інтерфейсу для користувача і ПП. Сучасна ОС, як правило, повинна підтримувати мультипрограмну обробку, ВП, свопінг, багатовіконний графічний інтерфейс користувача, а також виконувати багато інших необхідних функцій і послуг. Крім цих вимог функціональної повноти до ОС пред'являються не менш важливі експлуатаційні вимоги, що перераховані нижче.
Розширюваність. Зміни ОС полягають у придбанні нею нових властивостей, наприклад підтримки нових типів зовнішніх пристроїв чи нових мережних технологій. Якщо код ОС написаний таким чином, що доповнення і зміни можуть вноситися без порушення цілісності системи, то таку ОС називають розширюваною. Розширюваність досягається за рахунок модульної структури ОС, при якій програми будуються з набору окремих модулів, взаємодіючих тільки через функціональний інтерфейс.
Переносимість. В ідеалі код ОС повинний легко переноситися з процесора одного типу на процесор іншого типу і з апаратної платформи (які розрізняються не тільки типом процесора, але і способом організації всієї апаратури комп'ютера) одного типу на апаратну платформу іншого типу. Переносимі ОС мають кілька варіантів реалізації для різних платформ, таку властивість ОС називають також багатоплатформеністю.
Сумісність. Існує декілька «довгоживучих» популярних ОС (різновиду UNIX, MS-DOS, Windows 3.x, Windows NT, OS/2), для яких напрацьована широка номенклатура додатків. Для користувача, що переходить по тим чи іншим причинам з однієї ОС на іншу, існує можливість запуску в новій ОС звичного додатка. Якщо ОС має засоби для виконання ПП, написаних для інших ОС, то про неї говорять, що вона має сумісність з цими ОС. Варто розрізняти сумісність на рівні двійкових кодів і сумісність на рівні вихідних текстів. Поняття сумісності включає також підтримку користувацьких інтерфейсів інших ОС.
Надійність і відмовостійкість. Система повинна бути захищена як від внутрішніх, так і від зовнішніх помилок, збоїв і відмовлень. Її дії повинні бути завжди передбачуваними, а додатки не повинні мати можливості наносити шкоду ОС. Надійність і відказостійкість ОС насамперед визначаються архітектурними рішеннями, покладеними в її основу, а також якістю її реалізації (налагодженістю коду). Крім того, важливо, чи включає ОС програмну підтримку апаратних засобів забезпечення відказостійкості, таких, наприклад, як дискові масиви чи джерела безперебійного живлення.
Безпека. Сучасна ОС повинна захищати дані й інші ресурси обчислювальної системи від несанкціонованого доступу. Щоб ОС мала властивість безпеки, вона повинна як мінімум мати у своєму складі засоби аутентифікації — визначення легальності користувачів, авторизації — надання легальним користувачам диференційованих прав доступу до ресурсів, аудита — фіксації всіх «підозрілих» для безпеки системи подій.
Продуктивність. ОС повинна мати настільки велику швидкодію і час реакції, наскільки це дозволяє апаратна платформа. На продуктивність ОС впливає багато факторів, серед яких основними є архітектура ОС, різноманіття функцій, якість програмування коду, можливість виконання ОС на високопродуктивній (багатопроцесорній) платформі.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 |


