понеділок, 22 серпня 2011 р.

Уроки захищеного режиму x86. Урок 12

Дванадцятий урок захищеного режиму. 

Попередні : 
  1. "Уроки захищеного режиму x86. Урок 0 та 1". 
  2. "Уроки захищеного режиму x86. Урок 2". 
  3. "Уроки захищеного режиму x86. Урок 3". 
  4. "Уроки захищеного режиму x86. Урок 4".
  5. "Уроки захищеного режиму x86. Урок 5".
  6. "Уроки захищеного режиму x86. Урок 6". 
  7. "Уроки захищеного режиму x86. Урок 7".  
  8. "Уроки захищеного режиму x86. Урок 8".
  9. "Уроки захищеного режиму x86. Урок 9".
  10.  "Уроки захищеного режиму x86. Урок 10".
  11.   "Уроки захищеного режиму x86. Урок 11".
Базою для цих матеріалів служать уроки уроки захищеного режиму Алексея Фрунзе
Ліцензія на код -- GPL2+, ліцензія на тексти -- GFDL.
Довідкова інформація взята з відкритих джерел на просторах Інтернету, зокрема з офіційних мануалів Intel.
Традиційне і очевидне -- жодних гарантій.

Урок номер 12

До програми з уроку 11 додано по LDT для кожної задачі рівня привілей 3. Селектори сегментів даних та коду задач тепер знаходяться в їх LDT.

Реалізація поки тільки змішана, C-asm. Якщо буде зацікавленість, можна написати і чисто асемблерну.

Архів з файлами уроку: pm_12.zip.

Незначні зміни, доповнення та виправлення будуть вноситися прямо в цей файл, про що я старатимуся повідомляти.

На сьогодні все. Наступних чотири уроки, 13, 14, 15, 16, стосуватимуться режиму v8086. Їх буде викладено разом. На жаль, вони поки без теоретичного опису, лише код із коментарями. Матеріал там відносно простий, однак доволі плутаний. Коли працював над цими уроками, руки не дійшли, а зараз немає ні зацікавленості, ні часу. Однак, якщо буде попит, щось можна придумати :-)

Дякую за увагу

Якщо є запитання, виправлення, пропозиції - пишіть! Багато часу цьому приділяти, на жаль, не можу, але якщо з того буде комусь користь - спробуємо щось придумати.

Уроки захищеного режиму x86. Урок 11

Одинадцятий урок захищеного режиму. 

Попередні : 
  1. "Уроки захищеного режиму x86. Урок 0 та 1". 
  2. "Уроки захищеного режиму x86. Урок 2". 
  3. "Уроки захищеного режиму x86. Урок 3". 
  4. "Уроки захищеного режиму x86. Урок 4".
  5. "Уроки захищеного режиму x86. Урок 5".
  6. "Уроки захищеного режиму x86. Урок 6". 
  7. "Уроки захищеного режиму x86. Урок 7".  
  8. "Уроки захищеного режиму x86. Урок 8".
  9. "Уроки захищеного режиму x86. Урок 9".
  10.  "Уроки захищеного режиму x86. Урок 10".
Базою для цих матеріалів служать уроки уроки захищеного режиму Алексея Фрунзе
Ліцензія на код -- GPL2+, ліцензія на тексти -- GFDL.
Довідкова інформація взята з відкритих джерел на просторах Інтернету, зокрема з офіційних мануалів Intel.
Традиційне і очевидне -- жодних гарантій.

Урок номер 11

Майже та сама програма, що і в уроці 7. Основна відмінність --- задачі task1() і task2() тепер 32-бітні і працюють на рівні привілей 3, правда за IOPL=3.

Реалізація поки тільки змішана, C-asm. Якщо буде зацікавленість, можна написати і чисто асемблерну.

Архів з файлами уроку: pm_11.zip.

Незначні зміни, доповнення та виправлення будуть вноситися прямо в цей файл, про що я старатимуся повідомляти.

На сьогодні все. В наступному уроці кожній задачі додамо свою LDT.

Дякую за увагу

Якщо є запитання, виправлення, пропозиції - пишіть! Багато часу цьому приділяти, на жаль, не можу, але якщо з того буде комусь користь - спробуємо щось придумати.

субота, 20 серпня 2011 р.

Не такі часті питання з приводу Lustre

Такий собі Not so Frequently Asked Questions :-) 
Теми, які замалі для окремого поста, але все ж цікаві.
Оновлюватиметься в процесі появи нових питань-відповідей.

пʼятниця, 19 серпня 2011 р.

Зміна NID серверів Lustre

Іноді Network IDentifier (NID) MGS/MDS/OSS може змінюватися. Наприклад при перенесенні на нову апаратуру, встановленні нової мережевої карти, чи просто присвоєнню нової IP-адреси.

Описано цей процес тут: "14.5 Changing a Server NID" (Lustre 2.0 Operations Manual), хоча деяких деталей там не вказано.

Покажемо його на прикладі зміни NID MGS нашої іграшкової Lustre.

четвер, 18 серпня 2011 р.

Квоти в Lustre

Аналогічно до попередніх постів:
цей пост не претендує на вичерпність, є спрощеним варіантом HOWTO, та швидше стосується невеликих систем, які при потребі можна відносно безболісно вимкнути як ціле на якийсь час.

Отож, квоти. Річ, яка допомагає адміністраторам не допускати несправедливості, а користувачам контролювати свої пориви :-)

середа, 17 серпня 2011 р.

Перевірка ФС Lustre на цілісність.

Говорячи про цілісність файлової система (ФС) Lustre, слід розділяти дві її складові -- цілісність базових файлових системи (backing file systems), які зберігають всі дані Lustre, та власне логічну цілісність файлової системи, доступної користувачам. Базова ФС є варіантом ext3/ext4, і для ї перевірки використовується спеціальний варіант e2fsck. Перевірка цілісності ФС Lustre як цілого здійснюється спеціалізованою програмою, lfsck.

В нормі потреб для додаткових перевірок базових файлових систем немає. Вона залишається цілісною, завдяки використанню журналювання. Єдиний виняток, коли перевірка e2fsck необхідна -- ситуації, в яких журналювання безпомічне, такі як апаратні збої, помилки вводу-виводу, тощо. Взагалі, згідно документації ("27.1 Recovering from Errors or Corruption on a Backing File System", Lustre 2.0 Operations Manual), Lustre здатна справитися з більшістю неузгодженостей, що можуть виникнути, і потреба користуватися e2fsck/lfsck виникає рідко.

Однак іноді потреба (чи бажання :) виконати перевірку таки є. Як це зробити для невеликих Lustre-систем описано нижче. Чому саме невеликих? Їх простіше вимкнути як ціле, перевірити і запустити знову. З великими системами зробити так важче. Так ось, проблема мінімізації недоступності Lustre чи окремих її частин під час перевірок тут не має особливо високого пріоритету.

неділя, 14 серпня 2011 р.

Іграшкова Lustre.

В попередньому пості описувалося, як розгорталася повноцінна Lustre-система. Однак іноді хочеться поекспериментувати не так монументально. Можливість для цього існує :-)
Lustre чудово працює на loopback-пристроях.

Опишемо як можна створити таку іграшкову (кишенькову)  "люстру". Додатково корисно подивитися "10.1 Configuring a Simple Lustre File System" (Lustre 2.0 Operations Manual) та "Configuring Lustre - Examples" (Lustre 1.8 Operations Manual). (Інструкції до 1.8 хоча і трохи застаріли для 2.0, однак часто більш зрозумілі чи детальні).

Будемо створювати Люстру із своїм MDS,  MDS, та двома OSS.