Единицы вычислительной работы в ос реферат

Обновлено: 02.07.2024

Задание представляет собой совокупность действий, которые должна произвести ВС для выполнения некоторой работы. Задание включает в себя выполнение одной или нескольких связанных программ. Задания никак не могут влиять друг на друга, поэтому их можно выполнять в режиме мультипрограммирования.

Задания состоят из одной или нескольких логических частей, выполняемых последовательно такие части называются пунктами задания. Отмеченные пункты одного задания должны выполняться строго последовательно, т.к. они передают данные друг другу.

Для реализации заданий и их пунктов ОС образует задачи (процессы). Задача может образовывать подзадачи и т.о. можно распараллеливать выполнение программ, повышая уровень мультипрограммирования.

Раздел 1. Общие сведения об операционных системах

Т е м а 1.1.Понятие операционной системы (2ч)

Операционные системы. Командный и объектно-ориентированный пользовательский интерфейс операционных систем.

Рисунок 1. Взаимодействие пользователя с компьютером

Интерфейс пользователя компьютерного приложения включает:

- средства отображения информации, отображаемую информацию, форматы и коды;
- командные режимы, язык "пользователь - интерфейс";
- устройства и технологии ввода данных;
- диалоги, взаимодействие и транзакции между пользователем и компьютером, обратную связь с пользователем;
- поддержку принятия решений в конкретной предметной области;
- порядок использования программы и документацию на неё.

Пользовательский интерфейс (ПИ) часто понимают только как внешний вид програм-мы. Однако на деле пользователь воспринимает через него всю программу в целом, а значит, такое понимание является слишком узким. В действительности ПИ объединяет в себе все элементы и компоненты программы, которые способны оказывать влияние на взаимодействие пользователя с программным обеспечением(ПО).
Это не только экран, который видит пользователь. К этим элементам относятся:
- набор задач пользователя, которые он решает при помощи системы;
- используемая системой метафора (например, рабочий стол в MS Windows);
- элементы управления системой;
-навигация между блоками системы;
- визуальный (и не только) дизайн экранов программы;
- средства отображения информации, отображаемая информация и форматы;
- устройства и технологии ввода данных;
- диалоги, взаимодействие и транзакции между пользователем и компьютером;
-обратная связь с пользователем;
- поддержка принятия решений в конкретной предметной области;
- порядок использования программы и документация на нее.

ВИДЫ ИНТЕРФЕЙСОВ. Интерфейс - это, прежде всего, набор правил. Как любые правила, их можно обобщить, собрать в "кодекс", сгруппировать по общему признаку. Таким образом, мы пришли к понятию "вид интерфейса" как объединение по схожести способов взаимодействия человека и компьютеров. Вкратце можно предложить следующую схематическую классификацию различных интерфейсов общения человека и компьютера.
Современными видами интерфейсов являются:
1) Командный интерфейс. Командный интерфейс называется так по тому, что в этом виде интерфейса человек подает "команды" компьютеру, а компьютер их выполняет и выдает результат человеку. Командный интерфейс реализован в виде пакетной технологии и технологии командной строки.
2) WIMP - интерфейс (Window - окно, Image - образ, Menu - меню, Pointer - указатель). Характерной особенностью этого вида интерфейса является то, что диалог с пользователем ведется не с помощью команд, а с помощью графических образов - меню, окон, других элементов. Хотя и в этом интерфейсе подаются команды машине, но это делается "опосредственно", через графические образы. Этот вид интерфейса реализован на двух уровнях технологий: простой графический интерфейс и "чистый" WIMP - интерфейс.
3) SILK - интерфейс (Speech - речь, Image - образ, Language - язык, Knowlege - знание). Этот вид интерфейса наиболее приближен к обычной, человеческой форме общения. В рамках этого интерфейса идет обычный "разговор" человека и компьютера. При этом компьютер находит для себя команды, анализируя человеческую речь и находя в ней ключевые фразы. Результат выполнения команд он также преобразует в понятную человеку форму. Этот вид интерфейса наиболее требователен к аппаратным ресурсам компьютера, и поэтому его применяют в основном для военных целей.


Рис.2. Вид большой ЭВМ серии ЕС ЭВМ


Технология командной строки. При этой технологии в качестве единственного способа ввода информации от человека к компьютеру служит клавиатура, а компьютер выводит информацию человеку с помощью алфавитно-цифрового дисплея (монитора). Эту ком-бинацию (монитор + клавиатура) стали называть терминалом, или консолью. Команды наби-раются в командной строке. Командная строка представляет собой символ приглашения и мигающий прямоугольник - курсор. При нажатии клавиши на месте курсора появляются символы, а сам курсор смещается вправо. Это очень похоже на набор команды на пишущей машинке. Однако, в отличие от нее, буквы отображаются на дисплее, а не на бумаге, и неправильно набранный символ можно стереть. Команда заканчивается нажатием клавиши Enter (или Return) После этого осуществляется переход в начало следующей строки. Именно с этой позиции компьютер выдает на монитор результаты своей работы. Затем процесс повторяется. Технология командной строки уже работала на монохромных алфавитно-цифровых дисплеях. Поскольку вводить позволялось только буквы, цифры и знаки препинания, то технические характеристики дисплея были не существенны. В качестве монитора можно было использовать телевизионный приемник и даже трубку осциллографа.
Обе эти технологии реализуются в виде командного интерфейса - машине подаются на вход команды, а она как бы "отвечает" на них.
Преобладающим видом файлов при работе с командным интерфейсом стали текстовые файлы - их и только их можно было создать при помощи клавиатуры. На время наиболее широкого использования интерфейса командной строки приходится появление операционной системы UNIX и появление первых восьмиразрядных персональных компьютеров с многоплатформенной операционной системой CP / M.

