
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
ФГБОУ ВПО «ОРЛОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
ФАКУЛЬТЕТ ЭКОНОМИКИ И УПРАВЛЕНИЯ
Реферат
по теме:
«Процессы и потоки»
Специальность: 080801 —Прикладная информатика (в менеджменте)
Выполнил студент Боровикова.С.В
Проверил к.п.н., доцент
А.Н. Алексахин
2014г
Оглавление
Введение
Как известно, процесс проникновения информационных технологий практически во все сферы человеческой деятельности продолжает развиваться и углубляться. Помимо уже привычных и широко распространенных персональных компьютеров, общее число которых достигло многих сотен миллионов, становится все больше и встроенных средств вычислительной техники. Пользователей всей этой разнообразной вычислительной техники становится все больше, причем наблюдается развитие двух вроде бы противоположных тенденций. С одной стороны, информационные технологии все усложняются, и для их применения, и тем более дальнейшего развития, требуется иметь очень глубокие познания. С другой стороны, упрощаются интерфейсы взаимодействия пользователей с компьютерами. Компьютеры и информационные системы становятся все более дружественными и понятными даже для человека, не являющегося специалистом в области информатики и вычислительной техники. Это стало возможным прежде всего потому, что пользователи и их программы взаимодействуют с вычислительной техникой посредством специального (системного) программного обеспечения — через операционную систему.
Операционная система предоставляет интерфейсы и для выполняющихся приложений, и для пользователей. Программы пользователей, да и многие служебные программы запрашивают у операционной системы выполнение тех операций, которые достаточно часто встречаются практически в любой программе. К таким операциям, прежде всего, относятся операции ввода-вывода, запуск или останов какой-нибудь программы, получение дополнительного блока памяти или его освобождение и многие другие. Подобные операции невыгодно каждый раз программировать заново и непосредственно размещать в виде двоичного кода в теле программы, их удобнее собрать вместе и предоставлять для выполнения по запросу из программ. Это и есть одна из важнейших функций операционных систем. Прикладные программы, да и многие системные обрабатывающие программы (такие, например, как системы программирования или системы управления базами данных), не имеют непосредственного доступа к аппаратуре компьютера, а взаимодействуют с ней только через обращения к операционной системе. Пользователи также путем ввода команд операционной системы или выбором возможных действий, предлагаемых системой, взаимодействуют с компьютером и своими программами. Такое взаимодействие осуществляется исключительно через операционную систему. Помимо выполнения этой важнейшей функции операционные системы отвечают за эффективное распределение вычислительных ресурсов и организацию надежных вычислений.
Знание основ организации операционных систем и принципов их функционирования позволяет использовать компьютеры более эффективно. Глубокое изучение операционных систем позволяет применить эти знания прежде всего при создании программного обеспечения.
В настоящее время в большинстве операционных систем определены два типа единиц работы – процессы и потоки. Процесс (задача) - программа, находящаяся в стадии выполнения. Потоки (нити) возникли как средство распараллеливания вычислений в рамках одного процесса.
Цель работы: изучить литературу по безопасности и функционированию операционных систем и углубить знания в области управления печатающими устройствами.
Задачи работы: формирование новых символов, разработка команд для их загрузки в оперативную память принтера и программы, реализующей вывод данных символов на печать путем разработки начертания символов, составляющих мои инициалы (Е.Ю.), и реализации необходимых программных кодов на языке BASIC.
Глава 1.Процессы
1.1 Понятие и свойства процессов
Процесс – некая последовательность действий, выполняемая процессором с привлечением необходимых ресурсов (памяти, внешних устройств и т. д.). Процесс определяется программой, соответствующей данной задаче.
Программа представляет собой последовательность команд (поток команд).
После запуска программы она загружается из внешней памяти компьютера в оперативную и ставится на выполнение процессором. Каждая команда занимает в памяти по конкретным физическим адресам одну или несколько ячеек памяти (байтов). Процессор последовательно выбирает команды из памяти и их выполняет. Для выборки команд из памяти используется специальный регистр, называемый программным счетчиком (program counter – PC), который содержит адрес текущей команды. Регистры процессора и переменные в оперативной памяти содержат текущие данные программы. Во время своей работы программа может использовать и другие ресурсы компьютера: открытые файлы, внешние устройства и т. д.
Свойства процессов:
отдельное виртуальное адресное пространство;
код выполняемой программы, загруженный в адресное пространство процесса;
начальные параметры запуска – аргументы запуска, рабочую папку и т.п.;
набор привилегий на доступ к системным ресурсам и вызовам;
текущее состояние, включая статус процесса;
набор потоков, выполняющих код программы в адресном пространстве процесса, имеющих доступ к общим ресурсам процесса.
2.1 Создание и завершение процессов
Для создания нового процесса операционной системе необходимо выполнить определенную последовательность действий:
присвоить новому процессу уникальный идентификатор, т.е. занести новую запись в таблицу процессов;
выделить пространство для процесса, т.е. выделить адресное пространство для всех элементов образа процесса;
инициализировать управляющий блок процесса;
поместить процесс в список “готовых” или “готовых приостановленных процессов”;
загрузить часть кодов и данных процесса в оперативную память.
Информация о состоянии процессора обычно инициализируется нулевыми значениями, за исключением счетчика команд (содержит точку входа в программу) и указателей системного стека (задающих границы стека процесса). Состояние процесса обычно инициализируется значением “готов” или “готов и приостановлен”.
Основными причинами создания процессов являются:
запуск задач пользователей и заданий в среде пакетной обработки;
поступление запросов от приложений на выполнение некоторых функций;
порождение процессов другими процессами.
Когда один процесс порождает другой, то порождающий процесс называется родительским (parent), а порождаемый процесс называется дочерним (child). Порождение процессов используется для структурирования приложений или распараллеливания вычислений. Например, файловый сервер может генерировать новый процесс для каждого обрабатываемого им запроса.
Основными причинами завершения процессов являются:
нормальное завершение;
превышение предельного лимита времени;
превышение лимита отведенной памяти;
ошибки при выполнении;
вмешательство пользователя, администратора или ОС;
завершение родительского процесса.