Планирование процессов в ос: НОУ ИНТУИТ | Лекция | Планирование процессов

Содержание

НОУ ИНТУИТ | Лекция | Планирование процессов

Аннотация: В этой лекции рассматриваются вопросы, связанные с различными уровнями планирования процессов в операционных системах. Описываются основные цели и критерии планирования, а также параметры, на которых оно основывается. Приведены различные алгоритмы планирования.

Я планов наших люблю громадьё…

В. В. Маяковский

Чем тщательнее мы планируем свою деятельность, тем меньше времени остается на ее осуществление.

Из анналов Госплана

Всякий раз, когда нам приходится иметь дело с ограниченным количеством ресурсов и несколькими их потребителями, будь то фонд заработной платы в трудовом коллективе или студенческая вечеринка с несколькими ящиками пива, мы вынуждены заниматься распределением наличных ресурсов между потребителями или, другими словами, планированием использования ресурсов. Такое планирование должно иметь четко поставленные цели (чего мы хотим добиться за счет распределения ресурсов) и алгоритмы, соответствующие целям и опирающиеся на параметры потребителей. Только при правильном выборе критериев и алгоритмов можно избежать таких вопросов, как: «Почему я получаю в десять раз меньше, чем мой шеф?» или «А где мое пиво?». Настоящая лекция посвящена планированию исполнения процессов в мультипрограммных вычислительных системах или, иначе говоря, планированию процессов.

Уровни планирования

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

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

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

е. количество процессов, одновременно находящихся в ней. Если степень мультипрограммирования системы поддерживается постоянной, т. е. среднее количество процессов в компьютере не меняется, то новые процессы могут появляться только после завершения ранее загруженных. Поэтому долгосрочное планирование осуществляется достаточно редко, между появлением новых процессов могут проходить минуты и даже десятки минут. Решение о выборе для запуска того или иного процесса оказывает влияние на функционирование вычислительной системы на протяжении достаточно длительного времени. Отсюда и название этого уровня планирования – долгосрочное. В некоторых операционных системах долгосрочное планирование сведено к минимуму или отсутствует вовсе. Так, например, во многих интерактивных системах разделения времени порождение процесса происходит сразу после появления соответствующего запроса. Поддержание разумной степени мультипрограммирования осуществляется за счет ограничения количества пользователей, которые могут работать в системе, и особенностей человеческой психологии.
Если между нажатием на клавишу и появлением символа на экране проходит 20–30 секунд, то многие пользователи предпочтут прекратить работу и продолжить ее, когда система будет менее загружена.

Планирование использования процессора применяется в качестве краткосрочного планирования процессов. Оно проводится, к примеру, при обращении исполняющегося процесса к устройствам ввода-вывода или просто по завершении определенного интервала времени. Поэтому краткосрочное планирование осуществляется, как правило, не реже одного раза в 100 миллисекунд. Выбор нового процесса для исполнения оказывает влияние на функционирование системы до наступления очередного аналогичного события, т. е. в течение короткого промежутка времени, чем и обусловлено название этого уровня планирования – краткосрочное.

В некоторых вычислительных системах бывает выгодно для повышения производительности временно удалить какой-либо частично выполнившийся процесс из оперативной памяти на диск, а позже вернуть его обратно для дальнейшего выполнения. Такая процедура в англоязычной литературе получила название swapping, что можно перевести на русский язык как «перекачка», хотя в специальной литературе оно употребляется без перевода – свопинг. Когда и какой из процессов нужно перекачать на диск и вернуть обратно, решается дополнительным промежуточным уровнем планирования процессов – среднесрочным .

Критерии планирования и требования к алгоритмам

Для каждого уровня планирования процессов можно предложить много различных алгоритмов. Выбор конкретного алгоритма определяется классом задач, решаемых вычислительной системой, и целями, которых мы хотим достичь, используя планирование. К числу таких целей можно отнести следующие:

  • Справедливость – гарантировать каждому заданию или процессу определенную часть времени использования процессора в компьютерной системе, стараясь не допустить возникновения ситуации, когда процесс одного пользователя постоянно занимает процессор, в то время как процесс другого пользователя фактически не начинал выполняться.
  • Эффективность – постараться занять процессор на все 100% рабочего времени, не позволяя ему простаивать в ожидании процессов, готовых к исполнению. В реальных вычислительных системах загрузка процессора колеблется от 40 до 90%.
  • Сокращение полного времени выполнения ( turnaround time ) – обеспечить минимальное время между стартом процесса или постановкой задания в очередь для загрузки и его завершением.
  • Сокращение времени ожидания ( waiting time ) – сократить время, которое проводят процессы в состоянии готовность и задания в очереди для загрузки.
  • Сокращение времени отклика ( response time ) – минимизировать время, которое требуется процессу в интерактивных системах для ответа на запрос пользователя.

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

  • Были предсказуемыми. Одно и то же задание должно выполняться приблизительно за одно и то же время. Применение алгоритма планирования не должно приводить, к примеру, к извлечению квадратного корня из 4 за сотые доли секунды при одном запуске и за несколько суток – при втором запуске.
  • Были связаны с минимальными накладными расходами. Если на каждые 100 миллисекунд, выделенные процессу для использования процессора, будет приходиться 200 миллисекунд на определение того, какой именно процесс получит процессор в свое распоряжение, и на переключение контекста, то такой алгоритм, очевидно, применять не стоит.
  • Равномерно загружали ресурсы вычислительной системы, отдавая предпочтение тем процессам, которые будут занимать малоиспользуемые ресурсы.
  • Обладали масштабируемостью, т. е. не сразу теряли работоспособность при увеличении нагрузки.
    Например, рост количества процессов в системе в два раза не должен приводить к увеличению полного времени выполнения процессов на порядок.

Многие из приведенных выше целей и свойств являются противоречивыми. Улучшая работу алгоритма с точки зрения одного критерия, мы ухудшаем ее с точки зрения другого. Приспосабливая алгоритм под один класс задач, мы тем самым дискриминируем задачи другого класса. «В одну телегу впрячь не можно коня и трепетную лань». Ничего не поделаешь. Такова жизнь.

НОУ ИНТУИТ | Лекция | Планирование процессов

Аннотация: В этой лекции рассматриваются вопросы, связанные с различными уровнями планирования процессов в операционных системах. Описываются основные цели и критерии планирования, а также параметры, на которых оно основывается. Приведены различные алгоритмы планирования.

Я планов наших люблю громадьё…

В. В. Маяковский

intuit.ru/2010/edi»>

Чем тщательнее мы планируем свою деятельность, тем меньше времени остается на ее осуществление.

Из анналов Госплана

Всякий раз, когда нам приходится иметь дело с ограниченным количеством ресурсов и несколькими их потребителями, будь то фонд заработной платы в трудовом коллективе или студенческая вечеринка с несколькими ящиками пива, мы вынуждены заниматься распределением наличных ресурсов между потребителями или, другими словами, планированием использования ресурсов. Такое планирование должно иметь четко поставленные цели (чего мы хотим добиться за счет распределения ресурсов) и алгоритмы, соответствующие целям и опирающиеся на параметры потребителей. Только при правильном выборе критериев и алгоритмов можно избежать таких вопросов, как: «Почему я получаю в десять раз меньше, чем мой шеф?» или «А где мое пиво?». Настоящая лекция посвящена планированию исполнения процессов в мультипрограммных вычислительных системах или, иначе говоря, планированию процессов.

Уровни планирования

В первой лекции, рассматривая эволюцию компьютерных систем, мы говорили о двух видах планирования в вычислительных системах: планировании заданий и планировании использования процессора. Планирование заданий появилось в пакетных системах после того, как для хранения сформированных пакетов заданий начали использоваться магнитные диски. Магнитные диски, являясь устройствами прямого доступа, позволяют загружать задания в компьютер в произвольном порядке, а не только в том, в котором они были записаны на диск. Изменяя порядок загрузки заданий в вычислительную систему, можно повысить эффективность ее использования. Процедуру выбора очередного задания для загрузки в машину, т. е. для порождения соответствующего процесса, мы и назвали планированием заданий. Планирование использования процессора впервые возникает в мультипрограммных вычислительных системах, где в состоянии готовность могут одновременно находиться несколько процессов. Именно для процедуры выбора из них одного процесса, который получит процессор в свое распоряжение, т. е. будет переведен в состояние исполнение, мы использовали это словосочетание. Теперь, познакомившись с концепцией процессов в вычислительных системах, оба вида планирования мы будем рассматривать как различные уровни планирования процессов.

Планирование заданий используется в качестве долгосрочного планирования процессов. Оно отвечает за порождение новых процессов в системе, определяя ее степень мультипрограммирования, т. е. количество процессов, одновременно находящихся в ней. Если степень мультипрограммирования системы поддерживается постоянной, т. е. среднее количество процессов в компьютере не меняется, то новые процессы могут появляться только после завершения ранее загруженных. Поэтому долгосрочное планирование осуществляется достаточно редко, между появлением новых процессов могут проходить минуты и даже десятки минут. Решение о выборе для запуска того или иного процесса оказывает влияние на функционирование вычислительной системы на протяжении достаточно длительного времени. Отсюда и название этого уровня планирования – долгосрочное. В некоторых операционных системах долгосрочное планирование сведено к минимуму или отсутствует вовсе. Так, например, во многих интерактивных системах разделения времени порождение процесса происходит сразу после появления соответствующего запроса. Поддержание разумной степени мультипрограммирования осуществляется за счет ограничения количества пользователей, которые могут работать в системе, и особенностей человеческой психологии. Если между нажатием на клавишу и появлением символа на экране проходит 20–30 секунд, то многие пользователи предпочтут прекратить работу и продолжить ее, когда система будет менее загружена.

Планирование использования процессора применяется в качестве краткосрочного планирования процессов. Оно проводится, к примеру, при обращении исполняющегося процесса к устройствам ввода-вывода или просто по завершении определенного интервала времени. Поэтому краткосрочное планирование осуществляется, как правило, не реже одного раза в 100 миллисекунд. Выбор нового процесса для исполнения оказывает влияние на функционирование системы до наступления очередного аналогичного события, т. е. в течение короткого промежутка времени, чем и обусловлено название этого уровня планирования – краткосрочное.

В некоторых вычислительных системах бывает выгодно для повышения производительности временно удалить какой-либо частично выполнившийся процесс из оперативной памяти на диск, а позже вернуть его обратно для дальнейшего выполнения. Такая процедура в англоязычной литературе получила название swapping, что можно перевести на русский язык как «перекачка», хотя в специальной литературе оно употребляется без перевода – свопинг. Когда и какой из процессов нужно перекачать на диск и вернуть обратно, решается дополнительным промежуточным уровнем планирования процессов – среднесрочным .

Критерии планирования и требования к алгоритмам

Для каждого уровня планирования процессов можно предложить много различных алгоритмов. Выбор конкретного алгоритма определяется классом задач, решаемых вычислительной системой, и целями, которых мы хотим достичь, используя планирование. К числу таких целей можно отнести следующие:

  • Справедливость – гарантировать каждому заданию или процессу определенную часть времени использования процессора в компьютерной системе, стараясь не допустить возникновения ситуации, когда процесс одного пользователя постоянно занимает процессор, в то время как процесс другого пользователя фактически не начинал выполняться.
  • Эффективность – постараться занять процессор на все 100% рабочего времени, не позволяя ему простаивать в ожидании процессов, готовых к исполнению. В реальных вычислительных системах загрузка процессора колеблется от 40 до 90%.
  • Сокращение полного времени выполнения ( turnaround time ) – обеспечить минимальное время между стартом процесса или постановкой задания в очередь для загрузки и его завершением.
  • Сокращение времени ожидания ( waiting time ) – сократить время, которое проводят процессы в состоянии готовность и задания в очереди для загрузки.
  • Сокращение времени отклика ( response time ) – минимизировать время, которое требуется процессу в интерактивных системах для ответа на запрос пользователя.

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

  • Были предсказуемыми. Одно и то же задание должно выполняться приблизительно за одно и то же время. Применение алгоритма планирования не должно приводить, к примеру, к извлечению квадратного корня из 4 за сотые доли секунды при одном запуске и за несколько суток – при втором запуске.
  • Были связаны с минимальными накладными расходами. Если на каждые 100 миллисекунд, выделенные процессу для использования процессора, будет приходиться 200 миллисекунд на определение того, какой именно процесс получит процессор в свое распоряжение, и на переключение контекста, то такой алгоритм, очевидно, применять не стоит.
  • Равномерно загружали ресурсы вычислительной системы, отдавая предпочтение тем процессам, которые будут занимать малоиспользуемые ресурсы.
  • Обладали масштабируемостью, т. е. не сразу теряли работоспособность при увеличении нагрузки. Например, рост количества процессов в системе в два раза не должен приводить к увеличению полного времени выполнения процессов на порядок.

Многие из приведенных выше целей и свойств являются противоречивыми. Улучшая работу алгоритма с точки зрения одного критерия, мы ухудшаем ее с точки зрения другого. Приспосабливая алгоритм под один класс задач, мы тем самым дискриминируем задачи другого класса. «В одну телегу впрячь не можно коня и трепетную лань». Ничего не поделаешь. Такова жизнь.

Планирование установки и установка ОС Linux

Определение перечня задач, решаемых сервером

В перечень задач, рашаемых сервером входит обслуживание запросов клиентов локальной и/или глобальной компютерной сети. Для обслуживаения клиентов локальной сети необходимы такие сервисы как DHCP, NFS, SAMBA (при наличии в локальной сети Windows-клиентов). Для организации взаимодействия локальной сети с глобальной сетью необходимы: DNS, межсетевой экран, шлюз и PROXY-сервер. Для обеспечения работы удаленных клиентов глобальной сети необходимы HTTP, FTP, SMTP, POP, IMAP-серверы.

Жесткие диски

Жесткий диск представляет собой несколько круглых пластин, покрытых магнитным материалом. Пластины расположены одна над другой на одной оси и вращаются с постоянной скоростью. Запись и чтение информации осуществяется с помощью головок, перемещающихся по радису вдоль поверхности пластин. Поверхность каждой пластины представляется в виде набора концентрических дорожек. Каждая дорожка разбивается на блоки по 512 байт, называемые секторами. Сектор — это минимальная единица чтения/записи данных при работе с диском. Дорожки, расположенные одна над другой образуют цилиндр.

Таким образом, жесткий диск характеризуется количеством поверхностей(головок), дорожек(цилиндров), секторов. Например, 8x2048x35. Размер диска определяется как 8x2048x35 x 512 байт.

В операционной системе Linux каждому диску дается строго определенное название. Так, IDE-диску, подключенному к первому контроллеру в режиме master соответствует имя hda (hd — hard disk, a — первый по порядку), а первому SCSI-диску соответствует название sda (sd — scsi disk, a — первый). Каждый компьютер может содержать до четырех IDE-дисков и до семи SCSI-дисков. Названия дисков представлены в таблице.

Название дискаОписание
hdaIDE-диск Primary Master
hdbIDE-диск Primary Slave
hdcIDE-диск Secondary Master
hddIDE-диск Secondary Slave
sdaSCSI-диск первый
sdbSCSI-диск второй
sdcSCSI-диск третий
sddSCSI-диск четвертый
sdeSCSI-диск пятый
sdfSCSI-диск шестой
sdgSCSI-диск седьмой

RAID-массивы

RAID (Redundant Array of Independent Disks) — это избыточный массив независимых дисков. Суть RAID-массива заключается в объединении дисков в один массив, который выглядит со стороны операционной системы как один диск. Благодаря объединению дисков в массив увеличивается скорость чтения/записи данных и увеличивается устойчивость системы за счет дублирования данных и/или вычисления контрольных сумм.

Существует восемь способов создания RAID-массивов — восемь уровней (0, 1, 2, 3, 4, 5, 6, 7).

RAID 0
Данные разбиваются на блоки и по очереди записываются на отдельные диски массива. Объем массива равен: V = N * v, где N — число дисков в массиве, v — объем одного диска.
RAID 1
Данные записываются сразу на все диски массива. В результате, каждый диск массива содержит одинаковую информацию. V = v.
RAID 5
Блоки данных по очереди записываются на диски массива. При этом на каждом диске выделено место для хранения информации о четности блоков данных. V = (N-1)*v.
RAID 6
Блоки данных также записываются на все диски массива, но в отличие от RAID5 используются две независимые схемы вычисления контрольных сумм. V = 0.6 * v.

Разделы дисков

Жесткий диск может быть разбит на несколько разделов, при этом каждый раздел представляет собой как бы отдельный диск. Диск может быть разбит на четыре основных раздела, обозначаемых как 1,2,3,4. При необходимости разбиения диска на большее количество разделов необходимо основной раздел разбить на несколько логических разделов. В этом случае основной раздел становится расширенным разделом. Логические разделы нумеруются с 5,6,7,8. Общее количество логических разделов на диске не должно превышать четырех.
Например, первый раздел диска hda имеет название hda1, второй — hda2.

Файловые системы

