Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Классификация ПО
Программное обеспечение принято по назначению подразделять на системы программирования, системное и прикладное, а по способу распространения и использования на несвободное/закрытое, открытое и свободное. Свободное программное обеспечение может распространяться, устанавливаться и использоваться на любых компьютерах дома, в офисах, школах, вузах, а также коммерческих и государственных учреждениях без ограничений.
Системы программированияпредназначены для разработки программ. Системное ПО предназначено для обеспечения нормальной работы компьютера, его обслуживания и настройки. Прикладное ПО предназначено для решения конкретных задач пользователя.
Системы программирования. Система программирования — это система для разработки новых программ на конкретном языке программирования. Язы́к программи́рования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под ее управлением.
Со времени создания первых программируемых машин человечество придумало более двух с половиной тысяч языков программирования. Каждый год их число увеличивается. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты иногда применяют в своей работе более десятка разнообразных языков программирования.
Создатели языков по-разному толкуют понятие язык программирования. К наиболее распространённым утверждениям, признаваемым большинством разработчиков, относятся следующие:
Функция: язык программирования предназначен для написания компьютерных программ, которые применяются для передачи компьютеру инструкций по выполнению того или иного вычислительного процесса и организации управления отдельными устройствами. Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека к компьютеру, в то время как естественные языки используются для общения людей между собой. Можно обобщить определение «языков программирования» — это способ передачи команд, приказов, чёткого руководства к действию; тогда как человеческие языки служат также для обмена информацией. Исполнение: язык программирования может использовать специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений.
Языки программирования принято делить на две основные группы, по мере их близости или удаленности от языка машинных команд.
Языки низкого уровня – например, язык ассемблера. Программы, написанные на этом языке работают, очень быстро и имеют маленький размер. Однако использование этого языка требует высокой квалификации программиста и больших затрат времени на составление и отладку программ. Языки высокого уровня – например, известные всем Basic, Pascal, C++, Delphi, Fortran – в значительно большей степени ориентированы на человека. Большая часть программ создается с помощью языков высокого уровня таких как С++, Delphi, Visual Basic. Существуют как универсальные, так и специализированные языки программирования. Например, для разработки Интернет-программ можно использовать язык Java, а для создания www-страниц Интернет язык HTML.
Системное ПО. Систе́мное програ́ммное обеспе́чение — это комплекс программ, которые обеспечивают эффективное управление компонентами компьютерной системы, такими как процессор, оперативная память, устройства ввода-вывода, сетевое оборудование, выступая как «межслойный интерфейс», с одной стороны которого аппаратура, а с другой - приложения пользователя. В отличие от прикладного программного обеспечения, системное не решает конкретные прикладные задачи, а лишь обеспечивает работу других программ, управляет аппаратными ресурсами вычислительной системы и т.д.
В состав системного ПО входят: · операционные системы; · программы для обслуживания и настройки компьютера (утилиты). Операционная система. Операцио́нная систе́ма, сокр. ОС (англ. operating system, OS) — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений. Это определение применимо к большинству современных ОС общего назначения.
В большинстве вычислительных систем ОС является основной, наиболее важной (а иногда и единственной) частью системного ПО. С 1990-х наиболее распространёнными операционными системами являются ОС семейства Microsoft Windows и системы класса UNIX (особенно Linux и Mac OS).
Функции операционных систем. Основные функции:
· Выполнение по запросу программ (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др.). · Загрузка программ в оперативную память и их выполнение. · Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода). · Управление оперативной памятью (распределение между процессами, организация виртуальной памяти). · Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе. · Обеспечение пользовательского интерфейса. · Сохранение информации об ошибках системы.
Дополнительные функции:
· Параллельное или псевдопараллельное выполнение задач (многозадачность). · Эффективное распределение ресурсов вычислительной системы между процессами. · Разграничение доступа различных процессов к ресурсам. · Организация надёжных вычислений (невозможности одного вычислительного процесса намеренно или по ошибке повлиять на вычисления в другом процессе), основана на разграничении доступа к ресурсам. · Взаимодействие между процессами: обмен данными, взаимная синхронизация. · Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений. · Многопользовательский режим работы и разграничение прав доступа.
Компоненты операционной системы
Понятие операционной системы. Существуют две группы определений ОС: «набор программ, управляющих оборудованием» и «набор программ, управляющих другими программами». Обе они имеют свой точный технический смысл, который, однако, становится ясен только при более детальном рассмотрении вопроса о том, зачем вообще нужны ОС. Есть приложения вычислительной техники, для которых ОС излишни. Например, встроенные микрокомпьютеры содержатся сегодня во многих бытовых приборах, автомобилях (иногда по десятку в каждом), сотовых телефонах и т. п. Зачастую такой компьютер постоянно исполняет лишь одну программу, запускающуюся по включении. И простые игровые приставки — также представляющие собой специализированные микрокомпьютеры — могут обходиться без ОС, запуская при включении программу, записанную на вставленном в устройство «картридже» или компакт-диске. Тем не менее, некоторые микрокомпьютеры и игровые приставки всё же работают под управлением особых собственных ОС. В большинстве случаев это UNIX-подобные системы (последнее особенно верно в отношении программируемого коммутационного оборудования: межсетевых экранов, маршрутизаторов). ОС нужны, если:
Таким образом, современные универсальные ОС можно охарактеризовать, прежде всего, как
Многозадачность и распределение полномочий требуют определённой иерархии привилегий компонентов самой ОС. В составе ОС различают три группы компонентов:
Ядро операционной системы Ядро — центральная часть операционной системы, управляющая выполнением процессов, ресурсами вычислительной системы и предоставляющая процессам координированный доступ к этим ресурсам. Основными ресурсами являются процессорное время, память и устройства ввода-вывода. Доступ к файловой системе и сетевое взаимодействие также могут быть реализованы на уровне ядра. Эволюция операционных систем и основные идеи. Предшественником ОС следует считать служебные программы (загрузчики и мониторы), а также библиотеки часто используемых подпрограмм, начавшие разрабатываться с появлением универсальных компьютеров 1-го поколения (конец 1940-х годов). Служебные программы минимизировали физические манипуляции оператора с оборудованием, а библиотеки позволяли избежать многократного программирования одних и тех же действий (осуществления операций ввода-вывода, вычисления математических функций и т. п.). В 1950—1960-х годах сформировались и были реализованы основные идеи, определяющие функциональность ОС: пакетный режим, разделение времени и многозадачность, разделение полномочий, реальный масштаб времени, файловые структуры и файловые системы. Пакетный режим Необходимость оптимального использования дорогостоящих вычислительных ресурсов привела к появлению концепции «пакетного режима» исполнения программ. Пакетный режим предполагает наличие очереди программ на исполнение, причём ОС может обеспечивать загрузку программы с внешних носителей данных в оперативную память, не дожидаясь завершения исполнения предыдущей программы, что позволяет избежать простоя процессора. Разделение времени и многозадачность. Уже пакетный режим в своём развитом варианте требует разделения процессорного времени между выполнением нескольких программ.
Необходимость в разделении времени (многозадачности, мультипрограммировании) проявилась ещё сильнее при распространении в качестве устройств ввода-вывода телетайпов (а позднее, терминалов с электронно-лучевыми дисплеями) (1960-е годы). Поскольку скорость клавиатурного ввода (и даже чтения с экрана) данных оператором много ниже, чем скорость обработки этих данных компьютером, использование компьютера в «монопольном» режиме (с одним оператором) могло привести к простою дорогостоящих вычислительных ресурсов. Разделение времени позволило создать «многопользовательские» системы, в которых один (как правило) центральный процессор и блок оперативной памяти соединялся с многочисленными терминалами. При этом часть задач (таких как ввод или редактирование данных оператором) могла исполняться в режиме диалога, а другие задачи (такие как массивные вычисления) — в пакетном режиме. Разделение полномочий. Распространение многопользовательских систем потребовало решения задачи разделения полномочий, позволяющей избежать возможности изменения исполняемой программы или данных одной программы в памяти компьютера другой программой (намеренно или по ошибке), а также изменения самой ОС прикладной программой. Реализация разделения полномочий в ОС была поддержана разработчиками процессоров, предложивших архитектуры с двумя режимами работы процессора — «реальным» (в котором исполняемой программе доступно всё адресное пространство компьютера) и «защищённым» (в котором доступность адресного пространства ограничена диапазоном, выделенном при запуске программы на исполнение). Реальный масштаб времени Применение универсальных компьютеров для управления производственными процессами потребовало реализации «реального масштаба времени» («реального времени») — синхронизации исполнения программ с внешними физическими процессами. Включение функции реального масштаба времени в ОС позволило создавать системы, одновременно обслуживающие производственные процессы и решающие другие задачи (в пакетном режиме и/или в режиме разделения времени). Файловые системы и структуры Постепенная замена носителей с последовательным доступом (перфолент, перфокарт и магнитных лент) накопителями произвольного доступа (на магнитных дисках). Файловая система — способ хранения данных на внешних запоминающих устройствах. Встроенные программы Встроенные программы или firmware - это программы, "зашитые" в цифровые электронные устройства. В ряде случаев (например, BIOS IBM-PC совместимых компьютеров) являются по сути частью операционной системы, хранящейся в постоянной памяти. В достаточно простых устройствах вся операционная система может быть встроенной. Многие устройства современных компьютеров имеют собственные "прошивки", осуществляющие управление этими устройствами и упрощающие взаимодействие с ними. Исходя из выполняемых функции, ОС можно разбить на три группы: • однозадачные (однопользовательские); • многозадачные (многопользовательские); • сетевые.
Однозадачные ОС могут выполнять в одно и тоже время не более одной задачи. Типичным представителем таких операционных систем является MS-DOS. Многозадачные ОС обеспечивают коллективное использование компьютера в мультипрограммном режиме разделения времени (в памяти компьютера находится несколько программ — задач, — и процессор распределяет ресурсы компьютера между задачами). Типичными представителями подобного класса ОС являются: UNIX, Linux, OS/2, Microsoft Windows 95, Microsoft Windows NT и другие.
Сетевые операционные системы связаны с появлением локальных и глобальных сетей Интернет и предназначены для обеспечения доступа пользователя ко всем ресурсам вычислительной сети. Типичными представителями сетевых ОС являются: Novell NetWare, Microsoft Windows NT, UNIX, Solaris фирмы Sun.
Кроме названных ОС в мире существуют и другие. Например, Windows CE для карманных компьютеров, MасOS для компьютеров Macintosh, BeOS для маков и писишек, Linux и др.
Этапы загрузки ОС. При включении компьютера операционная система загружается в память компьютера автоматически. Загрузка ОС происходит в несколько этапов следующим образом (на примере загрузки Windows 98).
Дата добавления: 2014-12-09; просмотров: 343; Нарушение авторских прав Мы поможем в написании ваших работ! |