
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
Вам ответят команда поддержки Хекслета или другие студенты
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
Наши выпускники работают в компаниях:
Зарегистрируйтесь или войдите в свой аккаунт
Курс «Операционные системы»
↳ Урок «Представление и обработка процессов — структуры данных и очереди»
Добрый день! И всё таки, возвращаясь к вопросу "ОС это процесс?". Если процессор в каждый момент времени занят только одной инструкцией, например из пользовательского процесса. Как ОС защищает сама себя от прерывания? По содержимому ролика создается впечатление, что одного только kernel режима для этого не достаточно
Получается, что в момент, когда ОС передает в цпу некий процесс для выполнения, выполнение её самой должно прерваться на неопределенный срок. Как процессор понимает, что после выполнения переданного ОС пользовательского процесса ему нужно вернуться к выполнению самой ОС?
Отсюда второй вопрос. Если передать процессору бессмысленную, например зацикленную инструкцию, как он поймет, что эту дичь надо прервать и вернуться к выполнению самой ОС?
Извините, в голове пока каша.
Добрый день! Посмотрите вот эту статью https://habr.com/ru/articles/188002/
Курс «Операционные системы»
↳ Урок «Представление и обработка процессов — структуры данных и очереди»
немного трудно воспринимать так информацию,будет легче и понятнее если добавите письменную статью,но в любом случае уроки полезные. Спасибо за ваш труд
Спасибо за отзыв и предложение! Над контентом ведётся непрерывная работа. Возможно в будущем мы сделаем текстовую версию и этого курса.
Курс «Операционные системы»
↳ Урок «Представление и обработка процессов — структуры данных и очереди»
Не согласен с утверждением, что виртуальная память обеспечивает защиту процессов друг от друга. Насколько я знаю, за это отвечает сегментная модель памяти. Каждому процессу достается отдельный сегмент памяти. Виртуальная память вообще при этом может не использоваться.
Лучше всего читать соответствующие книги по этой теме, у нас есть немного в рекомендациях: https://ru.hexlet.io/pages/recommended-books
Курс «Операционные системы»
↳ Урок «Представление и обработка процессов — структуры данных и очереди»
Добрый день,
Правильно ли я понимаю, что основная память - это операционная память, а вторичная - это жесткий диск?
Спасибо) Подкаст кстати отличный, уже случашю, но начал с первых выпусков. Круто, что вы позволяете со всех сторон окружить себя изучением программирования: книги, подкасты, видео, практика.
Курс «Операционные системы»
↳ Урок «Представление и обработка процессов — структуры данных и очереди»
Если процессор в один момент времени может выполнять только один процесс, то как я печатаю текст во время просмотра видео? Ведь видео не прерывается.
Благодарю.
Курс «Операционные системы»
↳ Урок «Представление и обработка процессов — структуры данных и очереди»
Может быть, забегаю вперед, но как в однопроцессорных системах происходит управление процессами? По таймеру? Ведь если процессор выполняет набор инструкций процесса, то остановить его может только прерывание. Или в ОС в каждом типе прерываний есть логика управления процессами?
Грубо говоря, ОС никогда не отдает полный контроль другой программе, и возможности (или доступ к ресурсам) разных программ ограничен их уровнем привилегий.
Такой механизм контроля ОС называется "защищенным режимом".
Курс «Операционные системы»
↳ Урок «Представление и обработка процессов — структуры данных и очереди»
Не понял, почему процессу обязателен доступ к памяти, я нажал на вариант, что доступ возможен, но не обязателен, почему я не прав? Спасибо
Ну да логично, спасибо!
Курс «Операционные системы»
↳ Урок «Представление и обработка процессов — структуры данных и очереди»
Мне понравилось. Смотреть не очень легко из-за того, что в короткий промежуток времени втиснуто много информации, но зато узнал много нового.
Курс «Операционные системы»
↳ Урок «Представление и обработка процессов — структуры данных и очереди»
Возможен ли переход из состояния "Запущен" сразу в состояние "Заблокирован/Приостановлен"? Или suspending происходит по причине необходимости освобождения памяти лишь от долгих заблокированных процессов?
В целом, да, в зависимости от архитектуры ОС теоретически любой переход возможен. Но схема с разделением, где переход в "Заблокирован/Приостановлен" возможен только из "Заблокирован" имеет больше смысла с точки зрения разделения памяти. Вот здесь на схеме это лучше видно → https://en.wikipedia.org/wiki/Process_state
Курс «Операционные системы»
↳ Урок «Представление и обработка процессов — структуры данных и очереди»
Всем не угодишь. Если вы это знали, или вам не интересно не смотрите. А засыпаете скорее всего из за отсутствия интереса и нежелания включать мозг. Материал не идеален но кто может сделать лучше не скучно и монотонно, сделайте посмотрим. Смотрел слайд про состояния процессов и возникла идея. Что если визуализировать состояния для лучшего понимания. Например есть некая пользовательская программа. Запускается процесс по инициативе пользователя и все его действия отображаются на этой схеме
Ну, например, Виктор Ашик в яндексовской лекции Архитектура ЭВМ старается включить некоторый интерактив и даже раздаёт "печеньки". Хотя он, конечно, общается с подготовленной публикой, которой можно задавать вопросы. К слову, алгоритм "задал вопрос - сам на него ответил" тоже позволяет заставлять включаться мозг слушателя и "втягивать" его в процесс обучения и осознания того, о чём рассказывает лектор.