Файловая система обеспечивает хранение информации на физических носителях, механизмы записи и чтения этой информации. В операционной системе Linux предусмотрена работа с несколькими типами файловых систем. Список некоторых из них представлен в таблице.
Тип файловой системыОписание
ext2Вторая расширенная (extended) файловая система
ext3Третья расширенная (extended) файловая система, в дополнение к ext2 осуществляет журналирование действий
swapРаздел виртуальной памяти (свопинга)
nfsСетевая файловая система, обеспечивающая доступ к дискам на других компьютерах локальной сети
iso9660Файловая система CD-ROM и DVD-ROM
vfatФайловая система FAT16, FAT32
ntfsФайловая система NTFS
smbСетевая файловая система, работающая через протокол SMB, применяемый в Windows

Для разных разделов диска могут быть заданы разные файловые системы.

Разметка диска на разделы

Файловая система содержит следующие каталоги:
КаталогНазначение
/Корневой каталог
/binИсполняемые файлы
/bootФайлы загрузчиков
/devФайлы устройств
/etcФайлы настроек программ
/homeФайлы пользователей
/libФайлы библиотек
/tmpВременные файлы
/usrПользовательские программы
/varСлужебные программы

Для того, чтобы обезапасить систему от нехватки свободного дискового пространства отдельные каталоги файловой системы могут быть размещены в разных разделах жесткого диска. Например, к каталогу /home может быть смонтирован раздел диска размером 10Гбайт. В этом случае, содержимое каталога /home будет размещаться только в этом разделе диска и общий размер этого каталога никогда не превзойдет указанный размер в 10Гбайт. Таким образом, в случае переполнения каталога /home остальные каталоги системы не будут испытывать нехватку свободного дискового пространства, поскольку размещаются в других разделах диска.

Методы установки

Современные дистрибутивы предлагают гибкую систему установки. Самым распространенным вариантом является установка с CD-ROM (DVD-ROM). В случае отсутствия установочного компакт-диска возможна установка с помощью альтернативных методов — с локального жесткого диска, через локальную сеть (NFS) или глобальную сеть (FTP, HTTP).
Для настройки собственного сервера установки через NFS, FTP, HTTP необходимо создать образы компакт-дисков и разместить их в доступных через сеть каталогах.
Для создания образа диска в Linux необходимо разместить компакт-диск в привод CD-ROM и выполните следующие команды:
mkdir /tmp/install
dd if=/dev/cdrom of=/tmp/install/centOS-5.1-i386.iso
Здесь предполагается, что привод CD-ROM имеет имя /dev/cdrom. Образ компакт-диска будет иметь имя centOS-5.1-i386.iso и располагаться в каталоге /tmp/install созданном командой mkdir.
NFS
Для того, чтобы сделать каталог /tmp/install доступным по протоколу NFS всем компьютерам локальной сети необходимо в файл /etc/exports добавить строку:
/tmp/install *(ro)
и перезапустить nfs-сервер командой
/etc/init.d/nfs restart
FTP
Для того, чтобы сделать каталог /tmp/install доступным компьютерам четез глобальную сеть по протоколу FTP необходимо сделать символическую ссылку
ln -s /tmp/install /var/ftp/pub/install
В данном случае, для доступа к образам компакт-дисков из глобальной сети необходимо будет указать имя ftp-сервера и имя каталога pub/install.
Если ftp-сервер не запущен, его необходимо запустить командой
/etc/init.d/vsftpd start
HTTP
Для того, чтобы сделать каталог /tmp/install доступным компьютерам четез глобальную сеть по протоколу HTTP необходимо сделать символическую ссылку
ln -s /tmp/install /var/www/html/install
В данном случае, для доступа к образам компакт-дисков из глобальной сети необходимо будет указать имя http-сервера и имя каталога install.
Если http-сервер не запущен, его необходимо запустить командой
/etc/init.d/httpd start

Установка ОС Linux

Установка с CD-ROM
  • Вставьте компакт-диск в привод CD-ROM
  • Перезагрузите компьютер
  • В начале загрузки компьютера зайдите в настройки BIOS и установите последовательность загрузки таковой, чтобы в первую очередь начиналась загрузка с CD-ROM
  • Перезагрузите компьютер
  • В ответ на приглашение программы установки введите
    <ENTER>
    
    начнется процесс установки в графическом режиме (программа anaconda)
  • В ответ на приглашение протестировать компакт-диск нажмите кнопку «Продолжить» («Skip»), если уверены, что поверхность компакт-диска не содержит повреждений, или кнопку «OK» для начала длительного процесса тестирования. После окончания тестирования всех дисков дистрибутива нажмите кнопку «Продолжить» («Skip»).
  • В появившемся графическом окне, содержащим только заставку, нажмите кнопку «Next»
  • Выберите язык системы «Russian» и нажмите кнопку «Next»
  • Выберите раскладку клавиатуры «Русская (win)» и нажмите кнопку «Далее»
  • Выберите способ разбиения диска на разделы. Для этого в выпадающем списке выберите пункт «Создать собственное разбиение» и укажите диски, на которых будут созданы разделы и нажмите кнопку «Далее»
  • Для создания разделов используйте кнопку «Создать»
  • В появившимся окне укажите точку монтирования раздела (например, /, /boot, /home, /tmp, /usr, /var, /opt), тип файловой системы (ext2, ext3, swap) и размер раздела в Мбайтах, а также тип раздела первичный или логический. Нажмите кнопку «OK».
  • После того, как созданы все необходимые разделы нажмите на кнопку «Далее»
  • Укажите место установки загрузчика GRU — это как правило первый сектор диска (MBR) и нажать на кнопку «Далее». При необходимости установить загрузчик не в MBR, следует отметить пункт «Настроить дополнительные параметры загрузчика» и нажать кнопку «Далее», и в появившемся окне выбрать либо MBR, либо первый серктор загрузочного раздела и нажать кнопку «Далее».
  • Укажите часовой пояс, снимите отметку напротив надписи «Системные часы используют UTC (мировое время)» и нажмите кнопку «Далее»
  • Укажите пароль пользователя root и нажмите кнопку «Далее»
  • Выберите необходимые программные пакеты и нажмите кнопку «Далее»
  • Начнется процесс проверки взаимных зависимостей выбранных пакетов по завершении которой появится приглашение начать процесс установки после чего нажмите кнопку «Далее»
  • Начнется процесс форматирования файловой системы и установки выбранных пакетов, затем процесс настройки и установка загрузчика и, наконец, сообщение об окончании установки — извлеките компакт-диск и нажмите кнопку «Перезагрузка»
  • После перезагрузки появится приглашение системы произвести дополнительную настройку, нажмите кнопку «Далее»
  • Настройте параметры сети. В случае наличия в локальной сети DHCP-сервера укажите способ получения IP-адреса от DHCP-сервера
  • Отключите межсетевой экран (брандмауер, файервол)
  • Установите SELinux в режим предупреждений
  • Отключите Kdump
  • Укажите дату и местное время
  • Не создавайте дополнительных пользователей
  • При наличии, укажите компакт-диски с дополнительными пакетами программ и нажмите на кнопку «Готово»
  • Появится приглашение системы ко вводу имени пользователя и пароля. Linux готов к работе!
  • Альтернативные методы установки
    Вставьте компакт-диск в привод CD-ROM
    Перезагрузите компьютер
    Введите
