Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

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

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 24.11.2024

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

2.

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

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

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

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

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

4.  Десять лет назад процессору нужно было 100 мс для формирования запроса ввода/вывода к одному диску, отработка запроса занимала также около 100 мс. Сегодня на запрос требуется 1 мс, на отработку же инструкции уходит порядка 10 мс. В однозадачной среде 9 мс, или 90% времени, составляет время ожидания. В многозадачной среде вместо ожидания отработки инструкции процессор переключается на другую задачу, генерирует новый запрос и т. д. Одновременная обработка различных инструкций многократно повышает производительность дисковой подсистемы

5.Файлы – абстрактные объекты. Одна из наиболее важных характеристик любого абстрактного механизма – способ именования объектов, которыми он управляет. Когда процесс создает файл, он дает файлу имя.

6. Основным отличием ВС от компьютеров является наличие в их структурах нескольких вычислителей (компьютеров или процессоров). Поэтому они способны выполнять параллельные вычисления

7.Ресурсом является любой объект, который может распределяться внутри системы. Ресурсы могут быть разделяемыми, а могут быть и неделимыми. В первых системах программирования под понятием «ресурсы» понимали: процессорное время, память, каналы ввода/вывода и периферийные устройства. 

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

Конкурентный  доступ (AccessDataMode_CONCURRENT)  позволяет выполнять конкурентные модификации.

1) Работает на жестком срезе.

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

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

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

В большинстве случаев, задача выполняется в потоке (thread). Но также это могут быть процессы (process) или волокна (fiber). Разделение очень условное, но использование правильной адстракции является ключем к успеху. (+-)(не до конца)

10.Появление системы разделения времени. Вычислительные мощности ЭВМ распределялись между несколькими пользователями, каждый из которых получал свой «кусочек» машинного времени.

Первой ласточкой новой технологии стала операционная система CTSS, разработанная в Массачусетском технологическом институте . В качестве центрального компьютера использовалась мощная ЭВМ IBM 7094, к которой с помощью коммуникационного контроллера было подключено 30 рабочих терминалов.

Операционная система CTSS быстро доказала свою практичность и, несмотря на критику (в основном со стороны недовольных студентов, которым теперь приходилось делиться вычислительными мощностями), в 1964 году MIT совместно с исследовательскими лабораториями Bell Labs и корпорацией General Electric приступил к разработке «компьютерного предприятия общественного пользования». Предполагалось создать суперкомпьютер, способный предоставлять вычислительные мощности сотням пользователей в режиме разделения времени. Ядром амбициозного проекта должна была стать операционная система MULTICS.

11.Разработчики MULTICS намеревались сделать компьютер более доступным для рядового пользователя. 

2) Еще одной проблемой MULTICS была  высокая сложность системы. была написана на языке PL/I 

12.Язык C тесно связан с ОС UNIX, так как первоначально был разработан именно для реализации ядра операционной системы, он очень удобен для программирования задач, использующих системные вызовы операционной системы,  язык C может успешно применяться и для реализации программ, не требующих такого непосредственного взаимодействия с операционной системой. Характеристики языка C:

-Набор типов данных: символьный, целый, длинный целый, вещественный, и вещественный двойной точности.

-Наличие низкоуровневых возможностей 

-Возможность определения производных типов данных, таких как массивы, функции, указатели, структуры и объединения.

-Наличие многомерных массивов.

-Побитные операции.

-Множество управляющих конструкций: if, if-else, switch, while, do-while и for.

KolibriOS — ОС написанная на ассемблере; OS Multix на PL/1;ОС компании Oracle написаны на java; JavaOS по большому счету написанная на java.

13. API— набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах. 

Системные вызовы (system calls) – это интерфейс между операционной системой и пользовательской программой. Они создают, удаляют и используют различные объекты, главные из которых – процессы и файлы.

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

ОС работает более медленно.

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

–   главная программа, вызывающая требуемую служебную процедуру;

