Програма емуляції роботи командного процесора операційної системи

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

Міністерство освіти і науки України

Вінницький технічний коледж

 

 

 

 

Спеціальність: 5.091504

 

 

 

 

 

 

 

Програма емуляції роботи командного

процесора операційної системи

Пояснювальна записка

до курсового проекту

з дисципліни: „Системне програмування ”

 

 

 

Виконав: студент групи 4ОК2

Гладкий А.В.

 

Прийняв:

Кисюк Д.В.

 

 

Вінниця 2010

ВСТУП

 

Мова С була винайдена і реалізована Деннісом Рітчі (Dennis Ritchie) для компютера DEC PDP-11 в операційній системі Unix. Ця мова була розроблена на основі "старішої" мови BCPL, створеної свого часу Мартіном Річардсом (Martin Richards). BCPL зробив певний вплив на мову В, розроблену Кеном Томпсоном (Ken Thompson). У свою чергу розвиток мови В привів до створення в 1970 році мови С.

Впродовж багатьох років стандартом С була фактично версія, що поставляється разом з операційною системою Unix. Ця версія вперше була описана Браяном Керніганом (Brian Kernighan) і Деннісом Рітчі в книзі The С Programming Language (Englewood Cliffs, N.J.: Prentice-Hall, 1978). Влітку 1983 року був утворений комітет із створення для мови С стандарту ANSI (American National Standards Institute Національний інститут стандартизації США). Треба відзначити, що процес стандартизації зайняв вельми чималий термін шість років.

Стандарт ANSI був остаточно прийнятий в грудні 1989 року і вперше опублікований на початку 1990 року. Цей стандарт був також прийнятий організацією ISO (International Standards Organization Міжнародна організація по стандартизації), тому він називається стандартом ANSI/ISO мови С++. У 1995 році була прийнята 1-а поправка до стандарту С++, згідно якої, серед іншого, було додано декілька бібліотечних функцій. У 1989 році стандарт С разом з 1-ю поправкою став базовим документом стандарту C++, що визначає С як підмножина C++. Версію С, визначену стандартом 1989 року, звичайно називають С89.

Впродовж 90-х років увага програмістів була прикована головним чином до розвитку стандарту C++. Тим часом розробка С також продовжувалася, привівши в 1999 році до появи стандарту С, який прийнято називати С99. В цілому С99 зберіг всі основні риси С89, тобто,

можна сказати, що мова С залишилась сама собою! Комісія стандартизації С99 надала основну увагу двом напрямам: додаванню декількох чисельних бібліотек і розвитку нових вузькоспеціальних засобів, таких як масиви змінної довжини і модифікатор покажчика restrict. Завдяки цим нововведенням мова С++ знову виявилась на вістрі розвитку мов програмування.

Версія С стандарту 1989 року в даний час найпоширеніша версія, вона використовується всіма компіляторами С, вона ж є основою для C++.

Мову С++ часто називають мовою програмування середнього рівня. Але це не значить, що С++ менш могутня, менш розвинена або важча у використанні, ніж мови високого рівня, такі як Basic або Pascal. Це також не значить, що С++ така ж громіздка і незручна, як асемблер. Мовою середнього рівня її називають швидше тому, що вона обєднує в собі кращі риси мов високого рівня з можливостями асемблера.

Як мова середнього рівня С++ дозволяє маніпулювати бітами, байтами і адресами, тобто тими базовими елементами даних, з якими працює компютер. Не дивлячись на це програма, написана на С++, володіє високою переносимістю. Переносимість це властивість програмного забезпечення, створеного для одного типу компютера або операційної системи, яке дозволяє легко переробити його для іншого типу, тобто перенести в інше обчислювальне середовище. Наприклад, якщо програму, що працює під управлінням DOS, легко переробити так, щоб вона працювала під управлінням Windows 2000, то така програма називається переносимою.

Всі мови високого рівня дотримуються концепції типів даних. Тип даних є набором значень, що зберігаються в змінних, а також набір операцій, виконання яких допускається над цими значеннями. Звичні типи даних це цілі числа, символи і числа з плаваючою крапкою. Мова С++ має декілька вбудованих типів даних, проте вона не є мовою, що сильно типізується, як Pascal або Ada. У мові С++ допускаються майже всі перетворення типів. Наприклад, у виразах можна вільно змішувати змінні символьного і цілого типів.

На відміну від більшості мов високого рівня, в С++ майже відсутній контроль помилок в процесі виконання програми. Наприклад, не перевіряється порушення меж масивів. Відповідальність за подібні помилки повністю покладається на програміста.

Аналогічно цьому С++ не вимагає строгої сумісності параметрів і аргументів функцій. У мовах програмування високого рівня звичайно необхідно, щоб тип аргументу більш менш відповідав типу параметра. Для С++ це не характерно, тут аргумент може мати майже будь-який тип, якщо його можна розумно перетворити в тип параметра. Більш того, компілятор С++ автоматично здійснює всі види необхідних перетворень.

Відмітною особливістю мови С++ є можливість маніпулювання безпосередньо бітами, байтами, словами і покажчиками. Тому С++ добре пристосована для системного програмування.

Інша важлива особливість С++ це мала кількість ключових слів, складаючих команди мови. У С89 визначено 32 ключові слова, причому в С99 додано лише 5 слів. Мови високого рівня звичайно мають значно більше ключових слів, наприклад, в більшості версій мови Basic їх кількість перевищує сотню!

Із за того, що в мові відсутні засоби введення/виведення й т.п., при програмуванні на ній істотну роль грає бібліотека стандартних програм, що здійснюють взаємодію із системою. У всіх системах, сумісних з ОС UNIX, існує сум