- •Архитектура эвм
- •Функциональная схема компьютера, организованного на Intel-совместимом процессоре. Система прерываний.
- •Операционные системы.
- •Структура операционной системы. Понятия ядра, пользовательского пространства, системных вызовов.
- •Общие принципы построения сетей. Сетевые технологии. Топологии кс.
- •Технологии программирования.
- •Дисциплины: «Базы данных», «Корпоративные информационные системы», «Проектирование информационных систем»
- •1. Трехуровневая система организации базы данных.
- •10. Моделирование данных. Характеристика стандарта idef1x
- •11. Функциональное моделирование. Стандарты idef0, idef3
- •Языки программирования веб-приложений (JavaScript, php, Python, c# и др.) и принципы их использования.
- •Защита информации.
- •Информация как ценность; Информационные угрозы (угрозы конфиденциальности, целостности, доступности); классификация угроз, ущерб, уровень риска, стратегии управления рисками.
Операционные системы.
Структура операционной системы. Понятия ядра, пользовательского пространства, системных вызовов.
Операционная система – комплекс программ, предоставляющий пользователю удобную среду для работы с компьютерным оборудованием.
Операционная система позволяет запускать пользовательские программы; управляет всеми ресурсами компьютерной системы – процессором (процессорами), оперативной памятью, устройствами ввода вывода; обеспечивает долговременное хранение данных в виде файлов на устройствах внешней памяти; предоставляет доступ к компьютерным сетям.
На практике в разных системах применяется несколько типов моделей.
Монолитные системы.
В общем случае организация системы представляет собой простейшую структуру, когда компоненты операционной системы являются не самостоятельными модулями, а составными частями одной программы.
Операционная система написана в виде набора процедур. При использовании такой техники каждая процедура системы имеет строго определенный интерфейс и возможность вызвать любую другую процедуру для выполнения поставленной задачи. Все процедуры работают в привилегированном режиме. Таким образом, монолитная система – это схема операционной системы, при которой все ее компоненты являются составными частями одной программы, используют общие структуры данных и взаимодействуют друг с другом путем непосредственного вызова процедур.
Многоуровневые системы.
Обобщением предыдущего подхода является организация ОС как иерархии уровней.
Уровни образуются группами функций операционной системы - файловая система, управление процессами и устройствами и т.п. Каждый уровень может взаимодействовать только со своим непосредственным соседом - выше- или нижележащим уровнем. Прикладные программы или модули самой операционной системы передают запросы вверх и вниз по этим уровням.
Виртуальные машины.
Разделение реальной машины на несколько виртуальных с предоставлением каждому пользователю своей машины.
Сердце системы – монитор виртуальной машины работает с оборудованием и обеспечивает многозадачность, предоставляя верхнему слою не одну, а несколько виртуальных машин. В отличие от других операционных систем, эти виртуальные машины не являются расширенными, так как они не поддерживают файлы и прочие удобства, а представляют собой точные копии аппаратуры, включая режимы ядра и пользователя, ввод-вывод данных, прерывания и пр., присутствующей на реальном компьютере. Поскольку каждая виртуальная машина идентична настоящему оборудованию, на каждой из них может работать любая операционная система, которая запускается прямо на аппаратуре.
Экзоядро.
Вариант виртуальной машины. В этой системе реализован принцип обеспечения каждого пользователя абсолютной копией реального компьютера, но с подмножеством ресурсов. Например, одна виртуальная машина может получить блоки на диске с номерами от 0 до 1023, следующая – от 1024 до 2047 и т. д. На нижнем уровне в режиме ядра работает программа – экзоядро (exokernel), в задачу которой входит распределение ресурсов для виртуальных машин и проверка их использования (отслеживание попыток машин использовать чужой ресурс).
Таким образом, создание для каждого пользователя своей машины происходит путем физического разделения реальной машины.
Модель клиент-сервер.
На машине пользователя работает так называемое «микроядро», обеспечивающее минимальный набор функций, необходимый для общения с серверным процессом (в основном функции ввода-вывода).
Остальные задачи выполняет серверный процесс в режиме разделения времени.
Понятия ядра, пользовательского пространства, системных вызовов.
Ядро – центральная часть операционной системы, обеспечивающая приложениям координированный доступ к ресурсам компьютера, таким как процессорное время, память, внешнее аппаратное обеспечение, внешнее устройство ввода и вывода информации. Также обычно ядро предоставляет сервисы файловой системы и сетевых протоколов.
В обычной современной операционной системе адресное пространство виртуальной памяти обычно разделяется на пространство ядра и пространство пользователя. Пространство ядра резервируется для работы ядра, расширений ядра, и некоторых драйверов устройств. В отличие от пространства ядра, пространство пользователя является областью памяти, в которой функционируют все приложения пользователя; при необходимости эта память может быть увеличена за счёт подкачки.
Каждый процесс в пространстве пользователя обычно выполняется в собственной области виртуальной памяти, и при отсутствии явной необходимости, не может получить доступа к памяти, используемой другими процессами. Такой подход является базисным для обеспечения защиты памяти большинства современных операционных систем, и своего рода «фундаментом» для обеспечения права доступа.
Системные вызовы – механизм, позволяющий пользовательским программам обращаться к услугам ядра ОС, то есть это интерфейс между операционной системой и пользовательской программой. Концептуально системный вызов похож на обычный вызов подпрограммы. Основное отличие состоит в том, что при системном вызове выполнение программы осуществляется в привилегированном режиме или режиме ядра. Поэтому системные вызовы иногда еще называют программными прерываниями, в отличие от аппаратных прерываний, которые чаще называют просто прерываниями. В большинстве операционных систем системный вызов является результатом выполнения команды программного прерывания (INT). Таким образом, системный вызов - это синхронное событие.
Примеры системных вызовов:
Сети.