–   набор служебных процедур, выполняющих системные вызовы;

–   набор утилит, обслуживающих служебные процедуры.

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

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

Путь к файлу, его запись и чтение четко прописаны алгоритмами.

Файл не имеет четких размеров и может занимать от одного бита, до нескольких гигабайтов.

Файл может содержать любую информацию, которую возможно записать в электронном виде.

Для работы с определенным типом файлов нужна определенная операционная система.

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

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

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

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

18. Программа, находящаяся на диске, - это файл. Программа в момент её исполнения - это процесс

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

19.Процесс (задача) – программа, находящаяся в режиме выполнения. С каждый процессом связывается его адресное пространство, которое содержит:

- саму программу;                    

- данные к программе;            

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

С каждым процессом связывается набор регистров, например:

- счетчик команд (в процессоре).

- указатель стека и другие. 

20.Планирование - это разделение вычислительных ресурсов системы между процессами и потоками.

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

21. Жесткое реальное время. Предусматривает наличие гарантированного времени отклика системы на конкретное событие, например, выдачу команды управления 

Мягкое реальное время в большинстве случаев (процентов 80 — 90) отклик уложится в заданные пределы. остальные варианты – в том числе полное отсутствие реакции системы – не должны приводить к плачевным результатам. 

22.Fortran Monitor System является ОС. Эта ОС относится ко второму поколению большим компьютерам. Большие компьютеры второго поколения использовались главным образом для научных и технических вычислений, таких как решение дифференциальных уравнений в частных производных, часто встречающихся в физике и инженерных задачах. 

23. ОС предлагает независимый слой программного обеспечения,  набор системных вызовов.

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

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

1. Он подходил к шкафу, где находилась библиотека программ, брал большую зеленую стопку перфокарт с надписью «Компилятор FORTRAN», помещал их в считывающее устройство и нажимал кнопку «Пуск».

2. Он помещал стопку карточек со своей программой, написанной на языке FORTRAN, в считывающее устройство и нажимал кнопку «Продолжить». Программа считывалась.

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

4. В конце концов трансляция завершалась.

5. Тогда программист помещал эту программу на машинном языке в устройство считывания вместе с пачкой перфокарт из библиотеки подпрограмм и загружал обе эти программы.

6. Начиналось выполнение программы. В большинстве случаев она не работала, неожиданно останавливаясь в середине.

24. Многопользовательская система. Разделение прав на доступ в различные каталоги и запуск программ и приложений. Так    же, можно быстро сменить пользователя и запускать программы с правами другого.

- Интерфейс. Внешний вид XP удобен и привлекателен. Многие программы и драйвера для дизайна своего личного Windows можно скачать в интернете(например: стили, бутскрины, плагины, логонскрины и т.д.). Возможна установка новых систем оформления. Каждый элемент стиля автономно настраивается.

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

- Защита. Ядро XP обезопасено разделением колец защиты. Ядро находится в третьем кольце, откуда можно командовать железом (ring0), а например в третьем кольце (ring3) находятся пользовательские приложения, и оттуда напрямую недоступно оборудование.

В недрах Windows XP прячутся множество программ, не позволяющих распространению и безостановочному поглощению данных троянами или другими вирусами.

- Стабильность работы. Windows XP имеет точки восстановления.

25.Симметричное мультипроцессирование (англ. Symmetric Multiprocessing, сокращённо SMP) — архитектура многопроцессорных компьютеров, в которой два или более одинаковых процессоров сравнимой производительности подключаются единообразно к общей памяти и выполняют одни и те же функции 

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

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

26.В списке стандартов POSIX более трех десятков элементов.

Потребность в стандарте такого рода была осознана еще в 1980-е годы, когда получили широкое распространение операционные системы UNIX

-содействовать облегчению переноса кода прикладных программ на иные платформы;

-способствовать определению и унификации интерфейсов заранее при проектировании, а не в процессе их реализации;

