Спираючись на матеріал, описаний в першої частини даної статті, ми продовжимо обговорення теми обробки виключень в Windows x64. І в цій частині ми докладно розглянемо ті області PE образу, які використовуються в процесі обробки винятків. Описуваний матеріал вимагає знання базових понять, таких, як пролог, епілог, кадр функції та розуміння базових процесів, таких, як дії прологу і епілогу, передача параметрів функції і повернення результату функції. Якщо читач не знайомий з вищепереліченим, то перед прочитанням рекомендується ознайомитися з матеріалом з першої частини цієї статті.

Читати далі →

routine tasks automation

Введення
Машини завжди будуть швидше, незалежно від того наскільки ми продуктивні і як швидко ми набираємо команди. Сувора правда життя. З іншого боку, якщо ми виконуємо одне і теж дія безліч разів, то чому б не змусити машини страждати. Написати скрипт на
bash
(ваш улюблений мова програмування) і кожен раз викликати цей скрипт, а не набирати монотонні команди, які забирають так багато часу, сил та енергії. А ми, поки скрипт буде виконувати свою роботу, можемо помріяти про те, як космічні кораблі борознять простори Всесвіту.

У минулій статті ми розглянули основи програмування на
bash
. Сьогодні ми будемо застосовувати отримані знання на практиці.

Читати далі →

Виключення Windows x64. Як це працює. Частина 1

Раніше ми обговорювали прикладне застосування механізму обробки виключень поза середовища Windows. Тепер ми більш детально розглянемо, як це працює в Windows x64. Матеріал буде описаний послідовно, починаючи з самих основ. Тому багато чого може виявитися вам знайомим, і в цьому випадку такі моменти можна просто пропустити.

Читати далі →

Виключення в UEFI додатку

Будь-якому програмісту, який знайомий з UEFI, відомо, що вбудованого механізму обробки виключень там немає. Мова йде про try/except блоках, які є розширенням Microsoft C/C + + компіляторів. Буває дуже корисно мати такий механізм і в повному обсязі користуватися тими перевагами, які він дає. Тому у даній статті мова піде саме про вирішення цієї проблеми. Також до статті додається повна реалізація механізму з його демонстрацією на базі UEFI програми. Порушені тільки 64х бітні процесори фірми Intel, і в обговоренні маються на увазі тільки вони. Реалізація механізму знаходиться в папці exceptions сховища git за адресою: https://github.com/anatolymik/machineries.git.

Читати далі →

Консоль в маси. Перехід на світлу сторону. Bash

keep calm-and-bin-bash

Вступ
Зручність використання того або іншого інструменту полягає в тому, наскільки він допомагає в рішенні конкретної задачі. Також важливо, щоб ми могли налаштувати цей інструмент під свої потреби. Приємним бонусом буде і той факт, що ми можемо розширити і доповнити новими можливостями наш інструмент.

Ми дісталися до самої цікавої і захоплюючої теми — це скрипти на
bash
. Коли ви запускаєте термінал, всередині нього працює спеціальна програма-оболонка —
shell
(англ) — інтерпретатор команд. Shell розуміє всі команди, які ви вводите з клавіатури, і обробляє їх. Також виводить повідомлення про помилки, стежить за коректністю команд і їх синтаксисом. Прикладом таких команд можуть бути: змінити директорію, створити нову директорію, додати текстовий файл, відредагувати текстовий файл, зберегти зміни та інші.

Читати далі →

Консоль в маси. Перехід на світлу сторону. Частина друга

tmux example

Вступ
Досить довгий час я використав в своїй роботі screen. Але з часом він мене перестав влаштовувати. Я почав шукати альтернативи. Такою альтернативою є tmux. На багатьох порталах його описують так: «Це той-же screen, тільки на стероїдах». Спочатку я не міг зрозуміти чому таке порівняння поки не спробував. Скажу чесно, я на нього не з першого разу перейшов. Три-чотири рази пробував, повертався до screen'у. Але tmux все ж переміг.

Читати далі →

Docker, GitLab, безкоштовні SSL-сертифікати та інші плюшки сучасної веб-розробки

І знову здрастуйте!
Майже п'ять років вже не писав тут нових статей, хоча, якщо чесно, завжди знав, що рано чи пізно почну це робити знову. Не знаю як вам, а мені все таки це справа завжди здавалося досить захоплюючим.
Починати написання нового матеріалу після такого тривалого відпочинку від цієї справи — найважче. Але якщо мета поставлена — треба йти до кінця. Почну трохи здалеку.
Все своє свідоме життя основним родом моєї діяльності була і залишається донині веб-розробка. Саме тому, зізнаюся відразу, що даний матеріал варто сприймати саме як спроба побудови Docker-кластера від системного адміністратора любителя, але ніяк не професіонала. У цій статті я не можу не претендувати на експертну думку у кластеризації і навіть, більше того, сам же хочу перевірити достовірність власного досвіду.
Під хабракатом ви знайдете Quick Start по використанню Docker на рівні, необхідному для вирішення конкретних завдань, зазначених нижче, без заглиблення в "ліс" віртуалізації та інших супутніх тем. Якщо ви досі хочете почати успішно використовувати цю сучасну технологію, тим самим значно спростивши цілий ряд процесів: від розробки веб-продуктів і до розгортання і перенесення їх під яку-небудь сучасне обладнання — прошу під кат!
Opening Illustration - Docker
Читати далі →

Консоль в маси. Перехід на світлу сторону. Частина перша



Вступ
Всім привіт! Дана серія статей — це текстовий варіант моєї доповіді на WSD в Києві 26 листопада. Вирішив написати, щоб дати більш розгорнутий опис тем, які були порушені, а деякі моменти уточнити. Крім того, є можливість розглянути більше прикладів, почути думку від тебе, шановний читачу. І, звичайно ж, поділитися інформацією з більш широкою аудиторією.

Читати далі →

Погляд зсередини на OpenBMC стосовно систем OpenPOWER

одній з попередніх статей Максим торкнувся апаратну частину плати BMC (Baseboard Management Controller). Я хочу продовжити розповідь і розповісти про наш підхід до BMC і участь у проекті OpenBMC.

Для повноти історії доведеться почати трохи здалеку і розповісти про призначення сервісних процесорів і ролі BMC в роботі сервера, торкнутися протокол IPMI і програмну частину. Після цього коротко опишу, як BMC бере участь у завантаженні систем на POWER8. Закінчу оглядом проекту OpenBMC і нашим ставленням до питання. Досвідчені в темі сервісних процесорів читачі можуть відразу відмотати на нижні розділи.

Читати далі →

Дозволить формальна верифікація коду мікроядра створювати наднадійні ОС


У 2015 році американська компанія Rockwell Collins спільно з Boeing і 3D-Robotics провела випробування стійких до злому квадрокоптера Iris і безпілотного вертольота Little Bird зі «наднадійною» операційною системою.

Розробка захищених від злому дронов ведеться за замовленням Агентства перспективних оборонних проектів (DARPA) Міністерства оборони США, яка зацікавлена в захисті перспективних безпілотних і опціонально пілотованих літальних апаратах від можливих вразливостей.

Існує як мінімум три способи злому безпілотних літальних апаратів: перший — отримання доступу до управління шляхом злому каналу зв'язку або підміни даних авторизації, другий — використання вразливостей програмного забезпечення, третій — використання інтерфейсів та каналів даних оригінального програмного забезпечення для завантаження шкідливого коду.

Розроблена Rockwell Collins операційна система на базі мікроядра seL4 стійка до всіх трьох типів злому.
Читати далі →