Часть 5. Изменение приоритетов выполняющихся программ



Объекты исследования: ps, nice, renice.

Теоретические сведения

Изучить описание и синтаксис следующих команд: ps, nice, renice[2, 3].

Порядок выполнения работы

Начальные условия: Командная строка после входа в систему.

1. Определить уровни приоритетов процессов в системе (в UNIX они называются «nice»). По умолчанию, приоритет процессов простого пользователя равен нулю.

2. Запустить создание архива с пониженным приоритетом.

3. Понизить приоритет заранее запущенного процесса архивации. Простые пользователи не могут повышать приоритет процессов, только понижать.


 

В. Управление доступом

Цель лабораторной работы

Изучение процесса аутентификации в UNIX.

Теоретические сведения

Изучить процесс аутентификации в UNIX [2, 3].

Часть 1.Вход в систему и завершение сеанса

Порядок выполнения работы

Начальные условия: Приглашение входа в систему.

1. Войти в систему в режиме «Консольный вход». (Для входа в систему необходимо ввести логин и пароль пользователя - символы вводимого пароля не отображаются). Просмотреть содержимое домашней папки.

2. Выйти из графического режима.

3. Завершить сеанс работы в командной строке.

4. Перезагрузить компьютер CTRL/ALT/DEL.

5. Просмотреть, какие сеансы и режимы доступны пользователю.

6. Войти в каждом из доступных сеансов и проанализировать возможности каждого из предоставляемых графических столов.

Часть 2. Изучение базовых прав доступа

Порядок выполнения работы

Начальные условия: Командная строка после входа в систему.

1. Просмотреть права доступа. Особый интерес представляют: первая колонка (права доступа), третья и четвёртая – владелец и группа владельцев соответственно.

2. Рассмотреть исполняемый файл /bin/bash. Выяснить, чем определяются исполняемые файлы в UNIX.

3. Рассмотреть права директории /tmp.Найти дополнительный sticky-bit, определяющий права на создание и удаление файлов в директории.

4. Изменить файл с недостатком прав/bin/bash.Проанализировать все полученные предупреждения.

5. Задать текстовому файлу права только для чтения. Просмотреть установленные права доступа.

6. Лишить всех прав доступа к файлу для группы владельцев и остальных пользователей. Просмотреть установленные права доступа.

 

Г. Управление пользователями

Цель лабораторной работы

Изучение процесса аутентификации в UNIX.

Теоретические сведения

Изучить процесс аутентификации в UNIX [2, 3].

Часть 1. Переход в режим суперпользователя

Порядок выполнения работы

Начальные условия: Командная строка после входа в систему простого пользователя.

1. Рассмотреть права доступа к исполняемому файлу passwd: ls -l /bin/passwd. Чем они отличается для данного файла. Найти специальный suid-бит.

2. Запустить suid-программу passwd от имени владельца файла. На другом терминале набрать: ps aux | grep passwd. Проанализировать полученную информацию.

3. Для временной работы в режиме суперпользователя обычно используют команду su. Используя параметр -, проинициализировать окружение суперпользователя: su -. (Для того, чтобы перейти в режим суперпользователя, необходимо знать его пароль. При загрузки с LiveCD пароль не требуется. При этом запускается новая командная оболочка уже с новыми привилегиями).

4. Завершить сеанс суперпользователя воспользовавшись командой exit.

Часть 2. Изучение базы данных пользователей

Порядок выполнения работы

Начальные условия: Командная строка после входа в систему.

1. Просмотреть содержимое файла passwd с помощью команды cat /etc/passwd.(В файле /etc/passwd хранятся данные о зарегистрированных в системе пользователях. Подробную информацию о формате этого файла можно получить на соответствующей странице руководств: man 5 passwd)

2. Просмотреть содержимое файла group: cat /etc/group. (Файл содержит данные о группах).

Часть 3. Добавление и удаление пользователей

Порядок выполнения работы

Начальные условия: Загрузка с LiveCD (Для LiveCD суперпользователь не имеет пароля). Командная строка после входа в систему суперпользователя.

1. Добавить нового пользователя (используется команда useradd). В качестве параметров указать домашнюю директорию и командную оболочку пользователя: useradd testuser -d /home/users/testuser -s /bin/sh. Просмотреть результат: cat /etc/passwd | grep testuser.

2. С помощью команды passwd задать пароль для нового пользователя: passwd testuser.

3. Проверить правильность добавления нового пользователя. Войти в систему под именем вновь созданного пользователя.

Удалить пользователя с помощью команды: userdel testuser.

Содержание отчета

Отчет должен содержать название лабораторной работы, цель ее выполнения, описание хода работы и выводы по работе.

Контрольные вопросы