-сохранять по возможности и учитывать все главные, созданные ранее и используемые прикладные программы;

-определять необходимый минимум интерфейсов прикладных программ, для ускорения создания, одобрения и утверждения документов;

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

-рекомендовать ограничение использования бинарного (объектного) кода для приложений в простых системах.

27.Модель рабочего набора состоит в том, что процесс может быть в ОЗУ тогда и только тогда, когда все страницы, которые используются в настоящее время (часто аппроксимируются наиболее часто используемые страницы) могут быть в ОЗУ. Это модель «всё или ничего». 

Часто сильно загруженные компьютеры имеют столько процессов в очереди, что если позволить им запуститься в одно и тоже запланированное время, они будут ссылаться на количество памяти большее чем есть в ОЗУ, вследствие чего компьютер зависнет. Выгружая некоторые процессы из памяти – даже те процессы которые временно удалены из памяти - работа завершается гораздо раньше, чем если бы компьютер попытался запустить все процессы одновременно.

28. Эта технология имеет аппаратную поддержку на всех современных бытовых процессорах. В то же время во встраиваемых системах и в системах специального назначения, где требуется либо очень быстрая работа, либо есть ограничения на длительность отклика (системы реального времени) виртуальная память используется относительно редко. Также в таких системах реже встречается многозадачность и сложные иерархии памяти. 

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

 

Multics поддерживала весьма агрессивную переконфигурацию всей системы «на ходу», позволяя подключать, отключать и настраивать центральные процессоры, блоки памяти, жёсткие диски и другие устройства, не останавливая при этом всю систему

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

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

30.Оболочка ОС(shell) – это Комплекс программ, ориентированных на определенную операционную систему и предназначенный для облегчения диалога между пользователем и компьютером.

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

Функции:

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

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

Оболочка представляет собой операционную среду, язык программирования и средство решения как системных, так и некоторых прикладных задач, 

31.Файловая система - это часть операционной системы, интерфейс при работе с данными, хранящимися на диске, и обеспечить совместное использование файлов несколькими пользователями и процессами.

Основные функции файловой системы:

- Хранение информации.

- Распределение внешней памяти между файлами.

- Обеспечение прав доступа к данным.

- Обеспечение защиты данных.

- Создание однородной среды для разных носителей информации.

- Обеспечение высокой производительности.

32. Микроядро – стержневая часть ОС, которая является основой для модульных и переносимых расширений. В него входят функции управления прерываниями, управление виртуальной памятью, управление задачами и потоками и организация межпроцессорного взаимодействия. Другие функции ОС реализуются как системные сервисы или как приложения микроядра.

33. Особенность монолитных ОС состоит в том, что очень трудно удалить один из уровней модульной структуры, поэтому добавление новых функций требует хорошего знания ОС и достаточно больших усилий. Удаление модуля приводит к «краху» системы.

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

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

Режим ядра - привилегированный режим. Те части NT, которые исполняются в режиме ядра, такие как драйверы устройств и подсистемы типа Диспетчера Виртуальной Памяти, имеют прямой доступ ко всей аппаратуре и памяти.

Большинство архитектур процессоров обеспечивают, по крайней мере, два аппаратных уровня привилегий. Уровень привилегий накладывает три типа ограничений: 1) возможность выполнения привилегированных команд, 2) запрет обращения к данным с более высоким уровнем привилегий, 3) запрет передачи управления коду с уровнем привилегий, не равным уровню привилегий вызывающего кода.

36.Контроллер прерываний (англ. Programmable Interrupt Controller, PIC) — микросхема или встроенный блок процессора. Контроллер прерываний предназначен для обработки и арбитража поступающих запросов на обслуживание к центральному процессору от переферийных устройств.

37. Концепция виртуальной памяти

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

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

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

38.Формирование линейного адреса без участия селекторов.