linux askmethod <ENTER>
Появится приглашение системы в текстовом режиме. Последовательно укажите язык системы (Russian), раскладку клавиатуры (ru_win) и затем один из методов установки:
  • CD-ROM
  • Жесткий диск
  • NFS
  • FTP
  • HTTP
CD-ROM
Операционная система будет установлена с CD-ROM.
Жесткий диск
Необходимо указать раздел диска (/dev/hda1, /dev/hda2, /dev/hda3, /dev/hda4) и каталог в этом разделе, в котором расположены образы CD-дисков дистрибутива.
NFS, FTP, HTTP
Необходимо указать драйвер сетевого адаптера (если не определился автоматически), затем настроить протокол TCP/IP и, наконец, имя сервера и каталог с дистрибутивом.

Далее процесс установки не отличается от описанного выше процесса установки с CD-ROM.

Ссылки по теме

Массив независимых дисков с избыточностью (RAID)
RAID-масивы начального уровня
Разбиение дисков и инсталляция Linux на LVM
Установка при помощи Kickstart

Планирование ЦП в операционных системах

Планирование процессов / работ выполняется для своевременного завершения работы.

Ниже приведены разные времена для процесса.

Время поступления: Время, когда процесс поступает в очередь готовности.
Время завершения: Время, в которое процесс завершает свое выполнение.
Burst Time: Время, необходимое процессу для выполнения CPU.
Время обращения: Разница во времени между временем завершения и временем прибытия.
Время оборота = Время завершения — Время прибытия

Время ожидания (W.T): Разница во времени между временем поворота и временем пакета.
Время ожидания = время поворота — время пакета


Зачем нам планирование?
Типичный процесс включает в себя как время ввода-вывода, так и время процессора. В системе программирования uni, такой как MS-DOS, время ожидания ввода-вывода тратится зря, и в это время ЦП свободен. В системах с несколькими программами один процесс может использовать ЦП, а другой ожидает ввода-вывода.Это возможно только при планировании процесса.

Цели алгоритма планирования процессов

Макс. Загрузка ЦП [Держите ЦП как можно более загруженным]
Справедливое распределение ЦП.
Макс. Пропускная способность [Количество процессов, завершивших свое выполнение за единицу времени]
Мин. Время выполнения [Время, затрачиваемое процессом на завершение выполнения]
Мин. Время ожидания [Время, в течение которого процесс ожидает в очереди готовности]
Мин. Время ответа [Время, когда процесс дает первый ответ]

Различные алгоритмы планирования

Первый пришел — первый обслужил (FCFS): Простейший алгоритм планирования, который составляет график в соответствии со временем прибытия процессов.Алгоритм планирования «первым пришел — первым обслужен» утверждает, что процесс, который первым запрашивает ЦП, первым выделяет ЦП. Это реализовано с использованием очереди FIFO. Когда процесс попадает в очередь готовности, его печатная плата присоединяется к хвосту очереди. Когда ЦП свободен, он выделяется процессу во главе очереди. Затем запущенный процесс удаляется из очереди. FCFS — это алгоритм планирования без вытеснения.

Примечание: Подача первым пришел — первым действует эффект конвоя.

Сначала кратчайшее задание (SJF): Процесс, который имеет наименьшее время пакета, планируется первым. Если два процесса имеют одинаковое время блокировки, то для разрыва связи используется FCFS. Это алгоритм планирования без вытеснения.


Сначала самое длинное задание (LJF): Он аналогичен алгоритму планирования SJF. Но в этом алгоритме планирования мы отдаем приоритет процессу, имеющему наибольшее время пакета. Это не превентивный характер i.е., когда какой-либо процесс начинает выполняться, его нельзя прервать до его завершения.

Сначала наименьшее оставшееся время (SRTF): Это приоритетный режим алгоритма SJF, в котором задания планируются в соответствии с наименьшим оставшимся временем.

Сначала наибольшее оставшееся время (LRTF): Это вытесняющий режим алгоритма LJF, в котором мы отдаем приоритет процессу, у которого остается наибольшее оставшееся время пакета.

