Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПОЛНЫЕ ОТВЕТЫ ОС.docx
Скачиваний:
94
Добавлен:
21.09.2019
Размер:
782.97 Кб
Скачать

23. Загрузка операционных систем. (так же, см. Отчёт по установке Windows и Ubuntu)

Сейчас, практически все системы ориентируются на установку на персональных компьютерах. В разных системах этот процесс происходит по-разному, но, тем не менее, во всех системах этапы загрузки одинаковые.

Этапы загрузки операционных систем семейства unix:

1. Загрузка и инициализация ядра операционной системы.

2. Распознавание и конфигурирование устройств.

3. Запуск системных процессов.

4. Выполнение стартовых скриптов.

5. Переход в многопользовательский режим.

Рассмотрим эти этапы более подробно.

После включения питания компьютера управление получает BIOS (Basic Input/Output System). Она инициализирует оборудование, проводит тестирование памяти, определяет с какого устройства нужно грузиться и потом передает управление загрузчику на соответствующем устройстве. Для систем x86 - это как правило MBR (master boot record). В случае жесткого диска он расположен в первых 446 байтах первого сектора. Загрузчик определяет активный раздел и передает управление загрузчику второй фазы на активном разделе. Размер MBR слишком мал, чтобы загрузить ядро. Поэтому он просто передает управление загрузчику ядра. После загрузки, ядро получает управление и проводит свои тесты аппаратной части. В первую очередь ему необходимо знать объем доступной оперативной памяти для резервирования под свои нужды. Эта память не будет доступна для пользовательских процессов.

Следующая задача – выявление компонентов аппаратного обеcпечения. Поскольку сейчас unix системы ориентируются на установку на персональные компьютеры, то базовое ядро уже содержит драйвера для большинства самых распространенных аппаратных устройств. По этой причине базовое ядро может иметь достаточно большой размер.

После этого, запускаются системные процессы. Во всех системах есть процесс init с идентификатором 1. Дополнительные процессы зависят от версии операционной системы. Например в BSD системах запускается ещё swapper с идентификатором 0 и pagedaemon с идентификатором 2. В системах семейства System V запускается процесс sсhed с идентификатором 0 и различные обработчики сигналов ядра. После запуска процесса init, дальнейшее управление передается ему.

Процесс init, получив управление, выполняет стартовые скрипты. Это скрипты на языке оболочки. Обычно используется Born shell (sh) или Born again shell (bash).

После выполнения всех стартовых скриптов система готова к работе. Остается только сделать, чтобы пользователи могли подключаться. Для этого необходимо, чтобы на каждый терминал имел процесс, ожидающий поступления запросов. Для консольных и сетевых терминалов этот процесс называется getty. Если система настроена работать в графическом режиме, запускаются ещё соответствующие регистрационные процессы, например, xdm, gdm. После этого система полностью готова к работе.

24. Пакетные командные файлы. Особенности работы с пакетными командными файлами в различных ос.

Командные файлы, они же пакетные - можно считать особой категорией исполняемых программ. Такие файлы должны иметь тип .BAT (от английского слова batch - "пакетный"). Запуск пакетного файла осуществляется точно так же, как и запуск обычной исполнимой программы типа .COM или .EXE, то есть для этого указывается имя файла и, если требуется, параметры. КФ могут создаваться с помощью любого текстового редактора либо командой: COPY CON <имя>.BAT

Они служат для организации удобного взаимодействия пользователей с прикладными программными системами. Пакетный файл, в отличие от обычных исполнимых программ, содержит не машинные коды программ, а текст, который интерпретируется командным процессором DOS. Cтроки этого текста могут представлять собой:

    • встроенные команды DOS;

    • обращения к исполнимым программам;

    • вызовы других пакетных файлов;

    • специальные команды для управления выдачей на экран;

    • специальные команды для организации ветвлений и циклов;

    • метки.

Рассмотрим на примере ОС MS-DOS сновные команды, применяемые в пакетных файлах

  1. CALL [путь] имя_командного _файла [параметры]

Эта команда используется внутри командного файла для вызова другого командного файла. Когда вызываемый командный файл заканчивает работу, управление передается вызывающему файлу. Например, чтобы последовательно вызвать файлы Start.bat и Finish.bat, надо в командный файл ввести команды

call start

call finish

  1. CHOICE [/C[:]выборы][/N][/S][T[:}c,nn][текст]

Эта команда используется для ввода подсказки пользователю. выполнение файла приостанавливается и пользователь может сделать выборы из указанного набора выборы. Параметры команды:

текст – пояснительный текст, который будет показан перед подсказкой. Если текст не указан, то выведется только подсказка.

/C[:] выборы – указывает возможности из которых пользователь будет делать выбор, при выводе выборы будут заключены в квадратные скобки с ? в конце. Если /C не используется, то по умолчанию выводятся выборы Y и N. Двоеточие не обязательно.