1. Как вызвать консольный (терминальный) режим в Linux?

2. Как определить имя текущего каталога?

3. Как перейти в корневой каталог?

4. Как просмотреть содержимое каталога?

5. Что такое «расширенный» вывод содержимого каталога?

6. Как перейти в домашний каталог?

7. Как создать новый каталог?

8. Что такое «рекурсивный» просмотор содержимого каталога?

9. Как создать текстовый файл?

10. Как добавить строку в существующий файл?

11. Как просмотреть содержимое файла?

12. Что такое «псевдоним командной оболочки»?

13. Какая информация о файлах выдается при использовании ключей –a и –I команды ls?

14. Какая команда копирует файл?

15. Как переместить файл?

16, Какой командой можно переименовать файл?

17. Чем жесткая ссылка отличается от символической?

18. Для чего предназначена команда cat?

19. Для чего предназначена команда find?

20. Какие ключи используются при поиске файлов?

21. Какие ключи используются при поиске каталогов?

22. Как подавить сообщения об ошибках?

23. Какие архивы используются в Linux?

24. Как создать архив?

25. Как распаковать файлы?

26. Как объединить несколько файлов?

27. Какой командой можно «разрезать» файл?

28. Какой командой можно «склеить» файл?

29. Как просмотреть начало длинного файла?

30. Как просмотреть последние строки длинного файла?

31. Что такое «регулярное выражение»?

32. Для чего предназначена команда grep?

33. Как можно просмотреть текущие пользовательские сеансы?

34. Как просмотреть список всех примонтированных устройств?

35. Как вывести информацию о всех выполняющихся процессах?

36. Как вывести иерархию процессов?

37. Какой командой можно принудительно завершить процесс?

38. Какой сигнал является неперехватываемым?

39. Что такое «фоновый» режим?

40. Как приостановить выполнение процесса?

41. Как определить приоритет процесса?

42. Как понизить/повысить приоритет процесса?

43. Кто имеет право изменять приоритет процесса?

44. Как просмотреть сеансы, доступные пользователю?

45. Как установить права доступа?

46. Как просмотреть права доступа?

47. Каким группам пользователей устанавливаются права доступа?

48. Какие права доступа можно установить?

49. Что такое suid-бит?

50. Как добавить/удалить пользователя?


Лабораторная работа № 2

Способы адресации

Цель лабораторной работы

Целью работы является изучение структуры контекста процесса. Задачами работы является приобретение навыков трансляции и отладки программ под управлением отладчика DEBUG.

 

Теоретические сведения

Смещение, которое вычисляется операционным блоком для доступа к находящемуся в памяти операнду, называется исполнительным адресом (ИА) операнда.

Типы адресации и их форматы представлены в таблице [4, 5].

Таблица

Тип адресации Формат Пример
1. Регистровая регистр, регистр MOV AX,CX
2. Непосредственная регистр, значение MOV CL,500
3. Прямая регистр, ИА регистр, ИА+С T DB 5, 4 .... MOV AL,T
4. Косвенная регистровая регистр, [BX] регистр, [BP] регистр, [SI] регистр, [DI] T DB 5 Т1 DB 4 ..... MOV BX,OFFSET T MOV AL,[BX] MOV BX,OFFSET T1 MOV AL,[BX]
5. По базе регистр, [BX]+С регистр, [BP]+С T DB 5,4 ... MOV BX,OFFSET T MOV AL,[BX] MOV AL,[BX]+1
6. Прямая с индексированием регистр, ИА[DI] регистр, ИА[SI] TABL DB 5,4,3,2 ... MOV DI,2 MOV AL,TABL[DI]
7. По базе с индексированием регистр, [БР+ИР+С] T DB 5,4,3,2,1 .... MOV DI,1 MOV BX,OFFSET T MOV AL,[BX+DI+2] MOV AL,[DI+BX+2] MOV AL,[BX+2][DI] MOV AL,[BX][DI+2]

Примечания: 1. Условные обозначения       

БР - базовый регистр,

ИР - индексный регистр,

С – сдвиг,

ИА – исполняемый адрес.

2. [BX] и т.п. - значение регистра.

3. Данные описываются в сегменте данных, команды находятся в сегменте команд.

 

Оборудование

IBM совместимые ЭВМ, операционная система Linux, программа DOSBox, оболочка Volcov Commander, программы Tasm, TLink, Debug.

 

Порядок выполнения работы

1. Повторить типы адресации и команду пересылки MOV языка Ассемблер.

2. Повторить порядок отладки программы.

3. Набрать программу в любом редакторе в соответствии с заданием

Задание:

В сегменте данных определить три области: А – 1 байт под одно число; B – по 1 байту под три числа; C – по 1 байту под шесть чисел.