Графический интерфейс.Как и когда появился графический интерфейс? Его идея зародилась в середине 70-х годов, когда в исследовательском центре Xerox Palo Alto Research Center (PARC) была разработана концепция визуального интерфейса. Предпосылкой графического интерфейса явилось уменьшение времени реакции компьютера на команду, увеличение объема оперативной памяти, а также развитие технической базы компьютеров. Аппаратным основанием концепции, конечно же, явилось появление алфавитно-цифровых дисплеев на компьютерах, причем на этих дисплеях уже имелись такие эффекты, как "мерцание" символов, инверсия цвета (смена начертания белых символов на черном фоне обратным, то есть черных символов на белом фоне), подчеркивание символов. Эти эффекты распространились не на весь экран, а только на один или более символов. Следующим шагом явилось создание цветного дисплея, позволяющего выводить, вместе с этими эффектами, символы в 16 цветах на фоне с палитрой (то есть цветовым набором) из 8 цветов. После появления графических дисплеев, с возможностью вывода любых графических изображений в виде множества точек на экране различного цвета, фантазии в использовании экрана вообще не стало границ! Первая система с графическим интерфейсом 8010 Star Information System группы PARC, таким образом, появилась за четыре месяца до выхода в свет первого компьютера фирмы IBM в 1981 году. Первоначально визуальный интерфейс использовался только в программах. Постепенно он стал переходить и на операционные системы, используемых сначала на компьютерах Atari и Apple Macintosh, а затем и на IBM - совместимых компьютерах.
С более раннего времени, и под влиянием также и этих концепций, проходил процесс по унификации в использовании клавиатуры и мыши прикладными программами. Слияние этих двух тенденций и привело к созданию того пользовательского интерфейса, с помощью которого, при минимальных затратах времени и средств на переучивание персонала, можно работать с любыми программным продуктом. Описание этого интерфейса, общего для всех приложений и операционных систем, и посвящена данная часть.

1 Простой графический интерфейс.На первом этапе графический интерфейс очень походил на технологию командной строки. Отличия от технологии командной строки заключались в следующим:

1. При отображении символов допускалось выделение части символов цветом, инверсным изображением, подчеркиванием и мерцанием. Благодаря этому повысилась выразительность изображения.
2. В зависимости от конкретной реализации графического интерфейса курсор может представляться не только мерцающим прямоугольником, но и некоторой областью, охватывающей несколько символов и даже часть экрана. Эта выделенная область отличается от других, невыделенных частей (обычно цветом).
3. Нажатие клавиши Enter не всегда приводит к выполнению команды и переходу к следующей строке. Реакция на нажатие любой клавиши во многом зависит от того, в какой части экрана находился курсор.
4. Кроме клавиши Enter, на клавиатуре все чаще стали использоваться "серые" клавиши управления курсором.
5. Уже в этой редакции графического интерфейса стали использоваться манипуляторы (типа мыши, трекбола и т.п. - см. рис.3) Они позволяли быстро выделять нужную часть экрана и перемещать курсор.




Подводя итоги, можно привести следующие отличительные особенности этого интерфейса.

1) Выделение областей экрана.
2) Переопределение клавиш клавиатуры в зависимости от контекста.
3) Использование манипуляторов и серых клавиш клавиатуры для управления курсором.
4) Широкое использование цветных мониторов.

Появление этого типа интерфейса совпадает с широким распространением операционной системы MS-DOS. Именно она внедрила этот интерфейс в массы, благодаря чему 80-е годы прошли под знаком совершенствования этого типа интерфейса, улучшения характеристик отображения символов и других параметров монитора.
Типичным примером использования этого вида интерфейса является файловая оболочка Nortron Commander (о файловых оболочках смотри ниже) и текстовый редактор Multi-Edit. А текстовые редакторы Лексикон, ChiWriter и текстовый процессор Microsoft Word for Dos являются примером, как этот интерфейс превзошел сам себя.

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.




Университет Российской Академии Образования, факультет информационных технологий
Реферат

выполнил : Белоусов Антон,

студент 5-го курса
Москва, 2010

Процесс в операционной системе

Необходимость процессов и потоков

Ключевое требование к большинству современных ОС – мультипрограммирование, или многозадачность: способность одновременно или попеременно выполнять несколько программ, совместно использующих не только процессор, но и другие ресурсы компьютера: оперативную и внешнюю память, устройства ввода-вывода, данные.