В режиме реального адреса и в режиме системного управления используется упрощенная схема формирования линейного адреса. Эта же схема используется для вычисления адресов задачи защищенного режима, находящейся в состоянии эмуляции 8086 (Virtual 8086 Mode). В этом случае базовый адрес сегмента берется из сегментного регистра. Значение в сегментном регистре представляет собой биты 4-19 базового адреса сегмента. Из этого следует, что сегменты в этих режимах выравнены по 16-байтной границе и все сегменты начинаются в пределах нижнего мегабайта линейного адресного пространства. Предел для всех сегментов одинаков. В режиме реального адреса и для задачи в состоянии VM86 предел сегмента - 64Кбайт, а в режиме системного управления - 4Гбайт.

 

39. Трансляция осуществляется аппаратно, на основании информации из таблицы страниц. А ответственность за её формирование и изменение берет на себя операционная система. ОС вынуждена держать отдельную таблицу для каждого процесса. Аппаратура узнает о расположении необходимой таблицы в памяти по значению регистра CR3, которое выставляет ОС при переключении контекста. На самом деле таблица страниц представляет из себя чуть более сложную структуру, чем просто таблицу.

40. Алгоритм планирования FCFS

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

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

41.

42. Планирование с очередями приоритетов

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

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

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

43. CPU burst - промежуток времени непрерывного использования процессора

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

Время ожидания.Под временем ожидания понимается суммарное время нахождения процесса в очереди готовых процессов.

45.Основные события, приводящие к созданию процесса:

○ Инициализация системы

○ Выполнение изданного работающим процессом системного запроса на создание процесса

○ Запрос пользователя на создание нового процесса

○ Инициирование пакетного задания

46. В многозадачной (многопроцессной) системе процесс может находиться в одном из трех основных состояний:

ВЫПОЛНЕНИЕ - активное состояние процесса, во время которого

процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;

ОЖИДАНИЕ - пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса;

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

Возможные переходы между состояниями:

1. Процесс блокируется, ожидая входных данных.

2. Планировщик выбирает другой процесс.

3. Планировщик выбирает этот процесс.

4. Поступили входные данные.

47. Поток (thread) определяет последовательность исполнения кода в процессе.

Процесс ничего не исполняет, он просто служит контейнером потоков.

Потоки всегда создаются в контексте какого-либо процесса, и вся их жизнь проходит только в его границах.

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

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

48.Стек ядра, в котором хранятся записи процедур ядра, если процесс выполняется в режиме ядра. Несмотря на то, что все процессы пользуются одними и теми же программами ядра, каждый из них имеет свою собственную копию стека ядра для хранения индивидуальных обращений к функциям ядра. Пусть, например, один процесс вызывает функцию creat и приостанавливается в ожидании назначения нового индекса, а другой процесс вызывает функцию read и приостанавливается в ожидании завершения передачи данных с диска в память. Оба процесса обращаются к функциям ядра и у каждого из них имеется в наличии отдельный стек, в котором хранится последовательность выполненных обращений. Ядро должно иметь возможность восстанавливать содержимое стека ядра и положение указателя вершины стека для того, чтобы возобновлять выполнение процесса в режиме ядра. В различных системах стек ядра часто располагается в пространстве процесса, однако этот стек является логически-независимым и, таким образом, может помещаться в самостоятельной области памяти. Когда процесс выполняется в режиме задачи, соответствующий ему стек ядра пуст.

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

Обычно в операционной системе требование выполнения ее подпрограммы называется системным вызовом.

49.

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

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

51.Примитивы взаимоисключения

◦ Семафоры

◦ Мьютексы

◦ Критические секции

◦ Фьютексы

◦ Спинлоки

◦ Мониторы

◦ Условные переменные

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

01 int gNumThreads;

02 CRITICAL_SECTION gCs;

03  

04 int main ()

05 {

06   int spinCount = 0;

07   ...

08   spinCount = gNumThreads * 1000;

09   if (spinCount > 8000) spinCount = 8000;

10   InitializeCriticalSectionAndSpinCount (&gCs, spinCount);

11   ...

12 }