В программе

- Обнулить область A.

- В область B записать три любых числа (прямая адресация).

- В первые три ячейки области C записать числа из области B в обратном порядке (адресация по базе).

- В оставшиеся ячейки области С записать три любых числа.

- Просмотреть сегмент данных.

- В области С поменять местами 1 и 4, 2 и 5, 3 и 6 числа (адресация по базе с индексированием). В качестве буфера можно использовать или регистр BX или область А.

4. Откомпилировать, отладить и выполнить программу в Debug.

5. Оформить отчет

Содержание отчета

Отчет должен включать:

1. Название лабораторной работы.

2. Цель ее выполнения.

3. Вариант задания

4. Тексты программ

5. Строку сегмента данных с полученным результатом.

 

Контрольные вопросы

1. Что такое прямая адресация?

2. Что такое косвенная регистровая адресация?

3. Что такое адресация по базе?

4. Что такое адресация по базе с индексированием?

5. Что такое прямая адресация с индексированием?

6. Что такое исполнительный адрес?

7. Чем прямая адресация отличается от косвенной?

8. Как работает операция OFFSET?


Лабораторная работа № 3

Обработка прерываний

 

Цель лабораторной работы

Целью работы является изучение структуры контекста процесса. Задачами работы является приобретение навыков трансляции и отладки программ под управлением отладчика DEBUG.

 

Теоретические сведения

Изучить функции прерываний 21h DOS и 10h BIOS [4, 5].

 

Оборудование

IBM совместимые ЭВМ, операционная система Linux, программа DOSBox, оболочка Volcov Commander, программы Tasm, TLink, Debug, программа на языке Ассемблера с использованием функций прерывания типа 21h и 10h операционной системы DOS.

 

Порядок выполнения работы

1. Повторить команды сравнения, перехода и прерывания.

2. Написать программу в соответствии с заданием 1:

Вариант Задание 1
1 При вводе символа «1» на экран выводится символ «а»; при вводе «0» программа заканчивает свою работу; на остальные символы программа не реагирует
2 При вводе символа «2» на экран выводится символ «=»; при вводе символа «3» на экран выводится символ «?»; при вводе «0» программа заканчивает свою работу; на остальные символы программа не реагирует
3 Вывести на экран запрос и ввести строку – ответ на этот запрос
4 В зависимости от введенного символа («1» или «2») выдавать одно из двух сообщений
5 Нарисовать прямоугольник одинарной линией с сообщением внутри него
6 Нарисовать прямоугольник двойной линией с сообщением внутри него
7 Вывести сообщение в разные места экрана в зависимости от нажатой клавиши

3. Написать программу в соответствии с заданием 2:

Ввести строку, обозначающую арифметический пример (например, 2+2=), проанализировать ее, выполнить введенную операцию, результат вывести на экран. ВНИМАНИЕ! Должны действовать следующие ограничения:

- сумма должна быть меньше 10;

- в случае разности первое число должно быть больше второго.

4. Написать программу ввода информации с клавиатуры (кроме 1 варианта), используя функции 21h прерывания DOS, преобразования информации в соответствии с вариантом и выводом результата на экран.

вариант функция доп. задание вид преобразования
1 3Fh устройство ввода – файл строчные латинские в прописные
2 3Fh устройство ввода - клавиатура строчные русские в прописные
3 01h без реакции на CTRL/C прописные латинские в строчные
4 01h реакция на CTRL/C русские в латинские по клавиатуре
5 06h   строчные латинские в прописные
6 06h анализ Alt/X прописные русские в строчные
7 06h ввод Alt/цифра без преобразования
8 07h   латинские в русские по клавиатуре
9 07h анализ Alt/Z строчные латинские в прописные
10 08h без реакции на CTRL/C строчные русские в прописные
11 08h реакция на CTRL/C русские в латинские по клавиатуре
12 0Ah   латинские в русские по клавиатуре

 

5. Составить программу, позволяющую вывести на экран в текстовом режиме средствами DOS (функции 10h прерывания) несколько строк текста с предварительной очисткой экрана.

  функция вывод изображения вывод следующей строки
1  40h  выделение яркостью  с позиции курсора
2  09h  выделение мерцанием  с позиции курсора
3  02h  инверсное изображение  с позиции курсора
4  06h  инверсное изображение  с позиции курсора
5  09h  выделение яркостью после перемещения курсора на n строк вверх
6  40h  выделение мерцанием после перемещения курсора на n строк вверх
7  02h  выделение мерцанием после перемещения курсора на n строк вверх
8  06h  выделение яркостью после перемещения курсора на n строк вверх
9  02h  выделение яркостью после перемещения курсора на n строк вниз
10  09h  инверсное изображение после перемещения курсора. на n строк вниз
11  06h  выделение мерцанием после перемещения курсора на n строк вниз
12  40h  инверсное изображение после перемещения курсора на n строк вниз

 