Чтобы поддерживать мультипрограммирование, ОС должна определить и оформить для себя те внутренние единицы работы, между которыми будет разделяться процессор и другие ресурсы компьютера. В настоящее время в большинстве операционных систем определены два типа единиц работы – процесс (задача) и поток (нить). Несколько вариантов названий обусловлено различиями в культурах разработчиков разных операционных систем, по-разному называющих одни и те же сущности.

Процесс - более крупная единица работы задачи, требует для своего выполнения нескольких более мелких работ - потоков.

Процесс и поток – понятия и свойства

Любая работа вычислительной системы заключается в выполнении некоторого программного кода. Чтобы этот программный код мог быть выполнен, его необходимо загрузить в оперативную память, возможно, выделить некоторое место на диске для хранения данных, предоставить доступ к устройствам ввода-вывода, например к последовательному порту для получения данных по подключенному к этому порту модему; и т. д. В ходе выполнения программе может также понадобиться доступ к информационным ресурсам, например файлам, портам TCP/UPD, семафорам. И для выполнения программы необходимо предоставление ей процессорного времени, то есть времени, в течение которого процессор выполняет коды данной программы.

В операционных системах, где существуют и процессы, и потоки, процесс рассматривается операционной системой как заявка на потребление всех видов ресурсов, кроме одного — процессорного времени. Этот последний важнейший ресурс распределяется операционной системой между другими единицами работы — потоками, которые и получили свое название благодаря тому, что они представляют собой последовательности (потоки выполнения) команд.

Для того чтобы процессы не могли вмешаться в распределение ресурсов, а также не могли повредить коды и данные друг друга, важнейшей задачей ОС является изоляция одного процесса от другого. Для этого операционная система обеспечивает каждый процесс отдельным виртуальным адресным пространством, так что ни один процесс не может получить прямого доступа к командам и данным другого процесса.

Виртуальное адресное пространство процесса — это совокупность адресов, которыми может манипулировать программный модуль процесса. Операционная система отображает виртуальное адресное пространство процесса на отведенную процессу физическую память.

При необходимости взаимодействия процессы обращаются к операционной системе, которая, выполняя функции посредника, предоставляет им средства межпроцессной связи — конвейеры, почтовые ящики, разделяемые секции памяти и некоторые другие.

Однако в системах, в которых отсутствует понятие потока, возникают проблемы при организации параллельных вычислений в рамках процесса. А такая необходимость может возникать. Действительно, при мультипрограммировании повышается пропускная способность системы, но отдельный процесс никогда не может быть выполнен быстрее, чем в однопрограммном режиме (всякое разделение ресурсов только замедляет работу одного из участников за счет дополнительных затрат времени на ожидание освобождения ресурса). Однако приложение, выполняемое в рамках одного процесса, может обладать внутренним параллелизмом, который в принципе мог бы позволить ускорить его решение. Если, например, в программе предусмотрено обращение к внешнему устройству, то на время этой операции можно не блокировать выполнение всего процесса, а продолжить вычисления по другой ветви программы. Параллельное выполнение нескольких работ в рамках одного интерактивного приложения повышает эффективность работы пользователя. Так, при работе с текстовым редактором желательно иметь возможность совмещать набор нового текста с такими продолжительными по времени операциями, как переформатирование значительной части текста, печать документа или его сохранение на локальном или удаленном диске. Еще одним примером необходимости распараллеливания является сетевой сервер баз данных. В этом случае параллелизм желателен как для обслуживания различных запросов к базе данных, так и для более быстрого выполнения отдельного запроса за счет одновременного просмотра различных записей базы.

Потоки возникли в операционных системах как средство распараллеливания вычислений. Конечно, задача распараллеливания вычислений в рамках одного приложения может быть решена и традиционными способами.

Во-первых, прикладной программист может взять на себя сложную задачу организации параллелизма, выделив в приложении некоторую подпрограмму- диспетчер, которая периодически передает управление той или иной ветви вычислений. При этом программа получается логически весьма запутанной, с многочисленными передачами управления, что существенно затрудняет ее отладку и модификацию.

Во-вторых, решением является создание для одного приложения нескольких процессов для каждой из параллельных работ. Однако использование для создания процессов стандартных средств ОС не позволяет учесть тот факт, что эти процессы решают единую задачу, а значит, имеют много общего между собой — они могут работать с одними и теми же данными, использовать один и тот же кодовый сегмент, наделяться одними и теми же правами доступа к ресурсам вычислительной системы. Так, если в примере с сервером баз данных создавать отдельные процессы для каждого запроса, поступающего из сети, то все процессы будут выполнять один и тот же программный код и выполнять поиск в записях, общих для всех процессов файлов данных. А операционная система при таком подходе будет рассматривать эти процессы наравне со всеми остальными процессами и с помощью универсальных механизмов обеспечивать их изоляцию друг от друга. В данном случае все эти достаточно громоздкие механизмы используются явно не по назначению, выполняя не только бесполезную, но и вредную работу, затрудняющую обмен данными между различными частями приложения. Кроме того, на создание каждого процесса ОС тратит определенные системные ресурсы, которые в данном случае неоправданно дублируются — каждому процессу выделяются собственное виртуальное адресное пространство, физическая память, закрепляются устройства ввода-вывода и т. п.

Итоговые определения

Для систем, использующих обе концепции – и потока, и процесса:

Процесс – единица активности операционной системы, создаваемая при запуске программы на выполнение, и обладающая свойствами:

· Отдельное виртуальное адресное пространство

· Код выполняемой программы, загруженный в адресное пространство процесса

· Начальные параметры запуска – аргументы запуска, рабочую папку и т.п.

· Набор привилегий на доступ к системным ресурсам и вызовам

· Текущее состояние, включая статус процесса

· Набор потоков, выполняющих код программы в адресном пространстве процесса, имеющих доступ к общим ресурсам процесса

Поток – единица активности операционной системы, создаваемая при запуске процесса системой или программно из другого потока того же процесса, обладающая свойствами:

· Счетчик команд – указатель на текущую выполняемую команду

· Регистры – значения регистров процессора в текущий момент времени

Для конкретной операционной системы определение процесса может быть лаконичнее, так как опирается на конкретные механизмы этой системы, например:

Unix использует два системно- ориентированных определения процесса:

Процесс – объект, порожденный системным вызовом fork()

Для систем, не поддерживающих параллельное выполнение средствами потоков, каждый процесс фактически имеет один поток, и понятия потока и процесса объединены.

Для систем, не поддерживающих многозадачность, необходимость в понятии процесса отпадает – одновременно может быть запущена только одна программа, и нет необходимости в разделении запущенных программ и их свойств.

Эффективность концепции потоков для параллельных вычислений
Создание потоков требует от ОС меньших накладных расходов, чем процессов. В отличие от процессов, которые принадлежат разным, вообще говоря, конкурирующим приложениям, все потоки одного процесса всегда принадлежат одному приложению, поэтому ОС изолирует потоки в гораздо меньшей степени, нежели процессы в традиционной мультипрограммной системе. Все потоки одного процесса используют общие файлы, таймеры, устройства, одну и ту же область оперативной памяти, одно и то же адресное пространство. Это означает, что они разделяют одни и те же глобальные переменные. Поскольку каждый поток может иметь доступ к любому виртуальному адресу процесса, один поток может использовать стек другого потока. Между потоками одного процесса нет полной защиты, потому что, во-первых, это невозможно, а во-вторых, не нужно. Чтобы организовать взаимодействие и обмен данными, потокам вовсе не требуется обращаться к ОС, им достаточно использовать общую память — один поток записывает данные, а другой читает их. С другой стороны, потоки разных процессов по-прежнему хорошо защищены друг от друга.

Итак, мультипрограммирование более эффективно на уровне потоков, а не процессов. Каждый поток имеет собственный счетчик команд и стек. Задача, оформленная в виде нескольких потоков в рамках одного процесса, может быть выполнена быстрее за счет псевдопараллельного (или параллельного в мультипроцессорной системе) выполнения ее отдельных частей. Например, если электронная таблица была разработана с учетом возможностей многопоточной обработки, то пользователь может запросить пересчет своего рабочего листа и одновременно продолжать заполнять таблицу. Особенно эффективно можно использовать многопоточность для выполнения распределенных приложений, например, многопоточный сервер может параллельно выполнять запросы сразу нескольких клиентов.

Наибольший эффект от введения многопоточной обработки достигается в мультипроцессорных системах, в которых потоки, в том числе и принадлежащие одному процессу, могут выполняться на разных процессорах действительно параллельно (а не псевдопараллельно).

Создание процессов и потоков

Создать процесс — это прежде всего означает создать описатель процесса, в качестве которого выступает одна или несколько информационных структур, содержащих все сведения о процессе,, необходимые операционной системе для управления им. В число таких сведений могут входить, например, идентификатор процесса, данные о расположении в памяти исполняемого модуля, степень привилегированности процесса (приоритет и права доступа) и т. п. Примерами описателей процесса являются блок управления задачей (ТСВ — Task Control Block) в OS/360, управляющий блок процесса (РСВ — Process Control Block) в OS/2, дескриптор процесса в UNIX, объект-процесс (object-process) в Windows NT.

Создание описателя процесса – это появление в системе еще одного претендента на вычислительные ресурсы. Начиная с этого момента при распределении ресурсов ОС должна принимать во внимание потребности нового процесса.

Во многих системах поток может обратиться к ОС с запросом на создание так называемых потоков-потомков. В разных ОС по-разному строятся отношения между потоками-потомками и их родителями. Например, в одних ОС выполнение родительского потока синхронизируется с его потомками, в частности после завершения родительского потока ОС может снимать с выполнения всех его потомков. В других системах потоки-потомки могут выполняться асинхронно по отношению к родительскому потоку. Потомки, как правило, наследуют многие свойства родительских потоков. Во многих системах порождение потомков является основным механизмом создания процессов и потоков.

Создание процессов на примере

В качестве примера возьмем создание процессов в операционной системе UNIX System V Release 4. В этой системе потоки не поддерживаются, в качестве единицы управления и единицы потребления ресурсов выступает процесс.

При управлении процессами операционная система использует два основных типа информационных структур: дескриптор процесса и контекст процесса. Дескриптор процесса содержит такую информацию о процессе, которая необходима ядру в течение всего жизненного цикла процесса независимо от того, находится он в активном или пассивном состоянии, находится образ процесса в оперативной памяти или выгружен на диск. (Образом процесса называется совокупность его кодов и данных.)

