- •1. Введення
- •2. Прості засоби|кошти| shell
- •2.1. Структура команд
- •2.2. Угрупування команд.
- •2.3. Перенаправлення команд
- •2.4. Генерація імен файлів.
- •2.5. Командні файли.
- •3. Середовище|середа| shell (змінні і параметри)
- •3.2. Екранування
- •3.3. Маніпуляції з|із| shell-змінними
- •3.4. Експорт змінних
- •3.5. Параметри
- •3.6. Підстановки shell-інтерпретатора
- •3.7. Програмне середовище
- •4. Програмні структури
- •4.1. Команда test ("[ ]")
- •4.2. Умовний оператор "if"
- •4.3. Оператор виклику ("case")
- •4.4. Оператор циклу з|із| переліком|перерахуванням| ("for")
- •4.5. Оператор циклу з|із| передумовою ("while")
- •4.6. Оператор циклу з|із| постумовою ("until")
- •4.7. Порожній оператор
- •4.8. Функції в shell
- •4.9. Обробка переривань ("trap")
- •5. Розробка графічного інтерфейсу за допомогою бібліотеки Qt3. Створення в kDevelop базової структури додатку
- •5.1. Словник
- •5.2. Створення|створіння| проекту
- •5.3. Робота з Qt Designer
- •5.4. Розробка інтерфейсу програми
- •5.5. Додавання|добавка| виджетов|
- •5.6. Створення|створіння| проміжків між виджетами|
- •5.7. Сигнали і слоти
- •5.8. Написання коду
- •6. Литература
міністерство науки і освіти України
ОДЕСЬКА ДЕРЖАВНА АКАДЕМІЯ ХОЛОДУ
Швець Н. В.
СИСТЕМНЕ ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ
Посібник до самостійної роботи
Одеса 2008
Укладач: Швець Наталія Василівна, асистент кафедри Інформаційно-управляючих систем
Посібник розглянуто й рекомендоване до видання на засіданні кафедри Інформаційно-управляючих систем
Протокол № ___ від “___” ______________ 2008 р.
Завідувач кафедрою ІУС, д.т.н.,професор В. М. Плотніков
Затверджено методичною комісією Факультету інформаційних технологій
Протокол № ____ від “____” _____________ 2008 р.
Голова методичної комісії, к.т.н.,доц. О. М. Богач
Зміст
Анотація 4
2. Прості засоби|кошти| SHELL 6
2.1. Структура команд 8
2.2. Угрупування команд. 8
2.3. Перенаправлення команд 11
2.4. Генерація імен файлів. 14
2.5. Командні файли. 14
3. Середовище|середа| SHELL (ЗМІННІ І ПАРАМЕТРИ) 15
3.1. shell-змінні 16
3.2. Екранування 18
3.3. Маніпуляції з|із| shell-змінними 21
3.4. Експорт змінних 22
3.5. Параметри 24
3.6. Підстановки shell-інтерпретатора 27
3.7. Програмне середовище 27
4. Програмні структури 33
4.1. Команда test ("[ ]") 34
4.2. Умовний оператор "if" 36
4.4. Оператор циклу з|із| переліком|перерахуванням| ("for") 41
4.5. Оператор циклу з|із| передумовою ("while") 45
4.6. Оператор циклу з|із| постумовою ("until") 46
4.7. Порожній оператор 48
4.8. Функції в shell 48
4.9. Обробка переривань ("trap") 49
5. Розробка графічного інтерфейсу за допомогою бібліотеки Qt3. Створення в KDevelop базової структури додатку 51
5.1. Словник 51
5.2. Створення|створіння| проекту 52
5.3. Робота з Qt Designer 55
5.4. Розробка інтерфейсу програми 60
5.5. Додавання|добавка| виджетов| 62
5.6. Створення|створіння| проміжків між виджетами| 66
5.7. Сигнали і слоти 69
5.8. Написання коду 71
6. ЛИТЕРАТУРА 78
Анотація
Вхід України у європейський освітній простір та перехід до кредитно-модульній системи організації навчального процесу передбачає, певною мірою, внесення ряду змін і новацій в методику викладання дисциплін, спрямованих на розвиток пізнавальних інтересів і стійких навичок самостійної роботи студентів щодо кращого опанування матеріалом.
Посібник до самостійної роботи студентів має метою забезпечити студентів методичними матеріалами до опанування курсу «Системне програмне забезпечення», сприяє підвищенню рівня знань і навчальних умінь студентів.
Перелік тем, наданих у посібнику базується на матеріалах учбової програми з дисципліни «Системне програмне забезпечення», яка викладається згідно Державному освітньому стандарту на III курсі студентам спеціальностей 6.080401 «Інформаційні управляючі системи і технології» та 6.080402 «Інформаційні технології програмування». У курсі викладаються принципи побудови і функціонування операційних систем, методів управління ресурсами обчислювальної системи, питання створення паралельних взаємодіючих процесів, що виконуються в багатозадачних операційних системах. Посібник містить систематизований виклад теоретичного матеріалу з командної мови SHELL та методи і засоби розробки додатків з графічним інтерфейсом у операційній системі UNIX.
Викладання матеріалу у посібнику відповідає виконанню умов щодо обсягу, у кожному розділі навчального посібника завданням до самостійної роботи передують завдання з докладним розв’язанням. Студент, таким чином, одержує взаємно пов’язану теоретичну і прикладну інформацію, яка сприяє формуванню майбутнього програміста.
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 році Міжнародної премії А.Тьюрінга у області програмування ознаменувало визнання|зізнання| цієї системи світовою науковою (computer science) громадськістю. Що також безпрецедентно.
Скільки операційних систем зійшло і зайшло на комп'ютерному небосхилі за час існування UNIX!
ОС Unix стоїть на трьох китах: мова|язик| Сі, файлова система, командна мова|язик|. Надалі до них додалися|добавилися| система X Window і протоколи TCP/IP.
Мова|язик| Сі, на якому написана сама операційна система, з одного боку, поєднує|сполучає| в собі властивості мови|язика| високого рівня: опис типів, програмні структури if, for, while і т.п., а з|із| іншою - містить|утримує| засоби|кошти|, властиві звичайно мовам|язикам| рівня асемблера: регістрові змінні, адресну (посилальну) арифметику, можливості|спроможності| роботи з|із| полями біт і окремими бітами і т.п.
2. Прості засоби|кошти| shell
Командна мова|язик| shell (у перекладі|переведенні,переказі| - раковина, шкаралупа) фактично є мова|язик| програмування дуже високого рівня. На цій мові|язиці| користувач здійснює управління комп'ютером. Звичайно, після|потім| входу в систему ви починаєте|розпочинаєте,зачинаєте| взаємодіяти з|із| командною оболонкою (якщо завгодно|бажано| - вона починає|розпочинає,зачинає| взаємодіяти з|із| вами). Ознакою того, що оболонка (shell) готова до прийому команд служить видаваний нею на екран промптер|. У простому випадку це один долар ("$").
Shell не є|з'являється,являється| необхідною і єдиною командною мовою|язиком| (хоча саме він стандартизован| в рамках|у рамках| POSIX [POSIX 1003.2] - стандарту мобільних систем). Наприклад, чималою|неабиякою| популярністю користується мова|язик| cshell, є також kshell, bashell (з|із| найбільш популярних останнім часом) та інші. Більш того|більше того|, кожен користувач може створити свою командну мову|язик|. Може одночасно на одному екземплярі|примірнику| операційної системи працювати з|із| різними командними мовами|язиками|.
Зверніть увагу: shell - це одна з багатьох команд UNIX. Тобто|цебто| в набір команд оболонки (інтерпретатора) "shell" входить команда "sh" - виклик інтерпретатора "shell". Перший "shell" викликається|спричиняється| автоматично при вашому вході в систему і видає на екран промптер|. Після|потім| цього ви можете викликати|спричиняти| на виконання будь-які команди, у тому числі і знову сам "shell", який вам створить нову оболонку всередині|усередині| колишньою. |
Так наприклад, якщо ви підготуєте в редакторі файл "f1":
echo Hello!
то це буде звичайний|звичний| текстовий файл, що містить|утримує| команду "echo", яка при виконанні видає все написане правіше за неї на екран. Можна зробити файл "f1" виконуваним за допомогою команди "chmod 755 f1". Але|та| його можна ВИКОНАТИ, викликавши|спричинивши| явно команду (!) "sh" ("shell"):
sh f1
або
sh < f1
Файл можна виконати і в поточному екземплярі|примірнику| "shell". Для цього існує специфічна команда "." (крапка|точка|), тобто
. f1
Важливе|поважне| попередження|попереджувати,запобігання|: Не починайте командні файли з символу "#", хоча природно починати його з коментаря. Річ у тому, що|справа в тому , що,дело в том | такий командний файл в оболонці C-Shell ("csh") буде інтерпретований як виконуваний в "csh", в результаті буде активізований. інтерпретатор "csh". РАДА|порада|. Починайте командний sh-файл з порожнього|пустого| рядка або порожнього|пустого| оператора ":". |
Оскільки UNIX - система розрахована на багато користувачів, ви можете навіть на персональному комп'ютері працювати паралельно, скажімо, на 12-ти екранах (перехід з екрану на екран ALT/функциональная клавіша), маючи на кожному екрані нового (або одного і того ж) користувача з|із| своєю командною оболонкою. Можете і в графічному режимі X-Window також відкрити|відчинити| велике число вікон, а в кожному вікні може бути свій користувач з|із| своєю командною оболонкою...
Стрижньовим|стержневим| елементом мови|язика| shell є|з'являється,являється| команда.