- •Предварительные вопросы к экзамену по дисциплине «Программирование под операционными системами Windows/Linux»
- •Базовые функциональные возможности:
- •Что собой представляет общая система типов (cts):
- •Пример:
- •Важное замечание:
- •Конструкции для выполнения итераций:
- •Формат метода:
- •Типы значения и ссылочные типы
- •Пример:
- •Файловый ввод-вывод
- •Класс Stream:
- •Работа с потоками
- •Получение статистики о текущем потоке (вывод):
- •Главная функция, главная служебная функция и обработчики:
- •Классы для служб Windows:
- •Утилита installutil:
- •Описание архитектуры Linux Операционная система – это то, что превращает ваше аппаратное обеспечение в пригодный для использования компьютер.
- •Журналируемые файловые системы
- •Процессы
Описание архитектуры Linux Операционная система – это то, что превращает ваше аппаратное обеспечение в пригодный для использования компьютер.
В Linux имеется пространство ядра и пользовательское пространство как две отдельные части операционной системы.
Файловая
система
(сокращенно ФС) представляет собой
способ организации расположения данных
на любом носителе информации (раздел
на жестком диске, CD, flash накопитель
и т. д.).
Распространенные ФС для Linux: ext2, ext3, ext4, ReiserFS
Журналируемые файловые системы
В процессе записи нужно совершить два действия:
Записать информацию непосредственно на диск.
Сделать пометку в файловой системе, что файл существует.
Структура каталогов
/mnt
/ - корневой каталог
/bin /boot/dev/etc/home/lib/media/proc/root
/sbin /tmp/usr/var
Типы файлов
Обычные файлы
Директории
Блочные устройства
Символьные устройства
Ссылки
Именованные каналы
Сокеты
Пользователи и привилегии
В Linux каждый объект (файл или процесс) имеет хозяина пользователя с уникальным правом управления этим объектом.
Во всех операционных системах типа UNIX существует особый пользователь root, которого также называют суперпользователем.
Процессы
Процесс – это выполняемая программа.
Модель процессов позволяет выполнять несколько задач благодаря реализации контекста выполнения (execution context). В Linux каждый процесс работает так, как будто он единственный. Операционная система управляет контекстами, назначая им процессорное время в соответствии с определенным набором правил.
Процессы
Процесс создается из другого процесса с помощью системного вызова fork().
Новый процесс считается дочерним процессом (child), а первый считается родительским процессом (parent).
Каждый процесс имеет родителя, за исключением процесса init.
Процессы
Каждый процесс обладает уникальным идентификатором, называемым process ID (PID). PID – это неотрицательное целое число.
Существует два специальных процесса: процесс 0 и процесс 1. Процесс 0 - это процесс, отвечающий за инициализацию и запуск процесса 1, который также известен как процесс init.
Процессы могут находиться в различных состояниях
runnable
run queue
sleep
dead
defunct
zombie
Системные вызовы – это основной механизм, с помощью которого пользовательские программы общаются с ядром.
Драйверы устройств – это интерфейсы для работы ядра с жесткими дисками, памятью, звуковыми картами, сетевыми картами и другими устройствами ввода и вывода.
Переносимость и архитектурные зависимости
Ядро Linux создано таким образом, чтобы уменьшить количество аппаратно-зависимого кода. Когда требуется взаимодействие с аппаратной частью, вызываются соответствующие библиотеки, отвечающие за выполнение отдельных функций на данной архитектуре.
