
КТНИ / mppz1_m2_iems_iems_ktni_niy16
.pdfТема 1. Модуль 2. Операционная система – платформа для программного обеспечения при проведении научных исследований. Классификация и возможности операционных систем.
План занятия:
1)Общие сведения об операционных системах
2)Состав операционной системы
Современный ученый, исследователь, научный сотрудник – это в первую очередь организованный высокоинтеллектуальный квалифицированный специалист, умеющий не только решать поставленные перед ним цели и задачи, но также самостоятельно их ставить. Достижение целей научного исследования в современном мире связано с решением задач, в том числе, с использованием компьютеров и компьютерных технологии.
Ранее было показано, что с использованием средств вычислительной техники ученые готовят технические задания на научно-исследовательские и опытноконструкторские работы; проводят поиск научно-технической информации; готовят тезисы доклада для выступления на конференциях; пишут научные статьи, обзоры, монографии; используют системы автоматизированного проектирования; обрабатывают численные и экспериментальные результаты; общаются с использованием чатов, icq, skype, e-mail; регистрируются на мероприятия; бронируют билеты в гостиницы и на транспорт и т.д.
Такой широкий спектр функций связан с самым разнообразным программным обеспечением (ПО), работающим под одной из существующих операционных систем (ОС). Возможность работы ПО, его качество и скорость определяется правильным выбором ОС. Кроме того, современная операционная система уже изначально включает большую часть функционала, которым пользуется ученый.
Согласно определению информационного ресурса википедия «
» (англ. operating system, OS) — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений. Это определение применимо к большинству современных операционных систем общего назначения.
В логической структуре типичной вычислительной системы операционная система занимает положение между устройствами с их микроархитектурой, машинным языком и, возможно, собственными (встроенными) микропрограммами
— с одной стороны — и прикладными программами с другой.
Разработчикам программного обеспечения операционная система позволяет абстрагироваться от деталей реализации и функционирования устройств, предоставляя минимально необходимый набор функций.
В большинстве вычислительных систем операционная система является основной, наиболее важной (а иногда и единственной) частью системного программного обеспечения. С 1990-х годов наиболее распространёнными
операционными системами являются системы семейства Windows и системы класса UNIX, OS/2 и некоторые другие.
Операционная система выполняет следующие основные функции:
Выполнение запросов программ (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др.).
Загрузка программ в оперативную память и их выполнение.
Стандартизованный доступ к периферийным устройствам (устройства вводавывода).
Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).
Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски, флешь-накопители и др.), организованным в той или иной файловой системе.
Обеспечение пользовательского интерфейса.
Сохранение информации об ошибках системы.
Предоставление пользователям текстовых и графических редакторов, программ для связи друг с другом, управление системными процессами и ресурсами.
Для работы научных коллективов важно, чтобы программное обеспечение (системы автоматизированного проектирования, текстовые и графические редакторы, электронные таблицы и др.) работало стабиль, т.к. выполнение научных экспериментов может длиться месяцами и даже годами. Очень важно не потерять накопленную информацию, получать ее с достоверной точностью.
В процессе получения новых результатов часто приходится обсудить их с коллегами, которые могут находиться не только в другой стране, но даже на другом континенте. Это важно сделать максимально быстро, чтобы уточнить условия эксперимента.
Дополнительные функции:
Параллельное или псевдопараллельное выполнение задач (многозадачность).
Эффективное распределение ресурсов вычислительной системы между процессами.
Разграничение доступа различных процессов к ресурсам.
Организация надёжных вычислений (невозможности одного вычислительного процесса намеренно или по ошибке повлиять на вычисления в другом процессе), основана на разграничении доступа к ресурсам.
Взаимодействие между процессами: обмен данными, взаимная синхронизация.
Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений.
Многопользовательский режим работы и разграничение прав доступа (см.: аутентификация, авторизация).
Компоненты операционной системы:
Загрузчик
Ядро
Командный процессор (интерпретатор)
Драйверы устройств
Интерфейс Существуют две группы определений операционной системы: «набор
программ, управляющих оборудованием» и «набор программ, управляющих другими программами». Обе они имеют свой точный технический смысл, который связан с вопросом, в каких случаях требуется операционная система.
Есть приложения вычислительной техники, для которых операционные системы излишни. Например, встроенные микрокомпьютеры, содержащиеся во многих бытовых приборах, автомобилях (иногда по десятку в каждом), простейших сотовых телефонах, постоянно исполняют лишь одну программу, запускающуюся по включении. Многие простые игровые приставки — также представляющие собой специализированные микрокомпьютеры — могут обходиться без операционной системы, запуская при включении программу, записанную на вставленном в устройство «картридже» или компакт-диске.
Необходимо использовать операционные системы, если:
вычислительная система используется для различных задач, причём программы, решающие эти задачи, нуждаются в сохранении данных и обмене ими. Из этого следует необходимость универсального механизма сохранения данных; в подавляющем большинстве случаев операционная система отвечает на неё реализацией файловой системы. Современные системы, кроме того, предоставляют возможность непосредственно «связать» вывод одной программы со вводом другой, минуя относительно медленные дисковые операции;
различные программы нуждаются в выполнении одних и тех же рутинных действий. Например, простой ввод символа с клавиатуры и отображение его на экране может потребовать исполнения сотен машинных команд, а дисковая операция — тысяч. Чтобы не программировать их каждый раз заново, операционные системы предоставляют системные библиотеки часто используемых подпрограмм (функций);
между программами и пользователями системы необходимо распределять полномочия, чтобы пользователи могли защищать свои данные от несанкционированного доступа, а возможная ошибка в программе не вызывала тотальных неприятностей;
необходима возможность имитации «одновременного» исполнения нескольких программ на одном компьютере (даже содержащем лишь один процессор), осуществляемой с помощью приёма, известного как «разделение времени». При этом специальный компонент, называемый планировщиком, делит процессорное время на короткие отрезки и предоставляет их поочерёдно различным исполняющимся программам (процессам);
оператор должен иметь возможность так или иначе управлять процессами выполнения отдельных программ. Для этого служат операционные среды — оболочка и наборы утилит — они могут являться частью операционной
системы.
Таким образом, современные универсальные операционные системы можно охарактеризовать, прежде всего, как:
использующие файловые системы (с универсальным механизмом доступа к данным),
многопользовательские (с разделением полномочий),
многозадачные (с разделением времени).
Многозадачность и распределение полномочий требуют определённой иерархии привилегий компонентов самой операционной системе. В составе операционной системы различают три группы компонентов:
ядро, содержащее планировщик;
драйверы устройств, непосредственно управляющие оборудованием;
сетевая подсистема, файловая система;
системные библиотеки;
оболочка с утилитами.
Большинство программ, как системных (входящих в операционную
систему), так и прикладных, исполняются в непривилегированном («пользовательском») режиме работы процессораи получают доступ к оборудованию (и, при необходимости, к другим ресурсам ядра, а также ресурсам иных программ) только посредством системных вызовов. Ядро исполняется в привилегированном режиме: именно в этом смысле говорят, что система (точнее, её ядро) управляет оборудованием.
Состав операционной системы
В определении состава операционной системы значение имеет критерий операциональной целостности (замкнутости): система должна позволять полноценно использовать (включая модификацию) свои компоненты. Поэтому в полный состав операционной системы включают и набор инструментальных средств (от текстовых редакторов до компиляторов, отладчиков и компоновщиков).
Ядро операционной системы — центральная часть, управляющая выполнением процессов, ресурсами вычислительной системы и предоставляющая процессам координированный доступ к этим ресурсам. Основными ресурсами являются процессорное время, память и устройства ввода-вывода. Доступ к файловой системе и сетевое взаимодействие также могут быть реализованы на уровне ядра.
Как основополагающий элемент операционной системы, ядро представляет собой наиболее низкий уровень абстракции для доступа приложений к ресурсам вычислительной системы, необходимым для их работы. Как правило, ядро предоставляет такой доступ исполняемым процессам соответствующих приложений за счёт использования механизмов межпроцессного взаимодействия и обращения приложений к системным вызовам ОС.
Описанная задача может различаться в зависимости от типа архитектуры ядра и способа её реализации.
Объекты ядра ОС:
Процессы
Файлы
События
Потоки
Семафоры
Мьютексы
Каналы
Файлы, проецируемые в память
Мьютексы (англ. mutex, от mutual exclusion — «взаимное исключение») —
это один из вариантов семафорных механизмов для организации взаимного исключения. Они реализованы во многих ОС, их основное назначение — организация взаимного исключения для потоков из одного и того же или из разных процессов.
Предшественником операционных систем следует считать служебные программы (загрузчики и мониторы), а также библиотеки часто используемых подпрограмм, начавшие разрабатываться с появлением универсальных компьютеров 1-го поколения (конец 1940-х годов). Служебные программы минимизировали физические манипуляции оператора с оборудованием, а библиотеки позволяли избежать многократного программирования одних и тех же действий (осуществления операций ввода-вывода, вычисления математических функций и т. п.).
В 1950—1960-х годах сформировались и были реализованы основные идеи, определяющие функциональность ОС: пакетный режим, разделение времени и многозадачность, разделение полномочий, реальный масштаб времени, файловые структуры и файловые системы.
UNIX операционный системы
В 1969 году на свет появилась операционная система UNIX (первоначальное название UNICS), разработанная и реализованная Кеном Томпсоном при участии Денниса Ритчи и Брайана Кернигана. UNIX вобрала в себя многие черты ранних систем, но обладала целым рядом новых свойств:
простая метафорика (два ключевых понятия: вычислительный процесс и файл);
компонентная архитектура: принцип «одна программа — одна функция» плюс мощные средства связывания различных программ для решения возникающих задач («оболочка»);
минимизация ядра (кода, выполняющегося в «реальном» (привилегированном) режиме процессора) и количества системных вызовов;
независимость от аппаратной архитектуры и реализация на машиннонезависимом языке программирования (язык программирования Си стал побочным продуктом разработки UNIX);
унификация файлов.
Заключение
Развитие операционных систем началось с середины 50-х годом. ОС того времени соответствовали возможностям аппаратной архитектуры и конечно совершенно не похожи на современные системы. Современные разработки решают множество задач: коммуникация людей, доступ к источникам информации (обучение, наука), досуг (игры, мультимедиа, аудио- и видеоплейеры). Кроме того, в научном мире, в деловом сообществе эти задачи связаны с моделированием, численным расчетом объектов, устройств, электрических схем, корпусных изделий и т.д. Трудно даже поверить, что все эти задачи ранее решались ручным способом без таких известных программных продуктов как AutoCad, MatLab, MathCad, CorelDraw, PhotoShop, LabView, Cadence, Synopsys и многих других.
Конечно, выбор операционной системы зависит в первую очередь от целей, которые она должна решать. Однако в независимости от тематики научного исследования ученому требуется использовать компьютер также, кроме перечисленного, для управления установками, для построения блок-схем, алгоритмов, формирования отчетов, взаимодействия с вышестоящим руководством и инстанциями, создания и отправки заявок на гранты.
Современный ученый наряду с знаниями в рамках своего научного направления должен уметь применять для решения своих задач компьютерные средства и компьютерные технологии. Наряду со знанием иностранных языков, личностными деловыми качествами компьютерные технологии позволяют развиваться ученому, достигать новых высот, планировать дальнейшие работы, представлять результаты своего труда или коллектива.
Список использованной литературы:
http://ru.wikipedia.org/
http://xn--b1ag1akc.xn
http://mirsovetov.ru/
http://www.3dnews.ru
http://www.microsoft.com/rus
http://www.expocrocus.ru
http://winfaq.by.ru
http://www.raid-kvadrat.ru
http://www.citforum.ru