КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Понятие операционной системы
Система программирования [Programming System, Development System, Supporting System] – совокупность (комплекс) системных программ и средств, предназначенных для разработки, отладки и исполнения нового программного обеспечения (ПО) на конкретном языке программирования. Системы программирования и Среды программирования
Даже при наличии десятков тысяч программ для компьютеров пользователям может потребоваться что-то такое, чего не делают (или делают, но не так) имеющиеся программы. В этих случаях следует использовать системы программирования. Среда программирования [ Programming Environment ] или Интегрированная среда разработки (ИСР) [ Integrated Development/Debugging Environment = IDE ] – система программных средств, используемая программистами для разработки нового программного обеспечения.
Операционные системы и среды
1. Под операционной системой (ОС) обычно понимают комплекс управляющих и обрабатывающих программ, который, с одной стороны, выступает как интерфейс между аппаратурой компьютера и пользователем с его задачами, а с другой – предназначен для наиболее эффективного использования ресурсов вычислительной системы и организации надежных вычислений. Любой из компонентов прикладного программного обеспечения обязательно работает под управлением ОС. Как видно из рис. 2, ни один из компонентов программного обеспечения, за исключением самой ОС, не имеет непосредственного и полного доступа к аппаратуре компьютера. Даже пользователи взаимодействуют со своими программами через интерфейс ОС. Любые их команды, прежде чем попасть в прикладную программу, сначала проходят через ОС. С 1990-х годов наиболее распространёнными ОС являются: 1) системы семейства Microsoft Windows (в настоящее время – Windows XP и Windows 7); 2) системы класса UNIX (особенно Linux и Mac OS).
В логической структуре типичной вычислительной системы операционная система занимает положение между устройствами с их микроархитектурой, машинным языком и, возможно, собственными (встроенными) микропрограммами – с одной стороны – и прикладными программами с другой. Разработчикам программного обеспечения ОС позволяет абстрагироваться от деталей реализации и функционирования устройств, предоставляя минимально необходимый набор функций. В большинстве вычислительных систем ОС является основной, наиболее важной (а иногда и единственной) частью системного программного обеспечения. Основные функции, которые выполняет ОС: 1) прием от пользователя (или от оператора системы) заданий или команд, сформулированных на соответствующем языке – в виде директив (команд) оператора или в виде указаний (своеобразных команд) с помощью соответствующих манипуляторов (например, с помощью мыши), – и их обработка; 2) прием и исполнение программных запросов на запуск, приостановку, остановку других программ; 3) загрузка в оперативную память подлежащих исполнению программ; 4) инициация программы (передача ей управления, в результате чего процессор исполняет программу); 5) идентификация всех программ и данных; 6) обеспечение работы систем управлений файлами (СУФ) и/или систем управления базами данных (СУБД), что позволяет резко увеличить эффективность всего программного обеспечения; 7) обеспечение мультипрограммного (мультизадачного, многопрограммного, многозадачного) режима, то есть выполнения двух или более программ на одном процессоре, создающего видимость их одновременного исполнения; 8) обеспечение функций по организации и управлению всеми операциями ввода/вывода; 9) удовлетворение жестким ограничениям на время ответа в режиме реального времени (характерно для соответствующих ОС); 10) распределение памяти, а в большинстве современных систем и организация виртуальной памяти; 11) планирование и диспетчеризация задач в соответствии с заданными стратегией и дисциплинами обслуживания; 12) организация механизмов обмена сообщениями и данными между выполняющимися программами; 13) защита одной программы от влияния другой, обеспечение сохранности данных; 14) предоставление услуг на случай частичного сбоя системы; 15) обеспечение работы систем программирования, с помощью которых пользователи готовят свои программы. · Выполнение по запросу программ (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др.). · Загрузка программ в оперативную память и их выполнение. · Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода). · Управление оперативной памятью (распределение между процессами, организация виртуальной памяти). · Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе. · Обеспечение пользовательского интерфейса. · Сохранение информации об ошибках системы. · Сетевые операции, поддержка стека протоколов. Дополнительные функции: · Параллельное или псевдопараллельное выполнение задач (многозадачность). · Эффективное распределение ресурсов вычислительной системы между процессами. · Разграничение доступа различных процессов к ресурсам. · Организация надёжных вычислений (невозможности одного вычислительного процесса намеренно или по ошибке повлиять на вычисления в другом процессе), основана на разграничении доступа к ресурсам. · Взаимодействие между процессами: обмен данными, взаимная синхронизация. · Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений. · Многопользовательский режим работы и разграничение прав доступа (см. аутентификация, авторизация).
Существуют две группы определений ОС: «совокупность программ, управляющих оборудованием» и «совокупность программ, управляющих другими программами». Обе они имеют свой точный технический смысл, который, однако, становится ясен только при более детальном рассмотрении вопроса о том, зачем вообще нужны операционные системы. Есть приложения вычислительной техники, для которых ОС излишни. Например, встроенные микрокомпьютеры содержатся сегодня во многих бытовых приборах, автомобилях (иногда по десятку в каждом), сотовых телефонах и т. п. Зачастую такой компьютер постоянно исполняет лишь одну программу, запускающуюся по включении. И простые игровые приставки – также представляющие собой специализированные микрокомпьютеры – могут обходиться без ОС, запуская при включении программу, записанную на вставленном в устройство «картридже» или компакт-диске. Тем не менее, некоторые микрокомпьютеры и игровые приставки всё же работают под управлением особых собственных ОС. В большинстве случаев, это UNIX-подобные системы (последнее особенно верно в отношении программируемого коммутационного оборудования: файрволов, маршрутизаторов).
Операционные системы нужны, если: · вычислительная система используется для различных задач, причём программы, решающие эти задачи, нуждаются в сохранении данных и обмене ими. Из этого следует необходимость универсального механизма сохранения данных; в подавляющем большинстве случаев операционная система отвечает на неё реализацией файловой системы. Современные системы, кроме того, предоставляют возможность непосредственно «связать» вывод одной программы со вводом другой, минуя относительно медленные дисковые операции; · различные программы нуждаются в выполнении одних и тех же рутинных действий. Например, простой ввод символа с клавиатуры и отображение его на экране может потребовать исполнения сотен машинных команд, а дисковая операция – тысяч. Чтобы не программировать их каждый раз заново, операционные системы предоставляют системные библиотеки часто используемых подпрограмм (функций); · между программами и пользователями системы необходимо распределять полномочия, чтобы пользователи могли защищать свои данные от несанкционированного доступа, а возможная ошибка в программе не вызывала тотальных неприятностей; · необходима возможность имитации «одновременного» исполнения нескольких программ на одном компьютере (даже содержащем лишь один процессор), осуществляемой с помощью приёма, известного как «разделение времени». При этом специальный компонент, называемый планировщиком, делит процессорное время на короткие отрезки и предоставляет их поочерёдно различным исполняющимся программам (процессам); · оператор должен иметь возможность так или иначе управлять процессами выполнения отдельных программ. Для этого служат операционные среды – оболочка и наборы утилит – они могут являться частью операционной системы.
Таким образом, современные универсальные операционные системы можно охарактеризовать, прежде всего, как: · использующие файловые системы (с универсальным механизмом доступа к данным), · многопользовательские (с разделением полномочий), · многозадачные (с разделением времени). Многозадачность и распределение полномочий требуют определённой иерархии привилегий компонентов самой операционной системе. В составе операционной системы различают три группы компонентов: · ядро, содержащее планировщик; драйверы устройств, непосредственно управляющие оборудованием; сетевая подсистема, файловая система; · системные библиотеки; · оболочка с утилитами. Большинство программ, как системных (входящих в операционную систему), так и прикладных, исполняются в непривилегированном («пользовательском») режиме работы процессора и получают доступ к оборудованию (и, при необходимости, к другим ресурсам ядра, а также ресурсам иных программ) только посредством системных вызовов. Ядро исполняется в привилегированном режиме: именно в этом смысле говорят, что система (точнее, её ядро) управляет оборудованием. В определении состава операционной системы значение имеет критерий операциональной целостности (замкнутости): система должна позволять полноценно использовать (включая модификацию) свои компоненты. Поэтому в полный состав операционной системы включают и набор инструментальных средств (от текстовых редакторов до компиляторов, отладчиков и компоновщиков).
Дата добавления: 2014-01-07; Просмотров: 446; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |