- •Введение
- •1. Основные понятия системного программного обеспечения
- •1.1. Понятия прикладного и системного программного обеспечения
- •1.2. Состав системного программного обеспечения
- •2. Состав и архитектура операционных систем
- •2.1. Состав операционных систем
- •2.2. Архитектура ос
- •3. Управление памятью
- •3.1. Функции ос по управлению памятью
- •3.2. Классификация методов распределения памяти
- •3.3. Распределение памяти без использования внешней памяти
- •3.4. Методы структуризации виртуальной памяти
- •4. Процессы и потоки
- •4.1. Концепция процессов и потоков
- •4.2. Многозадачность. Формы программной работы
- •4.3. Подсистема управления процессами и потоками
- •4.4. Создание процессов
- •4.5. Потоки и их модели
- •5. Планирование и синхронизация процессов и потоков
- •5.1. Виды планирования
- •5.2. Алгоритмы планирования потоков
- •5.3. Алгоритмы приоритетного планирования
- •5.4. Взаимоисключения
- •5.5. Семафоры
- •5.6. Тупики
- •6. Файловые системы
- •6.1. Цели и задачи файловой системы
- •6.2. Организация файлов и доступ к ним
- •6.3. Логическая организация файла
- •6.4. Каталоговые системы
- •6.5. Основные возможности файловой системы ntfs
- •6.6. Структура тома с файловой системой ntfs
- •6.7. Возможности ntfs по ограничению доступа к файлам и каталогам
- •7. Построение операционных систем
- •7.1. Принципы построения операционных систем
- •7.2. Построение интерфейсов операционных систем
- •7.3. Интерфейс прикладного программирования
- •7.4. Классификация системных вызовов
- •7.5. Интерфейс пользователя
- •8. Семейство операционных систем unix
- •8.1. Основные понятия системы unix
- •8.2. Операционная система Linux
- •Заключение
- •Библиографический список
- •Оглавление
Введение
Одним из наиболее актуальных и важных направлений разработки программного обеспечения является создание программных приложений для управления ресурсами операционной системы. Для решения данной задачи следует знать основные принципы построения операционных систем, специфику их архитектуры, классификацию системных ресурсов и способы управления ими.
Главной целью данного пособия является изложение теоретического материала первой части учебного курса по дисциплине «Системное программное обеспечение», посвященной основам организации операционных систем и принципам управления системными ресурсами.
В первых главах рассматриваются основные понятия, связанные с системным программным обеспечением. Изложены основные принципы построения архитектуры операционных систем, состав и функции типовой операционной системы.
Далее рассматриваются следующие вопросы: организация и управление памятью; создание процессов и потоков и управление ими; особенности функционирования файловых систем; принципы построения интерфейсов современных операционных систем; классификация системных вызовов.
Заключительная глава пособия посвящена обзору операционных систем семейства UNIX.
Изложенный в пособии материал может значительно облегчить разработку программных приложений для управления системными ресурсами.
Пособие соответствует типовой программе по дисциплине «Системное программное обеспечение» и предназначено для студентов очной полной и сокращенной форм обучения.
1. Основные понятия системного программного обеспечения
1.1. Понятия прикладного и системного программного обеспечения
Программное обеспечение (ПО) - совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ.
Таким образом, ПО – это комплекс программ, обеспечивающих обработку или передачу данных и предназначенных для многократного использования и применения разными пользователями.
Программное обеспечение является одним из видов обеспечения вычислительной системы, наряду с аппаратным, математическим, информационным, лингвистическим, организационным и методическим обеспечением.
В зависимости от функционального назначения можно выделить следующие виды программного обеспечения:
– прикладное программное обеспечение;
– системное программное обеспечение.
Прикладное программное обеспечение представляет собой комплекс программ для выполнения задач пользователя в какой-либо предметной области, ориентированных на непосредственное взаимодействие с пользователем.
Системное программное обеспечение предназначено для выполнения двух категорий задач:
– эффективное управление компонентами вычислительной системы (процессор, оперативная память, носители информации, устройства ввода вывода, сетевое оборудование и т.д.);
– разработка нового программного обеспечения.
В некоторых случаях, для акцентирования роли средств, выполняющих последнюю группу задач, их выделяют в специальную категорию, называемую инструментальное программное обеспечение.