Дескрипторы отдельных процессов объединены в список, образующий таблицу процессов. Память для таблицы процессов отводится динамически в области ядра. На основании информации, содержащейся в таблице процессов, операционная система осуществляет планирование и синхронизацию процессов. В дескрипторе прямо или косвенно (через указатели, на связанные с процессом структуры) содержится информация о состоянии процесса, о расположении образа процесса в оперативной памяти и на диске, о значении отдельных составляющих приоритета, а также о его итоговом значении — глобальном приоритете, об идентификаторе пользователя, создавшего процесс, о родственных процессах, о событиях, осуществления которых ожидает данный процесс, и некоторая другая информация.

Контекст процесса содержит менее оперативную, но более объемную часть информации о процессе, необходимую для возобновления выполнения процесса с прерванного места: содержимое регистров процессора, коды ошибок выполняемых процессором системных вызовов, информация обо всех открытых данным процессом файлах и незавершенных операциях ввода-вывода и другие данные, характеризующие состояние вычислительной среды в момент прерывания. Контекст, так же как и дескриптор процесса, доступен только программам ядра, то есть находится в виртуальном адресном пространстве операционной системы, однако он хранится не в области ядра, а непосредственно примыкает к образу процесса и перемещается вместе с ним, если это необходимо, из оперативной памяти на диск.

Порождение процессов в системе UNIX происходит в результате выполнения системного вызова fork. ОС строит образ порожденного процесса являющийся точной копией образа породившего процесса, то есть дублируются дескриптор, контекст и образ процесса. Сегмент данных и сегмент стека родительского процесса копируются на новое место, образуя сегменты данных и стека процесса-потомка. Процедурный сегмент копируется только тогда, когда он не является разделяемым. В противном случае процесс-потомок становится еще одним процессом, разделяющим данный процедурный сегмент.

После выполнения системного вызова fork оба процесса продолжают выполнение с одной и той же точки. Чтобы процесс мог опознать, является он родительским процессом или процессом-потомком, системный вызов fork возвращает в качестве своего значения в породивший процесс идентификатор порожденного процесса, а в порожденный процесс — NULL. Типичное разветвление на языке С записывается так:

Таким образом, в UNIX порождение нового процесса происходит в два этапа — сначала создается копия процесса-родителя, затем у нового процесса производится замена кодового сегмента на заданный.

Вновь созданному процессу операционная система присваивает целочисленный идентификатор, уникальный на весь период функционирования системы.

Завершение процесса

В большинстве операционных систем есть одни и те же варианты завершения процесса, различающиеся деталями реализации:

· Нормальное завершение процесса: завершение при достижении конца основной функции программы (разновидности main ), или при вызове системной функции выхода (например, exit в unix ).

· Принудительное завершение процесса: производится внешним процессом с помощью вызова соответствующей системной функции (например, системного вызова kill в unix ).

Результат завершения процесса

При завершении процесса освобождаются все системные ресурсы, занятые им – открытые файлы, память, и др. Соответственно, завершаются все потоки, принадлежащие процессу.

Резюме

Процессы и потоки – основополагающая концепция современных ОС, предоставляющая основу для решения любых вычислительных задач. В большинстве прикладных ОС эти понятия означают одно и то же, различаясь деталями реализации.

Использованная литература:

1. Э.Таненбаум, А.Вудхалл. Операционные системы. Разработка и реализация. 3-е издание.

2. В.Г.Олифер, Н.А.Олифер. Сетевые операционные системы. Учебник для ВУЗов.

3. И.В.Машечкин, А.Н.Терёхин. Операционные системы. Лекционный курс факультета ВМиК МГУ им. М.В.Ломоносова.

Особое место среди системных программ отведено операционным системам.

Операционная система (ОС)- это программа, запускающаяся сразу.

ОС управляет компьютером, запускает программы, обеспечивает защиту данных, отвечает за различные сервисные функции по запросам пользователя и программ. Любая программа пользуется услугами ОС. Каждая программа способна работать только под управлением той ОС, которая обеспечивает для нее услуги. Получается, что выбор ОС очень важен. Ведь такой выбор определяет, с какими программами Вы сможете работать на своем компьютере. От выбора ОС также есть зависимость от производительности Вашей работы, степень защиты данных, необходимые аппаратные средства и тому подобное. Но, выбор ОС еще зависит от технических характеристик (конфигурации) компьютера. Естественно, что более современная ОС дает больше возможностей и более наглядна, она предъявляет требования и к компьютеру (тактовая частота процессора, оперативная и дисковая память, наличие и разрядность дополнительных карт и устройств).

Главная причина необходимости ОС. Необходимы элементарные операции для работы с устройствами компьютера и управление его ресурсами. Операции очень низкого уровня, поэтому действия, которые необходимы пользователю и прикладным программам, состоят из нескольких сотен или тысяч таких элементарных операций.

ОС позволяет спрятать от пользователя эти сложные и ненужные подробности и дает ему удобный интерфейс для работы. ОС выполняет различные вспомогательные действия, например, копирование и печать файлов.

