Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursovoy Юрков.doc
Скачиваний:
1
Добавлен:
18.09.2019
Размер:
339.97 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ

Курсовий проект по дисципліні

«Системне програмування и операційні системи»

Виконав Юрков Д.В.

Перевірив:

Голубєв Л.П.

Київ 2012

Зміст

1-а частина – Робота в операційній системі Linux. Програмування в середовищі shell.

2-а частина – Операційна система Windows. Системне програмування в MASM.

3-я частина – Операційна система Windows. Системне програмування в MASM32 з використанням функцій API.

1-а частина

Робота в операційній системі Linux. Програмування в середовищі shell.

  1. Теоретична частина.

  1. Вступ

  2. Найпростіші засоби shell

  3. Структура команд

  1. Практична частина

  1. Завдання

  2. Опис алгоритму

  3. Код програми

4. Shell-змінні

5. Екранування

6. Програмні структури

1) Теоретична частина.

1. ВСТУП Серед операційних систем особливе місце займає Unix. Безпрецедентним є те, що ОС Unix може працювати практично на всіх випускаються платформах. UNIX - це стандарт де факто відкритих і мобільних операційних систем. (оскільки назва UNIX запатентовано компанією AT & T - різні Юнікси називаються по-різному: SCO UNIX, BSDI, Solaris, Linux, DG / UX, AIX і т.д.). Це не тільки багатозадачна, а й багатокористувацька система. Вона забезпечує сучасний користувальницький інтерфейс на базі системи X Window і між машинний зв'язок на базі протоколів TCP / IP і т.п. ОС Unix була створена Кеном Томпсоном і Деннісом Рітчі в Bell Laborotories (AT & T). Широко поширюватися Unix/v7 (версія 7) почала в 79 - 80-тих роках. Вручення творцям Unix в 1983 році Міжнародної премії А.Тьюрінга в області програмування ознаменувало визнання цієї системи світової наукової громадськості. Що також безпрецедентно. ОС Unix стоїть на трьох китах: мова Сі, файлова система, командна мова. В подальшому до них додалися система X Window і протоколи TCP / IP.

Мова Сі, на якій написана операційна система Unix, з одного боку, включає в себе властивості мови високого рівня програмування: опис типів, програмні структури if, for, while і т.п., а з іншого боку - включає засоби, що властиві мовам низького рівня програмування, рівня асемблера: регістрові змінні, адресну арифметику, можливості роботи з полями біт та окремими бітами і т.п.

2. НАЙПРОСТІШІ ЗАСОБИ SHELL Командний мова shell (у перекладі - раковина, шкаралупа) фактично є мовою програмування дуже високого рівня. На цій мові користувач здійснює управління комп'ютером. Зазвичай, після входу в систему ви починаєте взаємодіяти з командною оболонкою. Ознакою того, що оболонка (shell) готова до прийому команд служить видається нею на екран промптер. У найпростішому випадку це один долар ("$").

shell - це одна з багатьох команд UNIX. Тобто в набір команд оболонки "shell" входить команда "sh" - виклик інтерпретатора "shell". Перший "shell" викликається автоматично при вашому вході в систему і видає на екран промтері. Після цього ви можете викликати на виконання будь-які команди, в тому числі і знову сам "shell", який вам створить нову оболонку всередині колишньої. Так наприклад, якщо ви підготуєте в редакторі файл "file_1": echo Hello! то це буде звичайний текстовий файл, що містить команду "echo", яка при виконанні видає все написане правіше від неї на екран.

Оскільки UNIX - система розрахована на багато користувачів, ви можете навіть на персональному комп'ютері працювати паралельно, скажімо, на 12-ти екранах), маючи на кожному екрані нового (або одного і того ж) користувача зі своєю командною оболонкою. Можете і в графічному режимі X-Window також відкрити велике число вікон, а в кожному вікні може бути свій користувач зі своєю командною оболонкою. Стрижневим елементом мови shell є команда.

3. Структура команд Команди в shell зазвичай мають наступний формат: <Ім'я команди> <прапори> <аргумент (и)> Наприклад: ls-ls / usr / bin Де ls - ім'я команди видачі вмісту директорія, -Ls - прапори ("-" - ознака прапорів, l - довгий формат, s - об'ем файлів в блоках), / Usr / bin - директорій, для якого виконується команда. Ця команда видасть на екран у довгому форматі вміст директорії / usr / bin, при цьому додасть інформацію про розмір кожного файлу в блоках. На жаль, така структура команди витримується далеко не завжди. Не завжди перед прапорами ставиться мінус, не завжди прапори йдуть одним словом. Є різноманітність і в поданні аргументів. До числа команд, які мають екзотичні формати, відносяться і такі "ходові" команди, як сс - виклик компілятора мови С, tar - робота з архівами, dd - копіювання файлу з перетворенням, find - пошук файлів і ряд інших. Як правило, перше слово shell сприймає, як команду. Тому в командному рядку cat cat перше слово буде розшифровано shell, як команда (конкатенації), яка видасть на екран файл з ім'ям "cat" (друге слово), що знаходиться в поточному директорії.

4. Shell-змінні

Ім'я shell-змінної - послідовність, що розпочинається з букви, та вміщує цифри, знак підкреслювання.

Значення shell-змінної - рядок символів.

У shell всього два типи даних: рядок символів та текстовий файл.

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

Для присвоювання значення змінним може використовуватися оператор присвоювання "=".

var_1=13

var_2="OS Unix"

Змінна та її значення повинні бути записані без пробілів відносно символа "=".

Можливі й інші способи присвоювання значення shell-змінним. Так, наприклад: DAT=`date` приводить до того, що спочатку виконується команда "date" а результат її виконання, замість видачі на стандартний вихід, прописується у якості значення змінної, у даному випадку "DAT".

Можна надати значення змінної за допомогою команди "read", яка забезпечує прийом значення з клавіатури: read x.

Одна команда "read" може прочитати значення відразу для декількох змінних, по черзі. Якщо змінних більше, чим їх введено, то тим що залишилися змінним присвоюється порожній рядок, якщо введено більше, то зайві значення ігноруються.

Під час звернення до shell-змінної необхідно перед ім'ям ставити символ "\$", так відповідно команда echo $var_2; виведе на екран "OS Unix".

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]