Функции операционных систем персональных компьютеров
Заказать уникальную курсовую работу- 40 40 страниц
- 26 + 26 источников
- Добавлена 19.07.2021
- Содержание
- Часть работы
- Список литературы
- Вопросы/Ответы
ВВЕДЕНИЕ 3
1 ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ ФУНКЦИОНИРОВАНИЯ ОПЕРАЦИОННЫХ СИСТЕМ 4
1.1 Основные функции операционных систем 4
1.2 Классификация ОС 7
1.3 Архитектура ОС 9
2 ФУНКЦИОНАЛЬНЫЕ ОСОБЕННОСТИ ОС UNIX 19
2.1 Особенности построения ОС UNIX 19
ЗАКЛЮЧЕНИЕ 36
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 38
Файл исчезает, когда исчезает последняя связь, что указывает на него.Защита файловЗащита файлов выполняется с помощью номера, который идентифицирует пользователя, и установления десяти бит защиты – атрибутов доступа. Права доступа делятся на три типа: чтение (read), запись (write) и выполнение (execute). Эти типы прав доступа могут быть предоставлены трем классам пользователей: владельцу файла, группе, в которую входит владелец, и всем другим пользователям. Девять из этих битов управляют защитой по чтению, записи и выполнения для владельца файла, других членов группы, в которую входит владелец, и всех других пользователей. Файл всегда связан с конкретным пользователем – своим владельцем – и с определенной группой, то есть у него уже есть известное UID (user ID, идентификатор пользователя) и GID (group ID, идентификатор группы) [24].Изменить права доступа к файлу может только его владелец, сменить владельца файла может суперпользователь, группу – суперпользователь и владелец файла.Выполняемая в системе программа всегда запускается от имени какого пользователя и некоторой группы, но связь процессов с пользователями и группами организован сложнее: здесь различают идентификатор доступа к файловой системе (FSUID – filesystemaccessuser ID, FSGID – filesystemaccessgroup ID) и эффективный идентификатор (EUID – effectiveuser ID, EGID – effectivegroup ID), а при доступе к файлу учитываются еще и полномочия (capabilities), приписанные самому процессу.При создании файла получает UID (идентификатор пользователя), что совпадает с FSUID (идентификатор доступа к файловой системе) процесса, который его создает, и как правило GID (идентификатор группы), совпадает с FSGID (идентификатор группы доступа к файловой системе).Атрибуты доступа определяют, что разрешено делать с конкретным файлом данной категории пользователей. Имеют место всего три операции: чтение, запись, выполнение.При создании файла (или еще одного имени для уже существующего файла) модифицируется не один файл, а каталог, в котором появляются новые ссылки на узлы. Уничтожение файла – это уничтожение ссылки. То есть, право на создание или уничтожение файла – это право на запись в каталог.Право на выполнение каталога интерпретируется, как право на поиск в нем (собственно, прохождение через него). Оно позволяет обратиться к файлу на пути, вмещающий данный каталог, даже тогда, когда каталог не позволено читать, а потому список всех его файлов недоступен [25].Атрибуты SUID и SGID являются существенными при запуске программы на выполнение: они требуют, чтобы программа выполнялась не от имени пользователя, запустившего программу, а от имени собственника (или группы) того файла, в которой она находится. Благодаря этому пользователи получают возможность запускать системную программу, которая создает свои рабочие файлы в закрытых для них каталогах.Кроме того, если процесс создает файл в каталоге, что имеет атрибуты SGID, то файл получает GID не по FSGID, а по GID каталога. Это удобно для коллективной работы: все файлы и подкаталоги в каталоге автоматически привязываются к одной и той же группы, хотя создавать их могут разные пользователи.И еще один атрибут CVTX, который относится к каталогам. Он показывает, с каталога, имеет атрибут, ссылки на файл может уничтожить только владелец файла.Существуют две стандартные формы записи с правами доступа: символьная и восьмеричная. Символьная – это цепь из десяти знаков. Восьмеричный запись – это шестизначное число, первые два знака которого определяют тип файла, далее атрибуты, последние три – права владельца, группы и всех остальных.Межпроцессорные коммуникацииОС Unix полностью соответствует технологии «клиент-сервер». Эта универсальная модель служит основой построения систем любой сложности, в том числе и сетевых. Для этого в ОС существуют следующие механизмы [23]:сигналы;семафоры;программные каналы;очереди сообщений;сегменты разделяемой памяти;вызовы удаленных процедур.Сигналы. Если рассматривать выполнение процесса в виртуальном компьютере, который предоставляется каждому пользователю, то в такой системе должна существовать система прерываний, отвечающий следующим требованиям [25]:обработка исключительных ситуаций;средства обработки внешних и внутренних прерываний;средства управления системой прерываний (маскировки и демаскировка).ОС способна не только принимать и обрабатывать сигналы, но и порождать их и посылать на другие машины или процессы. Сигналы могут быть синхронными, когда инициатором сигнала является сам процесс, и асинхронными, когда инициатором является пользователь с терминалом. Источником асинхронных сигналов может быть также ядро, когда оно контролирует определенные состояния аппаратуры, рассматриваются как ошибочные.Сигналы можно рассматривать как простейшую форму мижпроцеснои взаимодействия, сообщают процессы или ядро о возникновении конкретных событий.Семафоры. Семафор в ОС Unix состоит из следующих элементов [21]:значение семафора;идентификатор процесса, который хронологически последним работал с семафором;количество процессов, ожидающих увеличения значения семафора;количество процессов, ожидающих нулевого значения.Для работы с семафорами являются следующие системные вызовы:semget – для создания и получения доступаsemop – для манипуляции значениями семафоров (используется для синхронизации процессов);semctl – для выполнения различных управляющих операций над набором семафоров.Основным системным вызовом для манипуляции семафором является semop:Oldval = semop (id, oplist, count);id – ранее полученный дескриптор группы семафоров;oplist – массив описателей операций над семафорами группы;count – размер этого массива.Возвращаемым системным вызовам, является значение последнего обработанного семафора. Каждый из элементов oplist имеет следующую структуру:номер семафора в указанном наборе семафоров;операция;признаки.Если проверка прав доступа проходит нормально, и указанные в массиве oplist номера семафоров не выходят за пределы размера набора семафоров, то системный вызов выполняется следующим образом. Для каждого элемента массива oplist значение соответствующего семафора меняется в соответствии со значением поля «операция»:если значение поля положительное, то значение семафора увеличивается на единицу, а все процессы, ожидающие увеличения значения семафора, активизируются (или «просыпаются» в терминах Unix)если значение поля операции равна нулю, то, если значение семафора тоже равна нулю, избирается следующий элемент массива oplist. Если же значение семафора отлично от нуля, то ядро увеличивает на единицу количество процессов, ожидающих нулевого значения семафора, а тот процесс, который обратился, переходит в состояние ожидания ( «усипляеться» в терминологии Unix).Если значение поля операции отрицательное, и его абсолютное значение меньше или равно значению семафора, то ядро добавляет это отрицательное значение к значению семафора. Если в результате значение семафора стало нулевым, то ядро активизирует (пробуждает) все процессы, ждали нулевого значения этого семафора. Если же значение семафора меньше абсолютной величины поля операции, то ядро увеличивает на единицу количество процессов, ожидающих увеличения значения семафора и откладывает ( «усыпляет») текущий процесс до наступления этого события.Интересно, что поводом для введения массовых операций над семафорами, как объясняют разработчики Unix, было желание избегать тупиковых ситуаций.Программные каналы. Программные каналы (pipe) в ОС Unix является важным средством взаимодействия и синхронизации процессов. Теоретически программный канал позволяет взаимодействовать произвольном количестве процессов, обеспечивая дисциплину FIFO (стек). То есть процесс, читает из программного канала, прочитает древние данные, записанные в программный канал. При традиционной реализации программных каналов для сохранения данных использовались файлы. В современных версиях Unix для реализации программных каналов применяются другие средства IPC (в частности очереди сообщений) [21].Различают два вида программных каналов: именованные и неименованные. Именованные могут служить для соединения и синхронизации произвольных процессов, знают имя программного канала и имеют соответствующие права доступа.Неименованным программным каналом может пользоваться только процесс, который создал этот канал, и его потомки (не обязательно прямые).Для создания именуемого программного канала (или получения к нему доступа) используется обычный системный файловый вызов open.Для создания неименованного программного канала существует специальный системный вызов pipe. Однако после получения соответствующих дескрипторов оба вида программных каналов используются одинаково с помощью стандартных файловых системных вызовов read, write и close.Системный вызов pipe имеет следующий синтаксис:pipe (fdptr)где fdptr – указатель на массив из двух целых чисел, в которые после создания неименованного программного канала будут записаны дескрипторы, определенные для чтения из программного канала (с помощью системного вызова read) и записи в программный канал (с помощью системного вызова write). Дескрипторы неименованного программного канала – это обычные дескрипторы файлов, то есть в таком программном канале соответствуют два элемента таблицы открытых файлов процесса. Поэтому при последующем использовании системных вызовов read и write процесс не отличает случаи использования программных каналов от случая использования обычных файлов.Для создания именуемых программных каналов (или для получения доступа к уже существующим) используется обычный системный вызов open. Основным отличием от случая открытия обычного файла является то, что когда именуемый программный канал открывается для записи и ни один из процессов не открывает тот же канал для чтения, то процесс, обратился блокируется до тех пор, пока некоторое процесс не откроет некоторый программный канал для чтения. Аналогично выполняется обработка и чтения. Окончание работы процесса с программным каналом выполняется с помощью системного вызова close.Очереди сообщенийДля обеспечения возможности обмена сообщениями между процессами этот механизм поддерживается следующими системными вызовами [23]:msgget для создания новой очереди сообщений или получения дескриптора существующей очереди;msgsnd для отправки сообщения (точнее, для постановки его в указанную очередь)msgrev для получения сообщения (точнее, для выборки сообщения из очереди сообщений)msgct для выполнения ряда управляющих функций.Системный вызов msgget имеет стандартный для семейства get синтаксис:msggid = msgget (key, flag)При выполнении этого вызова ОС или создает новую очередь сообщений, помещая его в заголовок таблицы очередей сообщений и возвращая пользователю дескриптор вновь созданной очереди, или находит элемент таблицы очередей сообщений, которые имеют указанный ключ и возвращают соответствующий дескриптор очереди.Разделяемая память. Для работы с разделяемой памятью используются четыре системные вызовы:shmget – создает новый сегмент разделяемой памяти или находит существующий сегмент с тем же ключом;shmat – подключает сегмент с указанным дескриптором к виртуальной памяти процесса, обращается;shmdt – отключает от виртуальной памяти подключен к ней сегмент по указанному начальной виртуальной адресу;shmct – служит для управления различными параметрами, связанными с существующим сегментом.После того как сегмент разделяемой памяти подключен к виртуальной памяти процесса, он может обращаться к соответствующим элементам памяти с помощью обычных машинных команд чтения и записи без обращения к дополнительным системных вызовов.Вызовы удаленных процедур (RPC)Во многих случаях, взаимодействие процессов носит характер «клиент-сервер». Один из процессов спрашивает услугу и не продлевает своего выполнения до тех пор, пока не получит эту услугу. Сегментно такой режим очень похож на вызовы процедуры. Отсюда и соответствующее название. ОС Unix идеально подходит для того, чтобы быть сетевой операционной системой. Однако остается проблема разного представления данных в компьютерах с разной архитектурой. Поэтому основной идеей RPC является автоматическое обеспечение преобразования форматов данных при взаимодействии процессов, выполняемых на разных компьютерах [21].Реализация технологии удаленных процедур достаточно сложная, поскольку этот механизм должен обеспечить взаимодействие процессов, реализуемых на разных компьютерах. Если в случае обращения к процедуре в том же компьютере, процесс использует стек или общие области памяти, то при удаленном вызове передача параметров процедуры превращается в передачу запроса сетью.ЗАКЛЮЧЕНИЕВ данной курсовой работе рассматривались особенности функционирования операционных систем на примере ОС UNIX.Для достижения цели были выполнены следующие задачи:ознакомление с назначением и функциями операционных систем;изучение архитектуры операционных систем;ознакомление с функционированием операционных систем на примере ОС UNIX.Отличием Unix-подобных систем от других ОС заключается в том, что это они являются многопользовательскими многозадачными системами. В Unix могут одновременно работать сразу несколькопользователей, каждый за своим терминалом, при этом выполняя множество различных вычислительных процессов, которые используют ресурсы именно этого компьютера.ДругимотличиемUnixявляетсямультиплатформенность. Ядро системы построенотак, что его функции можно приспособить практически под любой микропроцессор.Unix имеет и другие характерные особенности:использование простых текстовых файлов для настройки и управления системой;широкое применение утилит, запускаемых из командной строки;взаимодействие с пользователем посредством виртуального устройства — терминала;представление физических и виртуальных устройств и некоторых средств межпроцессного взаимодействия в виде файлов;использование конвейеров из нескольких программ, каждая из которых выполняет одну задачу.Среди ОС для рабочих станций и домашнего применения Unix и Unix-подобные ОС занимают после MicrosoftWindows второе (macOS), третье (GNU/Linuxи многие последующие места по популярности.СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ18. СнайдерUnix. Руководство системного администратора / Снайдер и др. - М.: Киев: BHV, 2012. - 832 c.19. Стивенс, У. UNIX: разработка сетевых приложений / У. Стивенс. - М.: СПб: Питер, 2010. - 563 c.20. Торчинский, Филипп UNIX. Практическое пособие администратора / Филипп Торчинский. - Москва: СПб. [и др.] : Питер, 2011. - 400 c.Абрамович С.Н. Технология программирования: методы и средства/С.Н. Абрамович – Изд. Ростовского университета, 1992.Батаев, А.В. Операционные системы и среды: Учебник / А.В. Батаев. - М.: Академия, 2011. - 208 c.Вавренюк, А.Б. Операционные системы. Основы UNIX: Учебное пособие / А.Б. Вавренюк, О.К. Курышева, С.В. Кутепов и др. - М.: Инфра-М, 2013. - 256 c.Дейтел, Х., М. Операционные системы. Основы и принципы. Т. 1 / Х. М. Дейтел, Д.Р. Чофнес. - М.: Бином, 2016. - 1024 c.Иртегов Д. Введение в операционные системы/Д. Иртегов – СПб .: БХВ – Петербург, 2012.Иртегов, Д.В. Введение в операционные системы / Д.В. Иртегов. - СПб.: БХВ-Петербург, 2012. - 1040 c.Карасева, М.В. Операционные системы. Практикум для бакалавров / М.В. Карасева. - М.: КноРус, 2012. - 376 c.Коньков, К.А. Устройство и функционирование ОС Windows. Практикум к курсу "Операционные системы": Учебное пособие / К.А. Коньков. - М.: Бином, 2012. - 207 c.Лингер Р. Теория и практика структурного программирования/РЛингер, Х. Миллс, Б. Уитт – М .: Мир, 1982.Олифер В.Г. Сетевые операционные системы/В.Г. Олифер, Н. А. Олифер – СПб: Питер, 2011. – 544 с.Партыка, Т.Л. Операционные системы, среды и оболочки / Т.Л. Партыка, И.И. Попов. - М.: Форум, 2003. - 400 c.Робачевский Операционная система Unix / Робачевский, Андрей. - М.: СПб: БХВ, 2017. - 528 c.Рудаков, А.В. Операционные системы и среды: Учебник / А.В. Рудаков. - М.: Инфра-М, 2016. - 480 c.Синицын, С.В. Операционные системы: Учебник для студентов учреждений высш. проф. образования / С.В. Синицын, А.В. Батаев, Н.Ю. Налютин. - М.: ИЦ Академия, 2012. - 304 c.Спиридонов, Э.С. Операционные системы / Э.С. Спиридонов, М.С. Клыков, М.Д. Рукин. - М.: КД Либроком, 2015. - 350 c.Стащук, П.В. Краткое введение в операционные системы: Учебное пособие / П.В. Стащук. - М.: Флинта, МПСУ, 2008. - 128 c.Столлингс, В. Операционные системы / В. Столлингс. - М.: Вильямс, 2004. - 848 c.Таненбаум, Э. Современные операционные системы / Э. Таненбаум. - СПб.: Питер, 2013. - 1120 c.Цикридис Д. Операционные системы/Д.Цикридис, Ф. Бернстайн – М: – Мир, 1977.Чан Системное программирование на C++ для Unix / Чан, Теренс. - М.: БХВ, 2018. - 592 c.Шеховцов В. А. Операционные системы/В. А. Шеховцов – М .: Изд. гр. BHV, 2015. – 576 с.Шимонски Освой самостоятельно Unix. 10 минут на урок / Шимонски, Роберт. - М.: Вильямс, 2019. - 272 c.Якушева, Н.М. Unix. Коммуникации / Н.М. Якушева, В.А. Машурцев. - М.: Радио и связь, 2015. - 224 c.
18. Снайдер Unix. Руководство системного администратора / Снайдер и др. - М.: Киев: BHV, 2012. - 832 c.
19. Стивенс, У. UNIX: разработка сетевых приложений / У. Стивенс. - М.: СПб: Питер, 2010. - 563 c.
20. Торчинский, Филипп UNIX. Практическое пособие администратора / Филипп Торчинский. - Москва: СПб. [и др.] : Питер, 2011. - 400 c.
Абрамович С.Н. Технология программирования: методы и средства/С.Н. Абрамович – Изд. Ростовского университета, 1992.
Батаев, А.В. Операционные системы и среды: Учебник / А.В. Батаев. - М.: Академия, 2011. - 208 c.
Вавренюк, А.Б. Операционные системы. Основы UNIX: Учебное пособие / А.Б. Вавренюк, О.К. Курышева, С.В. Кутепов и др. - М.: Инфра-М, 2013. - 256 c.
Дейтел, Х., М. Операционные системы. Основы и принципы. Т. 1 / Х. М. Дейтел, Д.Р. Чофнес. - М.: Бином, 2016. - 1024 c.
Иртегов Д. Введение в операционные системы/Д. Иртегов – СПб .: БХВ – Петербург, 2012.
Иртегов, Д.В. Введение в операционные системы / Д.В. Иртегов. - СПб.: БХВ-Петербург, 2012. - 1040 c.
Карасева, М.В. Операционные системы. Практикум для бакалавров / М.В. Карасева. - М.: КноРус, 2012. - 376 c.
Коньков, К.А. Устройство и функционирование ОС Windows. Практикум к курсу "Операционные системы": Учебное пособие / К.А. Коньков. - М.: Бином, 2012. - 207 c.
Лингер Р. Теория и практика структурного программирования/Р Лингер, Х. Миллс, Б. Уитт – М .: Мир, 1982.
Олифер В.Г. Сетевые операционные системы/В.Г. Олифер, Н. А. Олифер – СПб: Питер, 2011. – 544 с.
Партыка, Т.Л. Операционные системы, среды и оболочки / Т.Л. Партыка, И.И. Попов. - М.: Форум, 2003. - 400 c.
Робачевский Операционная система Unix / Робачевский, Андрей. - М.: СПб: БХВ, 2017. - 528 c.
Рудаков, А.В. Операционные системы и среды: Учебник / А.В. Рудаков. - М.: Инфра-М, 2016. - 480 c.
Синицын, С.В. Операционные системы: Учебник для студентов учреждений высш. проф. образования / С.В. Синицын, А.В. Батаев, Н.Ю. Налютин. - М.: ИЦ Академия, 2012. - 304 c.
Спиридонов, Э.С. Операционные системы / Э.С. Спиридонов, М.С. Клыков, М.Д. Рукин. - М.: КД Либроком, 2015. - 350 c.
Стащук, П.В. Краткое введение в операционные системы: Учебное пособие / П.В. Стащук. - М.: Флинта, МПСУ, 2008. - 128 c.
Столлингс, В. Операционные системы / В. Столлингс. - М.: Вильямс, 2004. - 848 c.
Таненбаум, Э. Современные операционные системы / Э. Таненбаум. - СПб.: Питер, 2013. - 1120 c.
Цикридис Д. Операционные системы/Д.Цикридис, Ф. Бернстайн – М: – Мир, 1977.
Чан Системное программирование на C++ для Unix / Чан, Теренс. - М.: БХВ, 2018. - 592 c.
Шеховцов В. А. Операционные системы/В. А. Шеховцов – М .: Изд. гр. BHV, 2015. – 576 с.
Шимонски Освой самостоятельно Unix. 10 минут на урок / Шимонски, Роберт. - М.: Вильямс, 2019. - 272 c.
Якушева, Н.М. Unix. Коммуникации / Н.М. Якушева, В.А. Машурцев. - М.: Радио и связь, 2015. - 224 c.
Вопрос-ответ:
Какие основные функции выполняют операционные системы персональных компьютеров?
Операционные системы персональных компьютеров выполняют такие основные функции, как управление ресурсами компьютера (процессором, памятью, дисками и т.д.), обеспечение взаимодействия с пользователем (через графический интерфейс или командную строку), выполнение и управление запущенными программами и обеспечение безопасности данных и доступа к ним.
Как классифицируются операционные системы?
Операционные системы классифицируются по разным критериям. Например, они могут быть разделены на однопользовательские и многопользовательские, однозадачные и многозадачные, десктопные и серверные и т.д. Также операционные системы могут различаться по своей архитектуре (например, монолитная, клиент-серверная, микроядерная) и по своему назначению (например, Windows, macOS, Linux и др.).
Какие особенности имеет операционная система UNIX?
Операционная система UNIX имеет несколько особенностей. Во-первых, она основана на иерархической структуре файловой системы, где все файлы и каталоги находятся в одной общей иерархии. Во-вторых, UNIX обладает мощными средствами защиты файлов, основанными на номерах идентификации пользователей и различных атрибутах безопасности. Также UNIX предоставляет множество инструментов и команд для работы с файлами и процессами.
Что происходит с файлом, когда исчезает последняя связь, указывающая на него?
Когда исчезает последняя связь, указывающая на файл, то файл фактически удаляется из файловой системы. Он больше не будет доступен через имена файлов или ссылки. Однако, если файл все еще открыт некоторым процессом, то он продолжит существовать до тех пор, пока не будет закрыт последний процесс, имеющий на него ссылку.
Как выполняется защита файлов в операционных системах?
Защита файлов в операционных системах выполняется с помощью различных механизмов и механизмов установления десяти бит защиты атрибутов. Пользователям присваивается уникальный номер идентификации, который используется для определения их прав доступа к файлам и каталогам. Операционная система проверяет эти права перед выполнением операций чтения, записи или исполнения с файлами и обеспечивает безопасность данных и доступа к ним.
Какие функции выполняют операционные системы персональных компьютеров?
Операционные системы персональных компьютеров выполняют различные функции, включая управление ресурсами компьютера, управление файлами и папками, обеспечение интерфейса пользователя, управление процессами и др.
Как можно классифицировать операционные системы?
Операционные системы могут быть классифицированы по различным признакам, например, по типу исполняемой программы (однопользовательские, многопользовательские), по типу интерфейса (графический, текстовый), по принципу работы (пакетная, интерактивная) и др.
Какая архитектура имеют операционные системы?
Операционные системы имеют различные архитектуры, включая монолитную, микроядерную и гибридную. В монолитной архитектуре все функции операционной системы объединены в одном исполняемом модуле. В микроядерной архитектуре основные функции находятся в ядре операционной системы, а дополнительные функции вынесены в отдельные модули. В гибридной архитектуре комбинируются элементы монолитной и микроядерной архитектур.
Какие особенности имеет операционная система UNIX?
Операционная система UNIX имеет ряд особенностей, включая модель клиент-сервер, многозадачность, многопользовательскую работу, поддержку сетевого взаимодействия, сильную защиту данных и др.