Файл: Функции операционных систем персональных компьютеров (Характеристика операционных систем).pdf
Добавлен: 31.03.2023
Просмотров: 409
Скачиваний: 1
СОДЕРЖАНИЕ
Глава 1. Характеристика операционных систем
1.1 Понятие, состав и задачи ОС
Глава 2. Функции операционных систем
2.2.Обеспечение интерфейса пользователя
2.3. Обеспечение автоматического запуска
2.4. Организация файловой системы
2.5.Обслуживание файловой системы
2.6.Управление установкой, исполнением и удалением приложений
- возможность одновременной или поочередной работы нескольких приложений;
- возможность обмена данными между приложениями;
- возможность совместного использования программных, аппаратных, сетевых и прочих ресурсов вычислительной системы несколькими приложениями.[30]
Надежность вычислительной системы во многом зависит от того, как операционная система управляет работой приложений. Операционная система должна предоставлять возможность прерывания работы приложений по желанию пользователя и снятия сбойной задачи без ущерба для работы других приложений. При этом требование надежности операционной системы может входить в противоречие с требованием ее универсальности. Например, наиболее универсальные операционные системы семейства Windows 95 и Windows 98 могут испытывать общесистемные сбои из-за работы с приложениями, недостаточно четко соблюдающими их спецификацию. Операционные системы семейства Windows NT и OS/2 обладают повышенной устойчивостью и не выходят из строя при сбое приложений, но имеют меньшую универсальность, и, соответственно, парк доступных приложений для них ограничен. Вопрос надежности операционной системы особо остро стоит для программистов. В процессе отладки программ возможны многочисленные сбои из-за несовершенства их кода.[31]
2.7. Обеспечение взаимодействия с аппаратным обеспечением
Средства аппаратного обеспечения вычислительной техники отличаются большим многообразием, поэтому ни один разработчик программного обеспечения не может предусмотреть все варианты взаимодействия своей программы с аппаратными средствами. Гибкость аппаратных и программных конфигураций вычислительных систем поддерживается за счет разработки разработчиком оборудования специальных программных средств управления оборудованием – драйверов, предназначенных для основных операционных систем. Драйверы имеют точки входа для взаимодействия с прикладными программами, а диспетчеризация обращений прикладных программ к драйверам устройств является одной из функций операционной системы.
Чтобы закончить работу, программа пользователя должна очистить стек, как это делается после каждого вызова процедуры. Последняя команда увеличивает указатель стека, таким образом, чтобы удалить параметры, помещенные в стек перед запросом read. Далее программа может продолжать свою работу.
В POSIX существует более 100 системных вызовов, точнее библиотечных процедур, которые выполняют эти вызовы.
Системный вызов fork (разветвление) является единственным способом создания нового процесса в UNIX. Он создает точную копию исходного процесса, включая дескрипторы файла, регистры и т.п. После вызова fork исходный процесс и его копия (родительский и дочерний) развиваются по отдельности друг от друга. Все переменные имеют одинаковые величины во время вызова fork, но как только родительские данные скопированы для создания дочернего процесса, последующие изменения в одном из них уже не влияют на другой.
В большинстве случаев после вызова fork дочернему процессу необходимо выполнить программный код, отличный от предназначенного для родительского процесса. Например, оболочка читает команды с терминала, запускает дочерний процесс, ждет, пока дочерний процесс выполнит команду и читает следующую команду после завершения работы дочернего процесса. Ожидая, пока дочерний процесс закончит работу, родительский процесс выполняет системный вызов waitpid, который ожидает завершения дочернего процесса (или всех дочерних процессов, если их на данный момент несколько). Для того чтобы Waitpid(pid, &statioc, options) ждал окончания дочернего процесса, задается первый параметр вызова равным -1. Когда waitpid выполнен, указатель, задаваемый вторым параметром, устанавливается на статус завершения дочернего процесса (нормальное или аварийное завершение и выходное значение). Третий параметр определяет различные необязательные настройки.[32]
Когда печатается команда, оболочка создает дочерний процесс, который должен выполнить команду пользователя. Он делает это с помощью системного вызова execve(name, argv, environp), заменяющего его образ памяти файлом, названным в первом параметре. В общем случае у команды execve есть три параметра: имя файла, который будет выполняться, указатель на массив аргументов и указатель на массив переменных окружения. Различные библиотечные программы разрешают пропускать параметры или определять их другими способами.
При копировании файла из одного файла в другой (file1 в файл file2) используется команда:
ср filel file2
После создания оболочкой дочернего процесса последний находит и исполняет файл ср и передает ему имена исходного и целевого файлов. Основной модуль программы ср содержит определение:
main(argc, argv, envp)+-
Параметр argc указывает количество записей в командной строке, включая имя программы. Параметр argv является указателем на массив указателей. Элемент i массива указывает на i-ю запись в командной строке. Параметр envp – указатель на массив строковых переменных окружения вида: имя=величина, которые используются для передачи программе информации типа терминала или имя каталога.
В UNIX под процессы отводится часть памяти, которая, в свою очередь, делится на три сегмента: текстовый (код программы), сегмент данных (переменные) и сегмент стека. Сегмент данных увеличивается снизу вверх, а стек увеличивается сверху вниз. Между ними находится часть неиспользованного адресного пространства. Стек автоматически занимает нужную ему часть участка памяти, но расширение сегмента данных выполняется явным образом. Для этого используется специальный системный вызов brk, задающий новый адрес для границы сегмента данных.[33]
Многие системные вызовы имеют отношение к файловой системе. Чтобы прочитать или записать файл, его сначала нужно открыть при помощи вызова open(file, how, ...). Для этого вызова указывается имя открываемого файла (задается абсолютный путь файла или ссылка на рабочий каталог) и код, означающий, что файл открывается для чтения, записи или того и другого. Возвращаемый дескриптор файла употребляется при чтении или записи. Файл закрывается с помощью вызова close, который делает дескриптор файла доступным при следующем открытии (open).
Несмотря на то, что большинство программ читает и записывает файлы с помощью последовательного доступа, некоторым прикладным программам необходима возможность доступа к любой, случайно выбранной части файла. Связанный с каждым файлом указатель содержит текущую позицию в файле. Когда чтение (запись) осуществляется последовательно, он обычно указывает на байт, который должен быть прочитан (записан) следующим. Вызов lseek(fd, offset, whence) может изменить значение позиции указателя, так что следующий вызов read или write начнет операцию в другой части файла. Первый параметр является идентификатором файла, второй – определяет позицию в файле, третий – указывает, является ли второй параметр позицией в файле относительно начала файла, относительно текущей позиции или относительно конца файла. Вызов lseek возвращает абсолютную позицию в файле после изменения указателя.
Для каждого файла UNIX хранит следующие данные: тип файла (обычный, специальный, каталог и пр.), размер, время последнего изменения и другую информацию. Программа может запросить эту информацию через системный вызов stat(name, &buf), первый параметр которого определяет требуемый файл, второй – указывает на структуру, куда нужно поместить информацию.
Вызовы mkdir и rmdir соответственно создают и удаляют пустые каталоги. Вызов link разрешает одному файлу появляться под двумя или более именами, часто в разных каталогах. Этот вызов обычно используется, когда несколько программистов, работающих в одной команде, должны совместно использовать один общий файл. Вызов mount позволяет объединять в одну две файловые системы. Например: на жестком диске находится корневая файловая система, содержащая исполняемые версии общих команд и наиболее часто используемые файлы. Пользователю нужно прочитать файлы с гибкого диска. При помощи системного вызова mount файловая система с гибкого диска присоединяется к корневой файловой системе, например:
mount("/dev/fdO", "/mnt", 0);
Первый параметр определяет имя специального блочного файла на диске О, второй – место в дереве, куда будет вмонтирована файловая система, третий – указывает какая встроенная файловая система монтируется: для чтения и записи или только для чтения. После выполнения вызова mount доступ к файлу на диске О можно получить, указав его путь из корневого или рабочего каталога. Когда файловая система не нужна, ее демонтируют с помощью системного вызова umount.[34]
ЗАКЛЮЧЕНИЕ
В процессе выполнения работы была достигнута поставленная цель - исследовать понятие операционных систем.
Итак, операционная система выполняет функции управления вычислениями в компьютере, распределяет ресурсы вычислительной системы между различными вычислительными процессами и образует ту программную среду, в которой выполняются прикладные программы пользователей. Такая среда называется операционной. Последнее следует понимать в том плане, что при запуске программы она будет обращаться к операционной системе с соответствующими запросами на выполнение определенных действий, или функций. Эти функции операционная система выполняет, запуская специальные системные программные модули, входящие в ее состав.
К ресурсами компьютера относятся: процессоры, память, дисковые накопители, сетевые коммуникационные средства, принтеры и другие устройства. Функцией ОС является рациональное распределение этих ресурсов между процессами с целью обеспечения максимальной эффективности функционирования компьютера.
Список использованной литературы
1. Борисов М.В. Основы информатики и вычислительной техники./М.В. Борисова – Ростов н/Д: Феникс, 2006 – 224с.
2. П.П. Беленького Информатика. Серия Учебники, учебные пособия – Ростов н/Д: Феникс, 2003 – 189с.
3. Васильев Б.М. Операционные системы – М.: Знание, 1990 – 432с.
4. Владимир Волков «Понятный самоучитель работы в Windows». «Питер», С-Пб.2001 – 321с.
6. Зараев А.В. Новая энциклопедия персонального компьютера. Самое полное и доступное руководство для пользователя. – М: Эксмо 2004 - 258с.
7. Партыка Т. Л., Попов И.И. «Операционные системы, среды и оболочки» Учебное пособие. – М.: ФОРУМ:ИНФРА-М, 2006 - 287с.
8. Черноскутовая И.А. Информатика. Учебное пособие для среднего профессианального образования - СПб.: Питер, 2005 – 199с.
9. Операционные системы: Учебник для вузов. 2-е изд. / А.В. Гордеев. – СПб.: Питер, 2011. – 432с.
10. Таненбаум Э.Современные операционные системы. - СПб.: Питер, 2010. – 125с.
11. Марапулец Ю.В. Операционные системы. - Издательство: КамчатГТУ, 2008. – 242с.
12. Эффективная работа: Windows – Сулацкая И.М.СПб.: Питер, 2008. – 1553с.
13. Назаров С.В. ЭФФЕКТИВНОСТЬ СОВРЕМЕННЫХ ОПЕРАЦИОННЫХ СИСТЕМ // Современные информационные технологии и ИТ-образование. - 2017. - №2. - С.10 - 14.
14. Брыкова Е. И. Основные принципы построения безопасных операционных систем // Управление, вычислительная техника и информатика. - 2013. - №2. - С.23 - 25.
15. Малышев Д.А. Общая схема взаимодействия при развертывании операционных систем // Вестник Череповецкого государственного университета - 2013. - №2. - С.10-14.
16. Воробьев Д.Н., Камкин А.С. Генерация тестовых программ для подсистемы управления памятью // Труды Института Системного Программирования РАН. - 2009. - №2. - С.119-122.
17. Горбанёва И.В., Мартышкин А.И. Программный комплекс для оценки производительности основных функций операционных систем // TECHNICAL SCIENCES. - 2010. - №2. – С 278-281.
18. Понятие операционной системы. URL: http://osys.ru/os/1/ponyatie_operatsionnoy_sistemy.shtml. (Дата обращения: 16.11.2019).
19. Операционные системы коллективного пользования – многопользовательские, многозадачные. Основные сведения о функционировании. URLhttps://studopedia.org/5-77984.html. (Дата обращения: 16.11.2019).
20. Операционные системы семейства UNIX. URL http://chernykh.net/content/view/892/973/. 15. История операционных систем. URL https://www.linux.org.ru/forum/talks/443404. (Дата обращения: 16.11.2019).
21. Операционные системы URL http://unesco.kemsu.ru/study_work/method/informatics/book/chapter14.html. (Дата обращения: 16.11.2019).
-
Назаров С.В. Эффективность современных операционных систем // Современные информационные технологии и ИТ-образование. - 2017. - №2. - С.10. ↑
-
Брыкова Е. И. Основные принципы построения безопасных операционных систем // Управление, вычислительная техника и информатика. - 2013. - №2. - С.23. ↑
-
Понятие операционной системы. URL: http://osys.ru/os/1/ponyatie_operatsionnoy_sistemy.shtml. (Дата обращения: 16.11.2019). ↑
-
Малышев Д.А. Общая схема взаимодействия при развертывании операционных систем // Вестник Череповецкого государственного университета - 2013. - №2. - С.10. ↑
-
Брыкова Е. И. Основные принципы построения безопасных операционных систем // Управление, вычислительная техника и информатика. - 2013. - №2. - С.23. ↑
-
Борисов М.В. Основы информатики и вычислительной техники./М.В. Борисова – Ростов н/Д: Феникс, 2006. – С. 36. ↑
-
П.П. Беленького Информатика. Серия Учебники, учебные пособия – Ростов н/Д: Феникс, 2003. – С. 142. ↑
-
Операционные системы коллективного пользования – многопользовательские, многозадачные. Основные сведения о функционировании. URLhttps://studopedia.org/5-77984.html. (Дата обращения: 16.11.2019). ↑
-
Зараев А.В. Новая энциклопедия персонального компьютера. Самое полное и доступное руководство для пользователя. – М: Эксмо 2004. – С. 89. ↑
-
Черноскутовая И.А. Информатика. Учебное пособие для среднего профессианального образования - СПб.: Питер, 2005. – С. 124. ↑
-
Партыка Т. Л., Попов И.И. «Операционные системы, среды и оболочки» Учебное пособие. – М.: ФОРУМ:ИНФРА-М, 2006. – С. 210 ↑
-
Васильев Б.М. Операционные системы – М.: Знание, 1990. – С. 89. ↑
-
История операционных систем. URL https://www.linux.org.ru/forum/talks/443404. (Дата обращения: 16.11.2019). ↑
-
Операционные системы семейства UNIX. URL http://chernykh.net/content/view/892/973/. (Дата обращения: 16.11.2019). ↑
-
Волков В. Понятный самоучитель работы в Windows. «Питер», С-Пб.2001. – С. 35. ↑
-
Таненбаум Э.Современные операционные системы. - СПб.: Питер, 2010. – С. 89. ↑
-
Операционные системы: назначение, классификация, примеры. URL https://studopedia.org/8-67934.html. (Дата обращения: 16.11.2019). ↑
-
Воробьев Д.Н., Камкин А.С. Генерация тестовых программ для подсистемы управления памятью // Труды Института Системного Программирования РАН. - 2009. - №2. - С.119. ↑
-
Организация памяти компьютера. Простейшие схемы управления памятью. URL http://aad.tpu.ru/OS/os/osintro/8/1.html. (Дата обращения: 16.11.2019). ↑
-
Организация памяти компьютера. Простейшие схемы управления памятью. URL http://aad.tpu.ru/OS/os/osintro/8/1.html. (Дата обращения: 16.11.2019). ↑
-
Операционные системы: Учебник для вузов. 2-е изд. / А.В. Гордеев. – СПб.: Питер, 2011. – С . 437. ↑
-
Операционные системы: Учебник для вузов. 2-е изд. / А.В. Гордеев. – СПб.: Питер, 2011. – С . 432. ↑
-
Организация памяти компьютера. Простейшие схемы управления памятью. URL http://aad.tpu.ru/OS/os/osintro/8/1.html. (Дата обращения: 16.11.2019). ↑
-
Операционные системы URL http://unesco.kemsu.ru/study_work/method/informatics/book/chapter14.html. (Дата обращения: 16.11.2019). ↑
-
Воробьев Д.Н., Камкин А.С. Генерация тестовых программ для подсистемы управления памятью // Труды Института Системного Программирования РАН. - 2009. - №2. - С.119. ↑
-
Эффективная работа: Windows – Сулацкая И.М.СПб.: Питер, 2008. – С. 1069. ↑
-
Черноскутовая И.А. Информатика. Учебное пособие для среднего профессианального образования - СПб.: Питер, 2005. – С. 122. ↑
-
Партыка Т. Л., Попов И.И. «Операционные системы, среды и оболочки» Учебное пособие. – М.: ФОРУМ:ИНФРА-М, 2006. – С. 242. ↑
-
Горбанёва И.В., Мартышкин А.И. Программный комплекс для оценки производительности основных функций операционных систем // TECHNICAL SCIENCES. - 2010. - №2. – С 278. ↑
-
Марапулец Ю.В. Операционные системы. - Издательство: КамчатГТУ, 2008. – С. 37. ↑
-
Таненбаум Э.Современные операционные системы. - СПб.: Питер, 2010. – С. 114. ↑
-
Марапулец Ю.В. Операционные системы. - Издательство: КамчатГТУ, 2008. – С. 46. ↑
-
Горбанёва И.В., Мартышкин А.И. Программный комплекс для оценки производительности основных функций операционных систем // TECHNICAL SCIENCES. - 2010. - №2. – С 278. ↑
-
Операционные системы: Учебник для вузов. 2-е изд. / А.В. Гордеев. – СПб.: Питер, 2011. – С . 416. ↑