Циклическое планирование: Каждому процессу назначается фиксированное время (квант времени / квант времени) циклически.Он разработан специально для системы разделения времени. Очередь готовности рассматривается как круговая очередь. Планировщик ЦП обходит очередь готовности, выделяя ЦП каждому процессу на временной интервал до 1-кратного кванта. Чтобы реализовать циклическое планирование, мы сохраняем готовую очередь как очередь процессов FIFO. Новые процессы добавляются в хвост очереди готовности. Планировщик ЦП выбирает первый процесс из очереди готовности, устанавливает таймер для прерывания после однократного кванта и отправляет процесс.Тогда произойдет одно из двух. Процесс может иметь всплеск ЦП менее однократного кванта. В этом случае процесс сам по себе освободит ЦП. После этого планировщик перейдет к следующему процессу в очереди готовности. В противном случае, если всплеск ЦП текущего выполняемого процесса превышает однократный такт, таймер сработает и вызовет прерывание для операционной системы. Будет выполнено переключение контекста, и процесс будет помещен в конец очереди готовности. Затем планировщик ЦП выберет следующий процесс в очереди готовности.

Планирование на основе приоритета (без вытеснения): В этом планировании процессы планируются в соответствии с их приоритетами, то есть процесс с наивысшим приоритетом планируется первым. Если приоритеты двух процессов совпадают, то составьте расписание по времени прибытия. Здесь возможно голодание процесса.

Самый высокий коэффициент отклика следующий (HRRN): В этом планировании процессы с наивысшим коэффициентом отклика планируются. Этот алгоритм позволяет избежать голодания.

 Коэффициент отклика = (время ожидания + время пакета) / время пакета 

Многоуровневое планирование очереди: В соответствии с приоритетом процесса, процессы помещаются в разные очереди. Обычно процессы с высоким приоритетом помещаются в очередь верхнего уровня. Только после завершения процессов из очереди верхнего уровня планируются процессы нижнего уровня в очереди. Может страдать от голода.

Многоуровневое планирование очереди обратной связи: Позволяет процессу перемещаться между очередями.Идея состоит в том, чтобы разделить процессы в соответствии с характеристиками их всплеска ЦП. Если процесс использует слишком много процессорного времени, он перемещается в очередь с более низким приоритетом.

Некоторые полезные факты об алгоритмах планирования:



  1. FCFS может вызвать длительное время ожидания, особенно когда первое задание занимает слишком много процессорного времени.
  2. Как SJF, так и алгоритм определения кратчайшего оставшегося времени могут вызвать голодание. Рассмотрим ситуацию, когда длинный процесс находится в очереди готовности, а более короткие процессы продолжают поступать.
  3. Если квант времени для планирования циклического перебора очень велик, то он ведет себя так же, как планирование FCFS.
  4. SJF является оптимальным с точки зрения среднего времени ожидания для данного набора процессов, т.е. среднее время ожидания минимально при таком планировании, но проблемы в том, как узнать / спрогнозировать время следующего задания.

Операция:

  1. Рассмотрим систему, которая требует 40-временных единиц пакетного времени. Используется многоуровневое планирование очереди с обратной связью, и квант времени равен 2 единицам для верхней очереди и увеличивается на 5 единиц на каждом уровне, тогда в какой очереди процесс завершит выполнение?


  2. Что из следующего неверно о SJF?
    S1: вызывает минимальное среднее время ожидания
    S2: может вызвать голод
    (A) Только S1
    (B) Только S2
    (C) Оба S1 и S2
    (D) Ни S1, ни S2
    Ответ (D)
    S1 истинно. SJF всегда будет давать минимальное среднее время ожидания.
    S2 правда SJF может вызвать голод.


  3. Рассмотрим следующую таблицу времени поступления и времени пакета для трех процессов P0, P1 и P2. (GATE-CS-2011)
     Время прибытия процесса Время пакета
    P0 0 мс 9 мс
    P1 1 мс 4 мс
    P2 2 мс 9 мс 

    Используется упреждающий алгоритм планирования первого кратчайшего задания. Планирование осуществляется только при поступлении или завершении процессов.Каково среднее время ожидания для трех процессов?
    (A) 5,0 мс
    (B) 4,33 мс
    (C) 6,33
    (D) 7,33
    Решение:
    Ответ: — (A) Процессор P0
    назначается процессору в 0 мс, так как в готовом состоянии нет другого процесса очередь. P0 вытесняется через 1 мс, поскольку P1 достигает 1 мс, а время пакета для P1 меньше оставшегося времени P0. P1 работает 4 мс. P2 достиг 2 мс, но P1 продолжился, поскольку время пакета P2 больше, чем P1. После завершения P1, P0 планируется снова, так как оставшееся время для P0 меньше, чем время пакета P2.
    P0 ожидает 4 мс, P1 ожидает 0 мс, а P2 ожидает 11 мс. Таким образом, среднее время ожидания составляет (0 + 4 + 11) / 3 = 5.


  4. Рассмотрим следующий набор процессов со временем поступления и временем загрузки ЦП в миллисекундах (GATE-CS-2004)
     Время прибытия процесса, время всплеска
        П1 0 5
        P2 1 3
        P3 2 3
        П4 4 1 

    Каково среднее время выполнения этих процессов с упреждающим алгоритмом кратчайшего оставшегося времени обработки (SRPT)?
    (А) 5. 50
    (B) 5,75
    (C) 6,00
    (D) 6,25
    Ответ (A)
    Решение:
    Ниже приводится диаграмма Ганта исполнения

    P1 P2 П4 П3 П1
    1 4 5 8 12

    Время выполнения заказа = время завершения — время прибытия
    Среднее время выполнения заказа = (12 + 3 + 6+ 1) / 4 = 5,50


  5. Операционная система использует алгоритм планирования процесса кратчайшего оставшегося времени (SRTF).Учитывайте время прибытия и время выполнения для следующих процессов:
     Время выполнения процесса Время прибытия
    П1 20 0
    P2 25 15
    П3 10 30
    П4 15 45 

    Каково общее время ожидания процесса P2?
    (A) 5
    (B) 15
    (C) 40
    (D) 55
    Ответ (B)
    В момент времени 0 P1 — единственный процесс, P1 выполняется в течение 15 единиц времени.
    В момент времени 15 приходит P2, но у P1 самое короткое оставшееся время.Итак, P1 продолжается еще 5 единиц времени.
    В момент времени 20 P2 является единственным процессом. Таким образом, он выполняется для 10 временных единиц.
    В момент времени 30 P3 является самым коротким оставшимся временным процессом. Таким образом, он выполняется в течение 10 единиц времени.
    В момент времени 40 выполняется P2, поскольку это единственный процесс. P2 работает 5 единиц времени.
    В момент времени 45 прибывает P3, но у P2 самое короткое оставшееся время. Итак, P2 продолжается еще 10 единиц времени.
    P2 завершает выполнение в момент времени 55

     Общее время ожидания для P2 = время завершения - (время прибытия + время выполнения)
                              = 55 - (15 + 25)
                              = 15 