/N- если используется эта опция, то будет показан текст подсказки, а сама подсказка не выведется.

/S – чувствительность к регистру.

/T[:]c,nn – ограничение времени, на которое командный файл приостановит свое выполнение, с- определяет символ, который будет выбран по умолчанию, если через nn секунд пользователь не сделает выбор.

Примеры:

choice /c ync

Пользователь увидит подсказку

[Y,N,C]?

К подсказке можно добавить пояснительный текст

choice /c ync Yes(Да),No(Нет),Continue(Продолжить)

Пользователь увидит текст:

Yes(Да),No(Нет),Continue(Продолжить)[Y,N,C]?

Для ограничения времени можно использовать опцию /Т

choice /c:ync/t:c,10

Пользователь увидит подсказку

[Y,N,C]?

Если в течение 10с выбор не будет сделан, то по умолчанию будет выбрана опция С и пакетный файл продолжит выполнение.

3. ECHO ON|OFF – включает или отключает отображение команд при выполнении командного файла. Может использоваться для вывода сообщений по ходу выполнения файла. Обычно при выполнении командного файла на экран выводятся его команд. Команда ECHO OFF отключит эту функцию. Пример

ECHO OFF

. . . . .

ECHO Это сообщение командного файла

. . . . .

Пользователь при работе командного файла увидит на экране

ECHO OFF

Это сообщение командного файла

Чтобы сама команда ECHO OFF не выводилась на экран в начало команды нужно добавить @.

  1. FOR %%переменная IN (набор) DO команда

,где

%%переменная – любой символ,

набор – одна или более спецификаций файлов.

Команда осуществляет циклическое выполнение команд. Может использоваться и в пакетной и в диалоговой обработке.

Элементу %%переменная последовательно присваивается каждое из вхождений набора, затем выполняется команда DOS, указанная после DO.

Пример

for %%x in (*.txt) do type %%x //печатает на экране все текстовые файлы текущего каталога.

  1. GOTO метка

Выполняет безусловный переход, т. е. передает управление команде, находящейся в строке после метки.

Метка- первые 8 символов после двоеточия, может вводиться с отступом, но предшествовать метке могут только пробелы.

Если указанная после goto метка не найдена, то выводится сообщение об ошибке и командный файл завершает свою работу.

Пример

:start

echo Это- бесконечный цикл

goto start

Цикл можно закончить при нажатии Ctrl+Break.

  1. IF – условие. Имеет 3 формы:

  1. IF[NOT] EXIST имя_файла команда [параметры]

Это условие определяет проверку на наличие или отсутствие файла на диске. Если условие истинно, то выполняется указанная команда.

echo off

if not exist data1.dat goto message

echo Файл Data1.dat в текущем каталоге существует

goto end

:message

echo Файл не найден,

echo однако этот файл должен быть в текущем каталоге

:end

2)IF [NOT] строка1==строка2

Это условие проверяет строки на равенство. Если условие истинно, то выполняется указанная команда.

Пример

echo off

if not x==%1x goto print

echo после имени командного файла надо ввести параметр

goto end

:print

echo переданный параметр – [%1]

:end

В этом примере командный файл работает по разному в зависимости от того, были ли введены в командную строку символы после имени командного файла. Здесь х – строка1, %1х – строка2, %1 – переданный параметр.

  1. IF [NOT] ERRORLEVEL число

Это условие проверяет число ERRORLEVEL (переменная, в которую записываются значения в ОС DOS, например, коды завершения программ). Если ERRОRLEVEL равна или больше(или не равна - NOT) указанного числу, то выполняется команда. Примеры:

1) if errorlevel 1 echo errorlevel больше 0 //выводит сообщение при установке errorlevel>0

  1. echo off

if errorlevel 1 goto copyfile

if errorlevel 2 goto delfile

echo Программа работает неправильно

goto end

:copyfile

copy dat1.dat+dat.tmp

echo Получены новые данные

goto end

:delfile

delete dat1.dat

echo Каталог очищен

:end

  1. PAUSE [комментарий]

Приостанавливает выполнение программы до нажатия клавиши и выводит сообщение

Нажмите любую клавишу. . .

Если есть комментарий, то он выводится перед сообщением

pause Вставьте дискету в дисковод А

Эта команда приостановит выполнение командного файла для вставки диска в дисковод А.

7. REM [комментарий]

Вставка в командный файл сообщение, которые не влияют на выполнение программы.

8. PATH=путь

задает путь поиска команды по умолчанию

path=a:\;c:\windows;c:\windows\command;e;\files

т. е. DOS начинает писк команды с какталога а:\, затем переходит в c:\windows, потом в c:\windows\command и т. д.

9. Символы перенаправления ввода-вывода

> - перенаправляет вывод команды не на экран, а в указанное устройство или в файл.

dir a:\>f1.txt

>> - добавляет информацию в конец существующего файла.

date>> f1

time>>f1

< - позволяет получить ввод не с клавиатуры, а из указанного файла или устройства