ОС осуществляет загрузку в оперативную память всех программ, передает им управление в начале их работы, выполняет различные действия по запросу выполняемых программ и освобождает занимаемую программами оперативную память при их завершении.

ОС это комплекс системных и служебных программных средств. Приложениями ОС принято называть программы, которые предназначены для работы под управлением данной системы.

ОС — это программа, загружаемая при включении компьютера. Она производит диалог с пользователем, осуществляет управление компьютером, его ресурсами (оперативной памятью, местом на дисках и т.д.), запускает другие (прикладные) программы на выполнение. ОС обеспечивает пользователю и прикладным программам удобный способ общения (интерфейс) с устройствами компьютера. ОС имеет несколько основных функций (Таблице 1).

Кроме основных (базовых) функций ОС могут представлять различные дополнительные функции. Конкретный выбор операционной системы определяется совокупностью предоставляемых функций конкретными требованиями к рабочему месту.

В зависимости от алгоритма управления процессором, ОС делятся на:

— Однозадачные и многозадачные

— Однопользовательские и многопользовательские

— Однопроцессорные и многопроцессорные системы

— Локальные и сетевые.

По числу одновременно выполняемых задач операционные системы делятся на два класса:

— Однозадачные (MS DOS)

— Многозадачные (OS/2, Unix, Windows)

В однозадачных системах используются средства управления периферийными устройствами, средства управления файлами, средства общения с пользователями. Многозадачные ОС используют все средства, которые характерны для однозадачных, и, кроме того, управляют разделением совместно используемых ресурсов: процессор, ОЗУ, файлы и внешние устройства.

В зависимости от областей использования многозадачные ОС подразделяются на три типа:

— Системы пакетной обработки (ОС ЕС)

— Системы с разделением времени (Unix, Linux, Windows)

— Системы реального времени (RT11)


Рисунок 1. Скриншот рабочего стола Linux

Среди ОС, хотелось бы остановиться на рассмотрении ОС для решения задач реального времени, для организации работы вычислительных сетей, ОС основанных на графическом интерфейсе.

ОС реального времени. Они отличаются от ОС общего назначения в первую очередь тем, что поступающая в систему информация обязательно должна быть обработана в течение заданных интервалов времени (эти интервалы времени нельзя превышать). Кроме того запросы на обработку могут поступать в непредсказуемые моменты времени. Поэтому такие ОС должны обеспечить некоторые дополнительные возможности, например, создание постоянных задач.

При работе в режиме реального времени возможно возникновение очередей запросов на обработку, поэтому ОС должна организовать такие очереди и их обслуживание в соответствии с заданной дисциплиной.

ОС, предназначенные для организации работы вычислительных сетей. Работа ОС в вычислительной сети характеризуется определенными особенностями. Главной из них является необходимость организации передачи данных внутри вычислительной сети. Любая информация внутри вычислительной сети передается отдельными порциями — блоками данных.

Операционные системы, основанные на графическом интерфейсе. Операционная системы семейства Windows.

Оболочка Windows включает в себя множество компонентов и обеспечивает пользователям различной квалификации комфортные условия работы.

Работа с персональной ЭВМ мало отличалась от работы, например, на мини-ЭВМ: необходимо было хорошо знать ОС.

Сейчас, например, оболочка Windows исповедует совершенно другие принципы в части интерфейса пользователя с ЭВМ. Основная идея, заложенная в основу оболочки Windows, — естественность представления информации. Информация должна представляться в той форме, которая обеспечивает наиболее эффективное усвоение этой информации человеком. Несмотря на простоту (и даже тривиальность) этого принципа, его реализация в интерфейсах прикладных программ персональных ЭВМ по разным причинам оставляла желать лучшего. Да и реализация его в рамках Windows тоже не лишена недостатков. Но эта оболочка представляет собой существенный шаг вперед по сравнению с предыдущими интерфейсами.

Windows представляет собой графическую оболочку. От пользователя не требуется ввод директив с клавиатуры в виде текстовых строк. Необходимо только внимательно смотреть на экран и выбирать из предлагаемого набора требуемую операцию с помощью манипулятора мышь. На выбранном объекте необходимо зафиксировать курсор кнопкой мыши — и операция выполняется. С помощью того же манипулятора можно перемещать пиктограммы и окна по экрану, менять их размер, открывать и закрывать их — и все это при минимальном использовании клавиатуры для ввода каких бы то ни было директив. Кроме того, для любителей традиционного интерфейса DOS реализована возможность выхода на этот уровень. В оболочке Windows реализован принцип WYSIWYG (What you see is what you get = То, что вы видите, вы и получаете), до сих пор бывший привилегией небольшого числа программ.

Windows наиболее распространенная ОС, и для большинства пользователей она наиболее подходящая ввиду своей простоты, неплохого интерфейса, приемлемой производительности и огромного количества прикладных программ для нее.

У меня была возможность работать с ОС Microsoft от Windows 2000, до версии Windows 8, по-моему мнению наиболее удачной является ОС Windows 7, обладающая более совершенной защитой, чем Windows XP, более продуманный интерфейс и много разных других мелочей, делают эту ОС более привлекательной. Microsoft выпустили обновление для Windows 8, Windows 8.1, в которой решили немного вернуться к привычному пользователям рабочему столу.