13  

14 DWORD WINAPI ThreadFunc (void *data)

15 {

16   ...

17   EnterCriticalSection (&gCs);

18   ...

19   LeaveCriticalSection (&gCs);

 

52.

53.Race condition. Ошибка программирования многозадачной системы, при которой работа системы зависит от того, в каком порядке выполняются части кода. Состояние гонки является классическим гейзенбагом. Состояние гонки возникает тогда, когда несколько потоков многопоточного приложения пытаются одновременно получить доступ к данным, причем хотя бы один поток выполняет запись. Race condition (гонка) - это состояние неопределенности порядка доступа нескольких элементов, например, процессов, к общим данным. Т.е. реализуется принцип "кто успел, тот и взял"

54.Индексный узел файла - это структура данных, в которой хранится информация о каждом файле. Каждый индексный узел описывает расположение одного файла, содержит много полей, в том числе поля с обозначением идентификаторов владельца и группы, целого числа с обозначением режима файла, времени последнего доступа и тд. 

Атрибуты файла - характеристики, наделяющие файл определенными свойствами.

Атрибуты файлов в Windows:

Только для чтения (readonly) - в файл запрещено записывать изменения.

Скрытый (hidden) - файл не отображается в проводнике. Его можно увидеть, если в параметрах папки включена настройка "Показывать скрытые файлы, папки и диски". По-умолчанию эта настройка отключена.

Системный (system) - файл необходим для работы операционной системы.

Архивный (archive) - файл не скопирован программой резервного копирования.

55.Дескриптор сегмента (в архитектуре x86) — служебная структура в памяти, которая определяет сегмент. Длина дескриптора равна 8 байт .

описывает:

Сегмент кода.   Сегмент данных.  Сегмент задачи.

G-бит гранулярности,либо байт,либо размер страницы(0 - в байтах, 1 - в страницах по 4 килобайта);

D/B- флаг, указывающий разрядность сегмента: 0 – сегмент 16-разрядный, 1 – сегмент 32 разрядный

Base - база сегмента. 32-битный линейный адрес в памяти, с которого начинается сегмент.

L - флаг, который ранее был зарезервирован, теперь служит признаком 64-разрядности сегмента

AVL - неиспользуемый бит. Может использоваться по усмотрению ОС.

P - признак присутствия сегмента в памяти

DPL - привилегии дескриптора (0 = самые высокие, 3 = самые низкие).

S - указывает, является ли дескриптор системным

type - тип сегмента

56. Пользовательские (ring3) методы: модификация IAT таблиц, сплайсинг. Их особенность в том, что невозможно что-либо изменить в поведении ядра операционной системы и его расширений.

Сплайсинг — метод перехвата API функций путем изменения кода целевой функции. Обычно изменяются первые 5 байт функции. Вместо них вставляется переход на функцию, которую определяет программист. Чтобы обеспечить корректность выполнения операции, приложение, которое перехватывает функцию, обязано дать возможность выполниться коду, который был изменен в результате сплайсинга. Для этого приложение сохраняет заменяемый участок памяти у себя, а после отработки функции перехвата восстанавливает измененный участок функции и дает полностью выполниться настоящей функции

Подмена адреса настоящей функции (модификация IAT таблиц)

57. Решение Петерсона корректно, но обладает одним существенным недостатком: наличием активного ожидания.

В сущности, реализуется следующий алгоритм:

- перед входом в критическую секцию процесс проверяет, можно ли это сделать. Если нельзя, процесс ожидает разрешения на вход в критическую секцию в бесконечном цикле.

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

Рассмотрим два процесса: Н с высоким приоритетом и L с низким приоритетом. Правила планирования в этом случае таковы, что процесс Н запускается немедленно, как только он оказывается в состоянии ожидания. В какой-то момент, когда процесс L находится в критической секции, процесс Н оказывается в состоянии ожидания (например, он

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

58. Test-and-set — простая неразрывная (атомарная) процессорная инструкция, которая копирует значение переменной в регистр, и устанавливает некое новое значение. Во время исполнения данной инструкции процессор не может прервать её выполнение и переключиться на выполнение другого потока. Если используется многопроцессорная архитектура, то, пока один процессор выполняет эту инструкцию с ячейкой памяти, другие процессоры не могут получить доступ к этой ячейке, что может достигаться путем кратковременного блокирования шины памяти.

59.Примерами синхронный прерываний явл следующие запросы на прерывания:

• при нарушении адресации (в адресной части выполняемой команды указан запрещенный или несуществующий адрес, обращение к отсутствующему сегменту или странице при организации механизмов виртуальной памяти);

• при наличии в поле кода операции незадействованной двоичной комбинации;

• при делении на ноль;

• вследствие переполнения или исчезновения порядка;

• от средств контроля (например, вследствие обнаружения ошибки четности, ошибок в работе различных устройств).

Условия, при которых происходят нарушения сегментации, и способы их проявления зависят от операционной системы.

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

int* ptr = (int*)0;

*ptr = 1;

60. Асинхронное прерывание [ asynchronous system trap ] - прерывание, возникновение которого не привязано к определенной точке программы. К таким прерываниям относятся внешние прерывания и прерывания, связанные с выполнением другого процесса.

http://home.roboticlab.eu/ru/avr/external_interrupts

61.Round-robin (циклический) — алгоритм распределения нагрузки распределённой вычислительной системы методом перебора и упорядочения её элементов по круговому циклу.Можно представить себе все множество готовых процессов организованным циклически — процессы сидят на карусели.Пока процесс находится рядом с процессором, он получает процессор в свое распоряжение и может исполняться.Применяется в балансировка нагрузки вычислительных сетей

управление задачами в системах с распределением времени.

62.

63.

64.

65.В обычных операционных системах каждому процессу соответствует адресное пространство и один управляющий поток. Фактически это и определяет процесс.

66.

67. Це́лостность ба́зы да́нных (database integrity) — соответствие имеющейся в базе данных информации её внутренней логике, структуре и всем явно заданным правилам. Каждое правило, налагающее некоторое ограничение на возможное состояние базы данных, называется ограничением целостности (integrity constraint). Примеры правил: вес детали должен быть положительным; количество знаков в телефонном номере не должно превышать 25; возраст родителей не может быть меньше возраста их биологического ребёнка и т.д.

68.

69.

70.




1. Для более быстрой фиксации текста сначала использовались глиняные и натертые воском дощечки на которых п.html
2. налоговые риски в XXI в
3. Расцвет отеля Дюморт В 1920е годы в Манхэттене Магнус Бейн веселится с элитой в одном гламурном и попу
4. западный КГлавным принципом признаком К
5. ПРАВОВАЯ ОЦЕНКА МЕЖФИРМЕННОГО ВЗАИМОДЕЙСТВИЯ Горизонтальное взаимодействие олигополистического типа Г
6. Карл Бюхер
7. Американцы словно играют в футбол
8. Узтадбиркорбанк
9. Анализ оборотных активов
10. тема и бюджетное устройство Российской Федерации 1
11. на тему-Газоваяпромышленность
12. Право международной безопасности
13. Тема- Факторы производственной среды
14. Методика використання принципів екологічного виховання ВО Сухомлинського у практиці сучасної початкової школи
15. ПО ТЕМЕ- ЛИТЕРАТУРНЫЙ ЯЗЫК И ЕГО ОСНОВНЫЕ ПРИЗНАКИ
16. Софиевка Парк Софіївка заснований у 1796 році власником міста Умані польським магнатом Станіславом
17. тематических моделей
18. Тема 1 Понятие предмет и функции управления персоналом
19. Экологическая проблематика в современной прессе Беларус
20. Тюменнефтегаз дочернее предприятие