Учебное пособие: Системи автоматизованого проектування
1. Сучасний погляд на процес і об’єкт проектування
Становлення науки про проектування. Огляд досліджень в області методології проектування. Аналіз існуючих в машинобудуванні та приладобудуванні систем автоматизованого проектування ( AutoCAD 2000, ACCEL EDA,КОМПАС, 3D MAX, ArxiCAD).
2. Основи методики проектування
Проектування з позиції теорії пізнання. Поняття і принципи методології проектування. Процедурна модель проектування.
3. Організаційні основи розробки САПР на виробництві
Системний аналіз процесів конструювання і визначення вимог до САПР. Уніфікація і стандартизація конструкторських та технологічних рішень на передпроектній стадії. Організаційна структура розробки САПР на виробництві. Технологія розробки програмно-інформаційного забезпечення САПР. Організація розробки програмно-інформаційного забезпечення САПР.
4. Впровадження і експлуатація САПР на виробництві
Етапи впровадження. Організація експлуатації САПР. Дослідне і промислове функціонування.
5. Інтегровані САПР
Інтегровані САПР. Використання інтегрованих САПР для проектування виробів машинобудування та приладобудування. Приклад проектування в інтегрованій САПР типового радіоелектронного пристрою. Вихідна специфікація об’єкту проектування. Проектування структурної схеми. Проектування логічної схеми. Проектування електричної принципової схеми. Проектування топологічної схеми.
6. Ефективність САПР
Складові ефективності САПР. Методи розрахунку ефективності САПР.
II. Комп’ютери та мікропроцесорні системи
1. Загальна структура ЕОМ
Принцип дії комп’ютера. Загальна структура. Складові частини ЕОМ і їх взаємодія. Класифікація. ЕОМ загального і спеціального призначення. Магістрально-модульний принцип побудови ЕОМ. Поняття загальної шини. Інформаційна, програмна і апаратна сумісність ЕОМ. Особливості архітектури сучасних супер і мікро-ЕОМ. Представлення інформації в ЕОМ. Позиційні і непозиційні системи числення. Прямий, зворотній і доповнюючий код. Кодування десяткових чисел і алфавітно-цифрової інформації. Принципи організації арифметично-логічних пристроїв. Структура і мікропрограми АЛП для дій над числами з фіксованою і плаваючою комою. Особливості АЛП мікропроцесорів.
2. Принципи побудови пристроїв пам`яті
Структура пам`яті ЕОМ. Класифікація пристроїв пам`яті. Адресна, асоціативна і стекова організація пам`яті. Запам`ятовуючі пристрої з довільним звертанням. Статичні і динамічні ОЗП. Постійні і напівпостійні запам`ятовуючі пристрої. Фізичні принципи побудови. Розширення розрядності та адресного простору.
3. Процесори комп’ютерів і керуючі автомати
Призначення і структура процесора. Структура команди. Методи адресації. Процедура виконання команди. Поняття робочого циклу, машинного такту. Керуючі автомати з жорсткою логікою.
4. Принципи організації системи переривання
Принципи організації системи переривань. Допустимі моменти переривань програми. Число рівнів переривань. Абсолютний і відносний пріоритет переривань. Особливості систем переривань малих ЕОМ і мікропроцесорів.
5. Загальні відомості про мікропроцесорні пристрої та системи
Стан та перспективи розвитку мікропроцесорної техніки. Основні визначення мікропроцесорної техніки: мікропроцесор, мікропроцесорний комплекс, мікро-ЕОМ, однокристальні мікро-ЕОМ та ін. Класифікація та основні параметри мікропроцесорів. Структура мікропроцесорного пристрою і функції його складових. Мікропроцесори з апаратним принципом керування та секціоновані мікропроцесори. Структури мікропроцесорних систем.
6. Архітектура мікропроцесора КР580ВМ80 та його програмування
Склад і характеристика мікропроцесорного комплекту серії 580. Структура мікропроцесора КР580ВМ80. Керуючі сигнали мікропроцесора. Виконання команд мікропроцесором, керуюче слово. Організація системної шини. Тактовий генератор, системний контролер, формування керуючих сигналів. Система команд мікропроцесора КР580МВ80. Елементи програмування - операції з однобайтовими числами, організація циклів, операції з масивами, переадресація, реалізація операцій множення. Види адресації пам`яті. Організація підпрограм, передача параметрів між програмами.
7. Ввід/вивід інформації в мікропроцесорних пристроях та МП КР580ВМ80
Загальні відомості про організацію інтерфейсу МПС. Способи організації передачі інформації між пристроями МП системи. Програмований паралельний інтерфейс КР580ВВ55, загальна характеристика, структура, програмування. Підімкнення інтерфейсу КР580ВВ55 до шин мікропроцесорного пристрою. Використання КР580ВВ55 в різних режимах. Програмований послідовний інтерфейс КР580ВВ51. Загальна характеристика, структура, ініціалізація. Організація обміну в послідовному форматі за допомогою КР580ВВ51 в асинхронному та синхронному режимах.
8. Організація переривань в МП КР580ВМ80
Організація переривань за допомогою команди RSTN, апаратурна реалізація коду команди. Програмний контролер переривань КР580ВМ59 - загальна характеристика, структура, програмування, використання.
9. Реалізація часових функцій в мікропроцесорних пристроях
Програмна реалізація часової затримки. Програмований таймер КР580ВИ53 - загальна характеристика, структура, програмування. Функціонування таймера КР580ВИ53 в різних режимах.
10. Організація пам’яті в мікропроцесорних пристроях
Класифікація та основні параметри запам’ятовуючих пристроїв. Структура мікросхем пам’яті. Керування пам’яттю. Статичні та динамічні оперативні запам’ятовуючі пристрої. Постійні запам’ятовуючі пристрої різного типу. Організація прямого доступу до пам’яті. Контролер прямого доступу до пам’яті КР580ВТ57.
11. Мікропроцесорний комплект серії К1810
Склад мікропроцесорного комплекту К1810. Організація однокристального 16-ти розрядного МП К1810. Загальні відомості про МП К1810, структура, особливості організації адресації пам’яті та зовнішніх пристроїв. Ввід-вивід. Мультипроцесорні засоби. Переривання. Керування мікропроцесором. Характеристика системи команд мікропроцесора КР1810ВМ86. Режими адресації. Формат команд. Програмування на мові Асемблера. Співпроцесор К1810ВМ87. Контролер шини. Арбітр шини.
12. Організація і особливості використання мікроконтролерів
Загальні відомості про мікроконтролер К1816. Організація мікроконтролера К1816. Функціональне призначення виводів корпуса МК. Арифметико-логічний пристрій. Пам’ять мікроконтролера. Організація вводу-виводу інформації в МК. Керування роботою МК. Система команд однокристального мікроконтролера К1816. и структури МК-системи.
13. Спряження МП з пристроями вводу та виводу інформації
Спряження мікропроцесора з клавіатурою. Спряження мікропроцесора з індикаторами. Спряження мікропроцесора з телетайпом, НГМД, касетним магнітофоном, відеотерміналом на основі електронно-променевої трубки. Спряження МП з аналого-цифровими і цифро-аналоговими перетворювачами. Типи і характеристики АЦП і ЦАП. Організація обміну в режимі програмного опитування і в режимі переривань.
III. Лінгвістичне забезпечення САПР
1. Загальні відомості про лінгвістичне забезпечення САПР
Види забезпечення САПР. Призначення і характеристика лінгвістичного забезпечення. Класифікація мов програмування. Процедурне, функціональне, логічне програмування. Класифікація мов проектування.
2. Мовні процесори
Структура мовних процесорів. Поняття транслятора, компілятора, інтерпретатора. Структура транслятора. Лексичний, синтаксичний аналізатори. Генерація і оптимізація кодів. Внутрішні форми представлення вхідної програми (бездужкові записи, тетради тріади, зображуючі дерева). Алгоритм Дейкстри. Поняття скінченого автомата. Алгоритм побудови скінченого автомата. Поняття автомата з магазинною пам’яттю. Алгоритм побудови автомата з магазинною пам’яттю.
3. Формальні граматики
Основні положення теорії формальних граматик. Методи представлення граматики. Класифікація формальних граматик. Зв’язок лінійної і автоматної граматики із скінченим автоматом. Зв’язок контекстно-вільної граматики із автоматом з магазинною пам’яттю.
4. Вхідні і вихідні мови САПР
Вимоги до вхідних і вихідних мов САПР. Їх особливості. Ознайомлення із системою автоматизованого проектування на прикладі САПР.
IV. Методи синтезу та оптимізації
1. Основні поняття, визначення, постановка та розв’язок найпростіших оптимізаційних задач
Основні відомості про об'єкт і задачі проектування. Класифікація параметрів об'єкта, що проектується. Поняття математичної моделі. Основні задачі, що виникають при проектуванні об'єкта: задачі розрахунку, аналізу, оптимізації і синтезу. Ниcхідне та виcхідне проектування. Типова схема етапу проектування об’єкта. Основні поняття та визначення оптимізаційної моделі і її складових частин. Основні відомості та поняття про оптимізацію. Поняття критерія оптимізації та цільової функції. Поняття обмежень цільової функції. Постановка оптимізаційної задачі. Алгоритм постановки оптимізаційної задачі. Геометрична інтерпритація цільової функції. Поняття глобального та локального оптимуму. Класифікація методів рішення оптимізаційних задач. Метод Свена. Методи одновимірної оптимізації. Особливості задач одновимірної оптимізації. Умови існування екстремуму функції однієї змінної. Класифікація методів одновимірної оптимізації. Метод Ньютона-Рафсона, метод Пауела, метод ділення інтервалу наполовину та метод золотого січення. Метод січних. Порівняльна характеристика методів одновимірного пошуку. Задачі лінійного програмування (ЛП) та методи їх вирішення. Характеристика задач лінійного програмування. Постановка задачі лінійного програмування. Геометрична інтерпретація задачі ЛП. Основи симплекс-методу. Запис задачі ЛП у канонічній формі. Поняття базисна змінна, базисне рішення, суміжне допустиме базисне рішення, єдиність, неєдиність і необмеженість оптимального рішення. Графічний метод розв’язання задач ЛП. Алгоритм симплекс-методу. Метод великих штрафів. Двокроковий метод. Алгоритм розв’язання транспортної задачі. Правило північно-західного кута. Метод потенціалів. Метод найменшої вартості. Метод Фогеля. Правило побудови замкнутого циклу.
2. Методи багатопараметричної оптимізації
Багатопараметрична оптимізація. Поняття багатопараметричної оптимізації. Умови існування екстремуму функції багатьох змінних. Класифікація методів рішення задач нелінійного програмування. Методи прямого пошуку. Особливості методів прямого пошуку. Метод пошуку по симплексу. Метод Нелдера-Міда. Метод Хука-Джівса. Градієнтні методи оптимізації. Особливості градієнтних методів оптимізації. Методи першого порядку. Метод Коші. Методи 2-го порядку. Метод Ньютона та його модифікація. Метод Маквардта. Квазіньютонівські методи. Метод Девідона-Флетчера-Пауела. Метод спряжених градієнтів. Метод Флетчера-Рівса. Узагальнений алгоритм градієнтних методів. Аналіз методів нелінійного програмування. Порівняльна характеристика методів нелінійного програмування. Критерії оцінки їх ефективності. Проблеми чисельної апроксимації похідних. Методи умовної оптимізації. Особливості методів умовної оптимізації. Умови Куна-Таккера, теорема Куна-Таккера. Метод множників Лагранжа. Метод штрафних функцій. Векторна оптимізація. Особливості задач векторної оптимізації. Основні поняття: область критеріїв, ефективні точки, область згоди, область компромісів. Парето множина, оптимальність за Парето. Метод уступок. Методи згортки векторних критеріїв. Особливості методів згортки векторних критеріїв. Побудова функції корисності. Адитивний та мультиплікативний критерії. Методи рішення задач векторної оптимізації при наявності інформації про важливість критерія. Задачі спеціальної структури. Задачі спеціальної структури і методи їх рішення: задачі цілочисельного ЛП, задачі квадратичного і сепарабельного програмування, задачі стохастичного і динамічного програмування, задачі випадкового пошуку.
V. Математичне моделювання в САПР
1. Побудова і аналіз моделей
Поняття моделі і моделювання. Види моделей. Класифікація методів моделювання. Рівні моделювання в САПР. Структурна схема процесу моделювання. Характеристика основних етапів моделювання. Поняття про математичне моделювання. Види мат. моделей. Вимоги до математичних моделей.
2. Основи теорії подібності
Поняття подібності. Елементи теорії розмірностей. Перехід від однієї системи одиниць до іншої. Критерії подібності. Методи побудови критеріїв подібності. Приклади отримання критеріїв подібності для конкретних фізичних систем. Достатні умови подібності. Необхідні умови подібності. Отримання функціональних залежностей на основі аналізу розмірностей. П-теорема. Узагальнені положення теорії подібності.
3. Типи рівнянь для моделювання процесів на компонентному рівні
Основні рівняння для моделей на компонентному рівні. Класифікація диференціальних рівнянь з частинними похідними. Методи розв’язування. Початкові та граничні умови. Крайові задачі. Класифікація та постановки крайових задач. Поняття про коректність постановок крайових задач. Класичні та узагальнені розв’язки крайових задач. Метод розділення змінних. Задачі дифузії. Граничні умови для задач дифузійного типу.
4. Різницевий метод розв'язку краєвих задач
Основні поняття теорії різницевих схем. Поняття про порядок точності, збіжність та швидкість збіжності різницевих схем. Поняття про апроксимацію диференціальної крайової задачі різницевою схемою. Поняття про стійкість різницевих схем. Збіжність як результат апроксимації та стійкості. Застосування різницевих схем для розв’язування нестаціонарних задач.
5. Основи методу скінченних елементів
Метод зважених нев’язок. Метод Гальоркіна. Поняття про слабку варіаційну постановку. Інтерполяційні поліноми для скінченних елементів. Побудова базисних функцій. Схема розв’язку краєвих задач методом скінченних елементів. Дискретизація області у МСЕ. Типи скінченних елементів. Алгоритми триангуляції.
VI. Методи та засоби комп’ютерних інформаційних технологій
1. Моделі сигналів
Визначення поняття “інформаційна технологія”. Компоненти інформаційної технології. Основні технологічні операції обробки інформації. Поняття сигналу і його моделі. Ортогональні представлення сигналів. Частотна форма відображення сигналу. Спектри періодичних сигналів. Спектри імпульсних сигналів. Розподіл енергії в спектрі сигналу. Випадковий процес як модель сигналу. Ймовірнісні характеристики випадкових процесів. Стаціонарні і ергодичні випадкові процеси. Спектральне представлення випадкових сигналів. Канонічний розклад. Властивості кореляційної функції сигналу. Спектральна густина випадкового сигналу. Розподіл енергії в спектрі сигналу.
2. Дискретизація сигналів
Способи представлення сигналів. Переваги цифрової форми представлення сигналів. Постановка задачі дискретизації сигналів. Дискретизація в часі за допомогою вибірок. Теорема відліків. Кореляційний критерій вибору періоду дискретизації. Критерій допустимого відхилення. Адаптивна дискретизація. Квантування сигналів.
3. Кількісна оцінка інформації
Модель джерела інформації. Ентропія джерела інформації. Властивості ентропії дискретних повідомлень. Ентропія об’єднання статистично незалежних систем. Ентропія об’єднання статистично залежних систем. Ентропія неперервних повідомлень. Кількість інформації як міра знятої невизначеності. Надлишковість повідомлень. Узагальнені характеристики сигналів і інформаційних каналів. Теорема Шенона для дискретного каналу без завад. Інформаційний канал із завадами. Теорема Шенона для каналу із завадами.
4. Кодування сигналів
Прості рівномірні цифрові коди. Рефлексивні коди. Коди Грея. Основні принципи завадостійкого кодування. Зв’язок коректуючої здатності коду з кодовою відстанню. Побудова кодів із заданою коректуючою здатністю.
5. Систематичні коди
Побудова систематичного коду. Декодування систематичних кодів. Приклади систематичних кодів. Коди Хемінга. Загальна характеристика циклічних кодів. Двійкові багаточлени і дії над ними. Побудова циклічних кодів. Утворюючий багаточлен. Декодування циклічних кодів. Матричне представлення циклічних кодів. Огляд циклічних кодів з різною виправляючою здатністю. БЧХ-коди.
6. Алгоритми стиснення інформації
Загальна характеристика методів кодування для стиснення інформації. Статистичне кодування Хафмана і Шенона-Фано. Арифметичне кодування. Метод “стосу книг”. Алгоритм Лемпела-Зіва. Алгоритм Лемпела-Зіва-Велча. Архіватори. Стиснення графічних файлів.
7. Проблеми захисту інформації
Можливі канали витоку інформації. Функції систем захисту інформації. Основні принципи проектування систем захисту інформації. Захист інформації в САПР. Криптографічні методи захисту інформації. Види систем криптографічного захисту. Оцінка параметрів криптографічних систем. Системи шифрування даних. Стандарт шифрування даних DES і його модифікації. Система B-Crypt. Алгоритм швидкого шифрування FEAL-1. Стандарт шифрування по ГОСТ 28147-89. Криптографічні системи з відритим ключем. RSA-система шифрування. Порівняння криптографічних систем. Техніка управління ключами шифрування.
8. Захист від несанкціонованого доступу
Ідентифікація об’єктів і механізми підтвердження справжності. Паролі. Ідентифікаційні картки. Надання повноважень і механізми контролю доступу до інформації. Принцип мінімальних привілей. Розділення користувачів. Матриці доступу. Реалізація матриці доступу в операційних системах. Анулювання прав доступу.
VII. Основи автоматизованого проектування складних об’єктів і систем (СОС)
1. Методологічні аспекти автоматизованого проектування складних об'єктів і систем (СОС)
Поняття складного об’єкта чи системи (СОС). Формальне визначення складної системи. Концепція багаторівневих систем в теорії проектування. Ієрархічні багаторівневі системи як об'єкт проектування. Основні види ієрархій. Ієрархічний порядок та принцип в технічних СОС (радіоелектронні засоби, технологічні процеси та інше). Декомпозиція систем. Життєвий цикл СОС. Об’єкти проектування та об’єкти автоматизації. Місце САПР в сучасному виробництві. Вимоги до сучасних CAD/CAM/CAE. Основні поняття та визначення, пов'язані з процесом проектування: завдання на проектування, об'єкт проектування, процес проектування, проектні рішення, результат проектування, проектний документ, проект, проектна процедура та операції. Методологія проектування СОС. Поняття стратегії та технології автоматизованого проектування СОС. Стадії та етапи стандартної технології проектування. Задачі функціонального, конструкторського та технологічного проектування. Системний підхід до автоматизованого проектування. Конструкторська ієрархія СОС. Блочно-ієрархічний підхід до процесу проектування. Горизонтальні та вертикальні рівні проектування. Нисхідне та висхідне проектування. Типові маршрути і процедури проектування. Ітераційний процес проектування. Процедури синтезу, аналізу та верифікації в автоматизованому проектуванні. Принципи побудови маршрутів проектування (МП). Загальний алгоритм процесу автоматизованого проектування. Функціональна схема процесу проектування. Формалізація задач синтезу і аналізу. Способи організації та моделі ПП СОС. Поняття середовища проектування. Стратегії автоматизованого проетування СОС. Адаптація САПР до об’єкта проектування. Концепції адаптації САПР.
2. Структура та особливості використання САПР. Новітні технології в складі сучасних КСП
Склад та структура КСП. Проектуючі та обслуговуючі підсистеми САПР. Типова функціональна структура САПР. Класифікація САПР. САПР в системі сучасного виробництва. Інтеграція САПР з іншими автоматизованими системами підприємства. Підсистеми виробничого планування та управління. Комп’ютерна підтримка прийняття рішень. Недоліки стандартної технології автоматизованого проектування. Технології наскрізного і паралельного проектування: основні принципи. Агентна технологія проектування СОС. Системне проектування нових технічних СОС: основні положення системного проектування нових СОС. Схема системного проектування нових СОС. Системне середовище САПР – CAD Framework. Архітектура системного середовища. Представлення проекту, управління проектними даними та методологією проектування в CAD Framework. Безпаперові технології в проектуванні СОС. Підсистеми ведення проектів в сучасних КСП. Поняття інженерного документообігу. Системи підтримки електронного документообігу на підприємстві.
3. Автоматизація процесів прийняття проектних рішень на основі математичних моделей і методів в проектуванні СОС
Класифікація математичних моделей. Функціональні та структурні моделі. Ієрархія математичних моделей. ММ на мікро-, макро-, та метарівнях. Форми представлення математичних моделей. Вимоги до математичних моделей. Математичне моделювання на мікрорівні. Основні рівняння математичної фізики. Рівняння теплопровідності. Рівняння дифузії. Методи аналізу ММ на мікрорівні. Основні положення та порівняння методів скінченних різниць та скінченних елементів. Математичні моделі СОС на макрорівні. Компонентні і топологічні рівняння. Форми представлення моделей. Приклади ММ елементів електронних схем. Приклади ММ неелектронної природи. Отримання математичних моделей СОС на макрорівні. Математичні моделі СОС на метарівні. Математичні моделі для задач конструювання. Теорія множин та графів. Нечіткі множини. Методи представлення графів. Ейлерові та Гамільтонові ланки та цикли. Характеристичні числа графів. Матричне представлення графів: суміжності, зв'язності, геометрії. Дерева, планарні і плоскі графи. Операції над графами. Математичне забезпечення підсистем машинної графіки і геометричного моделювання. Компоненти математичного забезпечення. Геометричні моделі. Методи й алгоритми машинної графіки. ПМК геометричного моделювання і машинної графіки. Оптимізаційні моделі в процесі проектування СОС. Формалізація оптимізаційних моделей. Етапи побудови оптимізаційних моделей конструктивних та технологічних рішень РЕЗ. Формалізація та рішення задачі призначення оптимальних допусків на параметри об'єктів проектування. Побудова областей пошуку оптимальних рішень.
4 Задачі синтезу та прийняття рішень в процесах конструкторського і технологічного проектування СОС
Особливості та етапи вирішення задач структурного синтезу. Структурний синтез та параметрична оптимізація. Моделі математичного програмування в структурному синтезі (лінійне програмування, метод відсікаючих площин, метод гілок та границь). Задачі синтезу конструкцій РЕЗ. Постановка та формалізація задач конструкторського проектування: задачі компоновки, розміщення та трасування. Математичні моделі задач компоновки. Критерії оптимальності в задачах компоновки. Послідовний та ітеративний алгоритми компоновки. Постановка задачі розміщення конструктивних модулів різних рівнів ієрархії. Класифікація алгоритмів розміщення. Критерії оптимальності в задачах розміщення. Градієнтні, послідовні та ітераційні методи розміщення. Трасування електричних з'єднань. Постановка задачі трасування з'єднань. Класифікація методів трасування. Хвильовий алгоритм трасування та його модифікації. Забезпечення теплоелектричної сумісності в конструкціях РЕЗ. Формалізація теплової моделі конструкції РЕЗ. Стаціонарні та нестаціонарні температурні поля. Методи аналізу стаціонарних і нестаціонарних полів. Формалізація задач забезпечення теплоелектричної сумісності параметрів РЕЗ. Багаторівнева схема забезпечення теплоелектричної сумісності елементів. Типові технологічні процеси виготовлення мікроелектронних пристроїв. Розробка принципової схеми ТП. Розробка операційної технології. Розробка маршрутної технології. Синтез ТП на основі прототипів. Синтез ТП без прототипів. Структура автоматизованого проектування ТП (САПР ТП, АС ТПВ). Приклади типових технологічних процесів виготовлення напівпровідникових ІС. Забезпечення технологічної відтворюваності параметрів СОС. Структурна схема наскрізного технологічного моделювання. Ієрархічна фізико-технологічна модель мікроелектронних пристроїв. Автоматизована система узгодження точності функціональних параметрів з точністю параметрів ТП. Багаторівнева схема технологічної відтворюваності параметрів об'єкту проектування.
VIII. Системне програмування та операційні системи
1. Основи системного програмування
Загальні поняття та визначення. Технічні засоби програмно-технічних систем. Реалізація обчислювального процесу в ЕОМ. Структура програми на Асемблері. Опис і визначення даних. Види адресації. Команди, їх класифікація і структура. Модульне програмування. Переривання, їх види. Обробка переривань. Програмування вводу-виводу. Організація вводу-виводу. Методи і засоби створення програм із складною структурою. Програмування в реальному і захищеному режимі.
2. Операційні системи та їх підсистеми
Визначення, призначення та функції ОС. Підсистема управління пристроями. Підсистема управління файлами. Підсистема управління пам'яттю. Фізична пам'ять. Підсистема управління пам'яттю. Віртуальна пам'ять. Підсистема управління процесами. Управління процесорами. Управління ресурсами. Мережеві та розподілені ОС. Особливості та реалізація MS DOS, Windows та UNIX.