Дополнительные вопросы см. В викторине по планированию ЦП.

Ссылки:
http://www.cs.uic.edu/~jbell/CourseNotes/OperatingSystems/5_CPU_Scheduling.html

http://codex.cs.yale.edu/avi/os-book/OS8/os8c/slide-dir/PDF-dir/ch5.pdf

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше

Вниманию читателя! Не переставай учиться сейчас. Получите все важные концепции теории CS для собеседований SDE с помощью курса CS Theory Course по приемлемой для студентов цене и будьте готовы к работе в отрасли.

Long, Medium, Short Term Scheduler

  • Home
  • Testing

      • Back
      • Agile Testing
      • BugZilla
      • Cucumber
      • Database Testing
      • ETL Testing
      • ETL Testing Назад
      • JUnit
      • LoadRunner
      • Ручное тестирование
      • Мобильное тестирование
      • Mantis
      • Почтальон
      • QTP
      • Назад
      • Центр качества SAP (ALMium)
      • Управление тестированием
      • TestLink
  • SAP

      • Назад
      • ABAP
      • APO
      • Начинающий
      • Basis
      • BODS
      • BI
      • BPC
      • CO
      • Назад
      • CRM
      • Crystal Reports
      • FICO 9013 9013 HRM 9013 HAN
      • Назад
      • PI / PO
      • PP
      • SD
      • SAPUI5
      • Безопасность
      • Менеджер решений
      • Successfactors
      • SAP Tutorials
    • 9028 9028 Webache
    • угловойJS
    • ASP.Net
    • C
    • C #
    • C ++
    • CodeIgniter
    • СУБД
    • JavaScript
    • Назад
    • Java
    • JSP
    • Kotlin
    • Linux
    • Kotlin
    • MYSQL
    • Linux 90D js
    • Perl
    • Назад
    • PHP
    • PL / SQL
    • PostgreSQL
    • Python
    • ReactJS
    • Ruby & Rails
    • Scala
    • SQL
    • SQL Server SQL Back
    • SQL
    • SQL Server
    • UML
    • VB.Net
    • VBScript
    • Веб-службы
    • WPF
  • Обязательно учите!

      • Назад
      • Бухгалтерский учет
      • Алгоритмы
      • Android
      • Блокчейн
      • Бизнес-аналитик
      • Веб-сайт сборки
      • Облачные вычисления
      • COBOL
      • Компилятор
      • Дизайн Встроенные системы Встроенные системы
      • Учебные пособия по Excel
      • Программирование на Go
      • IoT
      • ITIL
      • Jenkins
      • MIS
      • Сеть
      • Операционная система
      • Назад
      • Управление проектами Управление проектами Salesforce
  • Планирование процессов и операции в операционной системе

    Действие определения того, какой процесс находится в состоянии готовности и который должен быть перемещен в состояние выполнения , известен как планирование процессов .

    Основная цель системы планирования процессов — постоянно поддерживать загруженность ЦП и обеспечивать минимальное время отклика для всех программ. Для этого планировщик должен применять соответствующие правила для обмена процессами IN и OUT CPU.

    Планирование попадает в одну из двух общих категорий:

    • Непредвиденное планирование: Когда текущий выполняющийся процесс добровольно отказывается от ЦП.
    • Упреждающее планирование: Когда операционная система решает отдать предпочтение другому процессу, упреждая выполнение текущего процесса.

    Что такое очереди планирования?

    • Все процессы при входе в систему сохраняются в очереди заданий .
    • Процессы в состоянии Готов помещаются в очередь готовности .
    • Процессы, ожидающие доступности устройства, помещаются в Очереди устройств . Для каждого устройства ввода-вывода доступны уникальные очереди устройств.

    Новый процесс изначально помещается в очередь Готов .Он ждет в очереди готовности, пока не будет выбран для выполнения (или отправлен). Как только процесс назначен ЦП и выполняется, может произойти одно из следующих событий:

    • Процесс может выдать запрос ввода-вывода и затем быть помещен в очередь ввода-вывода .
    • Процесс может создать новый подпроцесс и ждать его завершения.
    • Процесс может быть принудительно удален из ЦП в результате прерывания и снова помещен в очередь готовности.

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


    Типы планировщиков

    Доступны три типа планировщиков:

    1. Долгосрочный планировщик
    2. Краткосрочный планировщик
    3. Среднесрочный планировщик

    Давайте подробно обсудим все типы планировщиков:

    Операционная система Управление процессами

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

    Чем более интегрирована или сложна операционная система, тем больше от нее ожидается делать от имени своих пользователей. Несмотря на то, что его основной задачей является выполнение пользовательских программ, он также требует заботы о различных системных задачах, которые лучше оставить за пределами самого ядра.Таким образом, система должна состоять из набора процессов: процессов операционной системы, выполняющих различный системный код, и пользовательских процессов, которые будут выполнять пользовательский код. В этой главе вы узнаете о процессах, которые используются и управляются операционной системой.

    Каковы процессы?

    Процесс — это, в основном, выполняемая программа, в которой выполнение процесса должно выполняться в последовательном порядке или на основе некоторого приоритета или алгоритмов. Другими словами, это объект, который представляет основную работу, которая была назначена системе.

    Когда программа загружается в память, это называется процессом. Эту обработку можно разделить на четыре части. Это:

    Концепция процесса

    При обсуждении операционных систем возникает вопрос, который включает в себя, когда вызывать все действия ЦП. Даже в однопользовательской операционной системе, такой как Microsoft Windows, пользователь может одновременно запускать несколько программ, например, процессор MS Word, различные веб-обозреватели и программу обмена сообщениями электронной почты.Даже когда пользователь может выполнять только одну программу за раз, операционной системе может потребоваться поддерживать свои внутренние запрограммированные действия, такие как управление памятью. В этом отношении все такие действия похожи, поэтому мы называем их «процессами».

    Еще один термин — «задание» и «процесс» используются, примерно заменяя друг друга. Большая часть теории и терминологии операционных систем была разработана в то время, когда основным действием операционных систем была обработка заданий; так постепенно термин «работа» стал известен.Было бы непросто избегать использования общепринятых терминов, которые включают слово «работа», например «планирование работы».

    Состояние процесса в операционной системе

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

    • Новый : В этом состоянии процесс создается.
    • Выполняется : В этом состоянии выполняются инструкции.
    • Ожидание : В этом состоянии процесс ожидает другого события, такого как завершение ввода-вывода или обработка сигнала.
    • Готов : В этом состоянии процесс ожидает назначения процессора.
    • Завершено : В этом состоянии процесс завершен.

    Этапы планирования цепочки поставок | Джабил

    Перейти к основному содержанию
    • Отрасли Отрасли, которые мы обслуживаем
      • Техника
      • Автомобильная промышленность
      • Основное оборудование
      • Вычислительная техника и хранение
      • Облако
      • Оборона и авиакосмическая промышленность
      • Энергетика, промышленность и строительство
      • Здравоохранение
      • Сети
      • Упакованные товары
      • Фотоника
      • Печать
      • Решения для розничной торговли
      • Умный дом
      • Телекоммуникации
      • Транспорт и тяжелое оборудование
    • Возможности

      Технологии

      • Акустика
      • Производство добавок
      • Клеи
      • Экологические технологии
      • Флюидика
      • Человеко-машинный интерфейс
      • Автоматизация производства
      • Оптика
      • Точная механика
      • Печатная электроника
      • 3D компьютерная томография

      Дисциплины

      • Расширенная сборка
      • Режущие инструменты
      • Материаловедение
      • Прецизионная автоматизация
      • Программные услуги
      • Цепочка поставок

      Тенденции

      • Автономные системы
      • Подключенные решения
      • Миниатюризация
      • Мобильность
      • Беспроводное подключение
    • Блог
    • Карьера
    • Около О нас
      • Примеры использования клиентов
      • Исполнительное руководство
      • отдел новостей
      • Кодекс Джабила
      Культура
      • В обществе
      • Мы Jabil
      Устойчивость
      • люди
      • Продукт
      • Планета
      Связаться с нами
      • Blue Sky Innovation
      • Локации
      • Jabil COVID-19 Обновление
    • Инвесторам

      Финансовая информация

      • Главная страница инвестора
      • Квартальные результаты
      • Годовые результаты
      • Документы SEC

      Новости и события

      • Пресс-релизы
      • События и презентации

      Корпоративное управление

      • Документы управления
      • Совет директоров и исполнительные директора
      • Комитеты Совета
      • Экологическая политика

      Информация о запасах

      • Цитата и диаграмма
      • Исторический поиск акций
      • Охват аналитиков
      • Калькулятор инвестиций

      Ресурсы для инвесторов

      • Связаться с нами
      • Часто задаваемые вопросы для инвесторов
      • Запрос информации
      • Оповещения по электронной почте
    • английский
    • Español
    • 中文
    • английский
    • Español
    • 中文
    Jabil COVID-19 Обновление
    • JBL 44.46 -0,45
    Jabil COVID-19 Обновление
    • Отрасли Отрасли, которые мы обслуживаем

    Планирование производственного процесса | Арас

    Управляйте жизненным циклом

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

    Узнать больше

    Эластичная платформа

    Создавайте цифровые промышленные приложения с помощью нашей открытой технологии с низким уровнем кода. Разработайте любое решение для проектирования, производства и обслуживания сложных продуктов.

    Повышение устойчивости

    Подключить все

    Получите полное, развивающееся определение продукта и позвольте командам в масштабе всего предприятия отслеживать цифровую историю продукта и все связанные с ним цифровые активы.

    Исследуйте

    Разработка продукции

    Поддерживает детали, многоуровневую ведомость материалов, управление стандартной конфигурацией CMII и управление изменениями, списки утвержденных поставщиков и производителей и документы.

    Узнать больше

    Согласование вашей спецификации

    Управляйте производственными данными и процессами. Создание графических и параллельных планов процессов, разработка MBOM и рабочих инструкций, а также согласование EBOM / MBOM в реальном времени.

    Узнать больше

    Спецификация

    Управляйте своей спецификацией материалов на протяжении всего жизненного цикла.

    Узнать больше

    Возможность обновления

    Aras выполняет обновления платформы в рамках подписки, поэтому клиенты никогда не отстают в технологическом плане.

    Узнать больше

    Автомобильная промышленность

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

    Узнать больше

    Промышленное производство

    Постоянно создавайте инновационные интеллектуальные продукты с подключением к сети, чтобы использовать новые возможности и опережать конкурентов по мере изменения рынков.

    Узнать больше
    .

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *