ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Unix, базові принципи та особливості
         

     

    Інформатика, програмування
    Unix, базові принципи та особливості  Що      входить в ядро  Що      знаходиться в оперативній пам'яті  Засоби      економії пам'яті. Віртуальна пам'ять  Файлова      система Unix  Внутрішня      структура файлової системи Unix  Формат      індексного описувача файлу

    Всі системні дії виконує ядро операційної системи Unix. Ядро - звичайний виконуваний файл, розташований у файлі/unix або/stand/unix або/vmunix або/vmlinuz (в залежності від конкретної реалізації). Можете подивитися розмір цього файлу - не маленький. При початковому завантаженні системи ядро цілком завантажується в оперативну пам'ять, і надалі резидентної знаходиться в ній, виконуючи всі необхідні роботи.

    Що входить в ядро.

    драйвери пристроїв. І тих, які є, і тих, яких немає, але можуть бути, а так само й такі, які ніколи вам не знадобляться.

    КЕРУЮЧІ підпрограм: частини коду, відповідальні за забезпечення роботи користувача програм - поділ часу і інших ресурсів системи.

    СЛУЖБОВІ ТАБЛИЦІ І ДАНІ ядра: таблиці поточних процесів, відкритих файлів, керуючі структури ...

    СИСТЕМНІ ВИКЛИКИ. (Те, що MS-DOSе називається "21 переривання" - можна вважати певною аналогією/пародією на системні виклики.) З точки зору програміста це звичайна си-шная функція, тільки виконує вона системно-залежні дії, наприклад: прочитати дані з файлу, встановити мережне з'єднання, створити каталог, і т.д. і т.п. Усі системні виклики (а всього їх більше 1500 штук) вкомпіліровани в тіло ядра unix. Користувацькі програми, викликають функції, які є системними викликами, насправді містять тільки jump'и на відповідні адреси пам'яті в ядрі. У налаштовувану програму системні виклики не влінковиваются.

    Що знаходиться в оперативній пам'яті.

    ЯДРО ОПЕРАЦІЙНОЇ СИСТЕМИ.

    Буферні КЕШ. Частина оперативної пам'яті резервується під кешування читання і запису на диск. Будь-яка операція читання з диска призводить до того, що прочитані з блоки поміщаються в буферний кеш, а з нього вже передаються запросив дані програмами. Якщо блок потрапив в кеш, то всі наступні звернення до нього будуть отримувати образ блоку з кеша, причому не залежно, від того - та ж сама програма, звертається до блоку, або будь-яка інша. Кешується так само і запис на диск, знову ж таки, Колективна між всіма виконуваними програмами.

    ПРОЦЕСИ. Процесом в Unix'е називається виконується програма

    Засоби економії пам'яті. Віртуальна пам'ять.

    РЕЕНТЕРАБЕЛЬНОСТЬ КОДА. Коли одна й та сама програма (виконуваний файл) запущена в кількох примірниках, то в оперативну пам'ять завантажується тільки одна копія виконуваного асемблерні коду на всіх. Кожен виконуваний процес використовує один і той же текст програми, просто у кожного процесу є свій власний вказівник на поточний оператор.

    отеки. (У Windows є схоже поняття DLL - динамічно бібліотекою). Деяка кількість часто виконуваних функцій (наприклад printf, та й багато інших) оформляється у вигляді спеціальним чином підготовленої бібліотеки (SHARED LIBRARY). При компіляції програми, використовує колективні бібліотеки, ці функції не лінкуются всередину коду програми. Вони "висмикуються" з бібліотеки на стадії виконання програми. Цим ми економимо місце на диску і в оперативній пам'яті: у програмах відсутній код поділюваних функцій, а в оперативній пам'яті ця функція присутня в одному примірнику на всіх.

    SWAPING. Кожен Unix-процес функціонує у своєму власному 32-х бітному віртуальному адресному просторі, не перетинається з іншими. Адресне простір процесу може бути більшим, ніж фізична оперативна пам'ять. Віртуальна пам'ять підтримується за допомогою PAGING'а - дозволу віртуальних адрес у фізичні "на льоту", з підкачкою відсутніх сторінок пам'яті з swap-області на жорсткому диску.

    Насправді SWAPING'а як такого в Unix'е немає, замість нього застосовується набагато більш гнучкий PAGING. (swaping - за визначенням, це ПОВНА вивантаження програми на swap-область з метою звільнення місця в оперативній пам'яті).

    Область пам'яті, зайнята програмою розділена на три частини: TEXT (виконувані коди програми), DATA (статичні дані програми), STACK (динамічні дані). Коли операційка звільняє місце в пам'яті за рахунок TEXT'а, то вона не займається скиданням його на диск. Вона одразу позначає його як вільний. Дійсно, коли буде потрібно завантажити TEXT назад в пам'ять, його можна буде взяти з самого виконуваного файлу з програмою. Така економія має один побічний ефект. Файл програми, яка в даний момент виконується, неможливо знищити. Операційна система повідомить в цьому випадку: "text file busy ", і відмовиться виконувати видалення.

    БІТ нав'язливим. (sticky bit). Виконувана програма може мати додатковий атрибут. Так званий "біт нав'язливості". Коли така програма закінчує виконання, операційка (якщо можливо) намагається не займати пам'ять, в якій знаходився текст програми. Відповідно, повторний її запуск відбудеться дуже швидко - адже програма все ще завантажена в пам'ять, її не потрібно зачитувати з диска. Потрібно просто передати на неї управління.

    Файлова система Unix.

    Файлова система в Unix - "дерев'яна", складається з файлів і каталогів. На кожному розділі диску створюється власна незалежна файлова система. Окремі файлові системи "зчіплюються" разом, в єдине спільне дерево директорій. Така операція називається "монтуванням". Виглядає це приблизно так: mount-F ufs/dev/dsk/m197_c0d0s5/home1 mount-F ufs/dev/dsk/m197_c0d0s4/usr df

    Отримати доступ до файлів "несмонтірованной" файлової системи, неможливо. Порочний пракіка MS-DOSа - скільки розділів, стільки й "дисків" (A: b: c: d: e: ... k: l: m: n:) у Unix не застосовується. У Unix завжди є рівно одне спільне дерево каталогів, і, за великим рахунком, користувачам абсолютно все одно, на якому саме диску або розділі диска розташовані його файли/usr/spool/moshkow або/home1/moshkow/bin/mcopy ...

    Файлова система Unix кешується буферним кешем. Операція запису на диск виконується не тоді, коли це наказує виконуваний процес, а коли операційна система вважатиме за потрібне це зробити. Це різко піднімає ефективність і швидкість роботи з диском, і підвищує небезпеку її використання. Вимкнення живлення на "гарячій", що працює Unix-машині призводить до руйнувань структури файлової системи.

    При кожній початковій завантаженні Unix перевіряє - чи коректно була вимкнена машина минулого разу, і якщо ні - автоматично запускає утиліту fsck (File System Check) - перевірку та ремонт файлових систем ..

    Внутрішня структура файлової системи Unix.

    Розділ диску, в якому створена файлова система, розбитий на три частини.

    суперблоку. Займає 1 Kb. Містить службову інформацію:  Тип файлової системи,
         Розмір
         Початок списку вільних блоків.
         . . . щось ще

    ОБЛАСТЬ INOD-ів. Займає приблизно 8% загального розміру розділу. inode - Index-node - описувач файлу. Він містить всю інформацію про файл, за винятком імені файлу, і власне даних файлу. У inod'е зберігається:  тип файлу (файл, каталог, іменований канал, спеціальний файл)
         хто власник
         права (атрибути) файлу
         час модифікації/створення файлу
         адреси блоків, з яких складається файл
         что-то еще ...

    ОБЛАСТЬ ДАНИХ. У цій області розташовані блоки з даними фай лов. Незайняті блоки провязани в ПЕРЕЛІК ВІЛЬНИХ БЛОКІВ

    Файли бувають двох основних типів. ФАЙЛ, КАТАЛОГ.

    ФАЙЛ - він і є файл.

    КАТАЛОГ - файл фіксованого формату: складається з рядків з іменами файлів, що входять до каталогу імя_файла1 Номер_Інода1 імя_файла2 Номер_Інода2. . .

    Щоб отримати доступ до файлу по імені, операційна система  знаходить це ім'я в каталозі, що містить файл,  бере Номер_Інода файлу,  за номером знаходить inod в області inod'ов,  з inod'а бере адреси блоків, в яких розташовані дані файлу,        за адресами блоків зчитує блоки з області даних.

    Все.

    Формат індексного описувача файлу.

    Область Інода розбита на 64-х байтним структури - inod'и. У inod'е зберігається:  Тип файлу (файл/каталог/спеціальний файл/fifo/socket)
         Атрибути (права доступу)
         Власник файлу
         Група-власник файлу
         Часи створення, модифікації, останнього доступу до файлу
         Довжина файлу
         Адреса 1-го блоку файлу
         Адреса 2-го блоку файлу
         ...
         Адреса 10-го блоку файлу
         Адреса блоку непрямої адресації (блоку за 256 адресами блоків)
         Адреса блоку 2-й непрямої адресації (блоку за 256 адресами блоків з      адресами)
         Адреса блоку 3-й непрямої адресації (блоку з адресами блоків з адресами      блоків з адресами)

    Точний формат структури файлової системи див. man fs

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status