6. Оформить отчет

Содержание отчета

Отчет должен включать:

1. Название лабораторной работы.

2. Цель ее выполнения.

3. Варианты заданий.

4. Тексты программ.

5. Результаты работы программы.

 

Контрольные вопросы

1. Что входит в функции контроллера клавиатуры?

2. Что такое "скен-код"?

3. Как работает программа обработки прерываний INT 09h?

4. Для чего служит кольцевой буфер ввода?

5. Что такое ввод с упреждением?

6. Что такое "расширенный код ASCII"?

7. Какие три уровня процедур ввода данных с клавиатуры предоставляет DOS?

8. Как осуществляется ввод с клавиатуры средствами файловой системы?

9. Перечислите группы прерываний системы BIOS.

10. Перечислите прерывания операционной системы DOS.

11. Какие функции для ввода информации прерывания типа 21 вы знаете?

12. Что означает функция А прерывания типа 21?

13. Какие регистры использует функция А?

14. Что означает функция 1 прерывания типа 21?

15. Как ввести строку символов с клавиатуры?

16. Что включает в себя видеосистема компьютера?

17. Сколько страниц хранится в памяти адаптера?

18. Какие функции DOS выводят текстовую информацию на экран?

19. Как перенаправить вывод информации?

20. Какие Esc-последовательности используются для управления экраном?

21. Какие функции драйвера BIOS (прерывание INT 10h) используются при работе в текстовом режиме?

22. Как вывести строку символов на экран дисплея?


Лабораторная работа № 4

Распределение памяти

Цель лабораторной работы

Целью работы является раскрытие технологии программирования, включающей компоновку и выполнение ассемблерных программ, а также анализ распределения памяти в каждом случае. Задачами работы является написание внешних подпрограмм на Ассемблере и компоновка их в один исполняемый модуль..

 

Теоретические сведения

Изучить способы оформления внешних и внутренних модулей, команды их вызова, способы компоновки [4, 5].

 

Оборудование

IBM совместимые ЭВМ, операционная система Windows, Linux, программа DOSBox, оболочка Volcov Commander, программы Tasm, TLink, Debug, программа на языке Ассемблера.

 

Порядок выполнения работы

1. Повторить назначение и использование программ Masm, Link и Debug

2. Повторить структуру программы на Ассемблере.

3. Получить вариант задания у преподавателя.

4. Написать основную программу и внешнюю подпрограмму, оформив их первым способом, в соответствии с заданием:

Вариант Задание
1 Вычислить длину окружности, если известен радиус
2 Вычислить разность двух чисел
3 Вычислить периметр прямоугольника, если известны длины сторон
4 Вычислить площадь квадрата
5 Вычислить дискриминант квадратного уравнения
6 Вычислить длину окружности, если известен диаметр
7 Вычислить площадь окружности, если известен радиус
8 Вычислить площадь окружности, если известен диаметр

5. Исправить программы, оформив их вторым способом.

6. Исправить программы, оформив их третьим способом

 

Для каждого способа выполнить следующие действия:

а. Оттранслировать оба модуля.

б. Просмотреть листинги трансляции, обратить внимание на таблицы идентификаторов и карты компоновки.

в. Создать выполняемый модуль.

г. При помощи отладчика выполнить программу. Определить действительный адрес кодового сегмента для подпрограммы (в команде CALL).

 

7. Оформить отчет

Содержание отчета

Отчет должен включать:

1. Название лабораторной работы.

2. Цель ее выполнения.

3. Варианты заданий.

4. Тексты листинга трансляции (полностью) обоих файлов.

5. Действительные адреса кодовых сегментов для подпрограмм.

 

Контрольные вопросы

1. Какая директива в программе указывает ассемблеру, что имя подпрограммы определено вне ее собственного кода?

2. Какая директива в подпрограмме необходима для того, чтобы имя точки входа было доступно в основной программе?

3. Каким образом программа указывает, что переменные должны быть доступны извне основной программы?

4. Каким образом подпрограмма указывает ассемблеру, что переменные определены в другом модуле?

5. Как создать выполняемый модуль, если программа вызывает внешнюю подпрограмму?


Лабораторная работа № 5

 

Препроцессоры

Оборудование

.IBM совместимые ЭВМ, операционная система Windows, Linux, программа DOSBox, оболочка Volcov Commander, программы Tasm, TLink, Debug, программа на языке Ассемблера.


Дата добавления: 2018-04-04; просмотров: 674; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!