Существуют и ОС для смартфонов: Android; iOS; Windows Phone. ОС Android на данный момент является самой популярной и распространенной. Если на рынке десктопных ОС главная тема, как и прежде, – Windows 10, то среди мобильных ОС по статистике 2016 года от компаний StatCounter и Net Applications, таковой могла бы стать iOS. С одной стороны, система получила крупнейшее обновление, с другой – новое поколение i-гаджетов в виде iPhone 7 и 7 Plus.

Операционные системы: понятие, виды и основные функции [26.02.13]

Как известно, процесс проникновения информационных технологий практически во все сферы человеческой деятельности продолжает развиваться и углубляться. Помимо уже привычных и широко распространенных персональных компьютеров, общее число которых достигло многих сотен миллионов, становится все больше и встроенных средств вычислительной техники. Пользователей всей этой разнообразной вычислительной техники становится все больше, причем наблюдается развитие двух вроде бы противоположных тенденций. С одной стороны, информационные технологии все усложняются, и для их применения, и тем более дальнейшего развития, требуется иметь очень глубокие познания. С другой стороны, упрощаются интерфейсы взаимодействия пользователей с компьютерами. Компьютеры и информационные системы становятся все более дружественными и понятными даже для человека, не являющегося специалистом в области информатики и вычислительной техники. Это стало возможным, прежде всего потому, что пользователи и их программы взаимодействуют с вычислительной техникой посредством специального (системного) программного обеспечения – через операционную систему.
Операционная система предоставляет интерфейсы и для выполняющихся приложений, и для пользователей. Программы пользователей, да и многие служебные программы запрашивают у операционной системы выполнение тех операций, которые достаточно часто встречаются практически в любой программе. К таким операциям, прежде всего, относятся операции ввода-вывода, запуск или останов какой-нибудь программы, получение дополнительного блока памяти или его освобождение и многие другие. Подобные операции невыгодно каждый раз программировать заново и непосредственно размещать в виде двоичного кода в теле программы, их удобнее собрать вместе и предоставлять для выполнения по запросу из программ. Это и есть одна из важнейших функций операционных систем. Прикладные программы, да и многие системные обрабатывающие программы, не имеют непосредственного доступа к аппаратуре компьютера, а взаимодействуют с ней только через обращения к операционной системе. Пользователи также путем ввода команд операционной системы или выбором возможных действий, предлагаемых системой, взаимодействуют с компьютером и своими программами. Такое взаимодействие осуществляется исключительно через операционную систему. Помимо выполнения этой важнейшей функции операционные системы отвечают за эффективное распределение вычислительных ресурсов и организацию надежных вычислений.

Цель курсовой работы – изучить основные характеристики операционных систем.

Для достижения цели необходимо решить следующие задачи:

  • определить назначение ОС;
  • рассмотреть виды ОС, состав и основные функции;
  • произвести ряд вычислительных расчетов для заполнения таблиц в практической части;
  • представить результаты расчетов в графическом виде.

Теоретическая часть

Понятие и назначение операционной системы

Операционная система (ОС) - комплекс системных и управляющих программ, предназначенных для наиболее эффективного использования всех ресурсов вычислительной системы (ВС) (Вычислительная система – взаимосвязанная совокупность аппаратных средств вычислительной техники и программного обеспечения, предназначенная для обработки информации) и удобства работы с ней).

  • организация вычислительного процесса в вычислительной системе;
  • рациональное распределение вычислительных ресурсов между отдельными решаемыми задачами;
  • предоставление пользователям многочисленных сервисных средств, облегчающих процесс программирования и отладки задач.

Операционная система исполняет роль своеобразного интерфейса (Интерфейс – совокупность аппаратуры и программных средств, необходимых для подключения периферийных устройств к персональной электронной вычислительной машине (ПЭВМ)) между пользователем и ВС, т.е. ОС предоставляет пользователю виртуальную ВС. Это означает, что ОС в значительной степени формирует у пользователя представление о возможностях ВС, удобстве работы с ней, ее пропускной способности. Различные ОС на одних и тех же технических средствах могут предоставить пользователю различные возможности для организации вычислительного процесса или автоматизированной обработки данных. В программном обеспечении ВС операционная система занимает основное положение, поскольку осуществляет планирование и контроль всего вычислительного процесса. Любая из компонент программного обеспечения обязательно работает под управлением ОС.

Настоящая операционная система должна:

  • быть общепризнанной и использоваться как стандартная система на многих компьютерах;
  • работать со всеми устройствами компьютера, в том числе и выпущен­ными давно;
  • обеспечивать запуск самых разных программ, написанных разными людьми и в разное время;
  • предоставлять средства для проверки, настройки, обслуживания ком­пьютерной системы.

Современные операционные системы являются многозадачными, то есть пользователь может запускать одновременно несколько приложений, наблюдая результат выполнения каждой из них. Это возможно благодаря конструкции ОС и функциональности современных процессоров – не зря операционные системы пишутся для процессора, а не наоборот. Современный процессор представляет собой не одноядерное, а двухъядерное и даже четырехъядерное решение, что увеличивает его производительность во много раз. Этим пользуется операционная система, оптимально распределяя ресурсы процессора между всеми запущенными процессами.

Главными характеристиками операционной системы являются стабильность ее работы и устойчивость к различным угрозам – внешним (вирусам) и внутренним (аппаратным сбоям и конфликтам). Сегодня выпускается два типа операционных систем – серверные и однопользовательские. Первые представляют собой серьезную программную реализацию, поскольку содержат механизмы, с помощью которых контролируются отношения и поддерживается локальная сеть. Вторые – облегченные, могут работать как автономно, так и в составе сети, подчиняясь ее правилам.

Виды операционных систем

Существует несколько наиболее распространенных операционных систем, каждая из которых ориентирована на определенное семейство процессоров и, соответственно, компьютеров.

RT-11 (Система реального времени). Операционная система RT-11 была разработана в 1972 году фирмой DEC для семейства малых ЭВМ PDP-11. На базе этой системы в СССР были разработаны версии этой системы (РАФОС, ОС ДВК, ФОДОС), которые использовались на мини-ЭВМ СМ-4, персональных ЭВМ ДВК и в школьных компьютерных классах УКНЦ и БК-0011.

MS-DOS (Дисковая операционная система Microsoft). Операционная система MS-DOS была разработана в начале 80-х годов для работы на компьютерах IBM PC/XT, созданных на базе процессора 8086 фирмы Intel. MS-DOS была наиболее распространенной операционной системой с интерфейсом командной строки, которая устанавливалась на компьютерах, созданных на базе процессоров 80286, 80386, 80486, Pentium. Последней версией была MS-DOS 6.22.

Microsoft Windows (Windows 95, Windows NT, Windows98, Windows 2000, Windows ХР, Windows Vesta). Многозадачная операционная система с графическим интерфейсом Windows пришла на смену MS-DOS. В настоящее время более 90% персональных компьютеров реализованы на платформе Intel & Windows, т. е. в них установлен Intel-совместимый процессор (Pentium) и инсталлирована операционная система Windows.

OS/2 (Operation System). Операционная система OS/2 была разработана корпорацией IBM в конце 80-х годов для компьютеров PS/2 (Personal system/2). Большого распространения не получила.

Apple System (Операционная система фирмы Apple). Различные версии этой системы устанавливаются на компьютерах фирмы Apple (Macintosh, PowerPC и др.). В этой операционной системе в конце 80-х годов впервые был использован многооконный графический интерфейс и управление с помощью манипулятора типа мышь.

Состав и основные функции ОС

Операционная система является достаточно сложно организованной программой, и более уместно будет говорить о ней, как о целом комплексе программ. Таким образом, в состав ОС входят следующие модули:

Модуль

Назначение

Управляет работой программ и файловой системой, обеспечивает доступ к ней и обмен файлами между периферийными устройствами

Расшифровывает и исполняет команды пользователя, поступающие прежде всего через клавиатуру

Программы для работы с устройствами компьютера. К каждому устройству прилагается инструкция (программа-драйвер), в которой описывается, как с ним должна работать ОС

Благодаря графическому интерфейсу пользователь вводит команды с помощью мыши, что позволяет ему избегать ошибок при формировании текста команд, возникающих при вводе последних с клавиатуры

Программы-утилиты, позволяющие обслуживать диски, выполнять операции с файлами, работать в сетях и т.д.

Позволяет оперативно получать необходимую информацию о функционировании ОС в целом, так и о работе ее отдельных модулей.

Современные операционные системы выполняют три основные функции.

Во-первых, они упрощают использование аппаратных средств компьютера, и делает работу с ним эффективной и удобной.

Во-вторых, важным свойством операционных систем является унификация программного обеспечения. Раньше программы были машинно-зависимыми. То есть программа, написанная для одного компьютера, не могла работать на другом, пусть даже таком же компьютере, без корректировки. С появлением операционных систем, программистам больше не надо переписывать приложения для каждого нового компьютера, так как все машинно-зависимые части программы были перенесены в код операционных систем.

В-третьих, операционная система должна быть организована так, чтобы она допускала эффективную разработку, тестирование и внедре­ние новых приложений и системных функций, причем это не должно ме­шать нормальному функционированию вычислительной системы.

К дополнительным функциям ОС относятся:

  • параллельное или псевдопараллельное выполнение задач (многозадачность);
  • взаимодействие между процессами: обмен данными, взаимная синхронизация;
  • защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений;
  • разграничение прав доступа и многопользовательский режим работы (аутентификация, авторизация).

Практическая часть

Вариант 16

2.1. Постановка задачи

2.1.1. Цель решения задачи

Целью решения задачи является расчет общей стоимости пошива одного изделия каждого фасона, стоимости пошива планируемого выпуска изделий, а также стоимости пошива планируемого выпуска изделий с учетом повышаю­щего коэффициента по каждому фасону и по всем фасонам в целом. Результаты расчета позволят фабрике грамотно использовать ресурсы, а так же оптимизировать затраты предприятия и повысить прибыльность производства.

2.1.2. Условие задачи.

Читайте также: