Системное программное обеспечение презентация. Классификация Прикладное ПО Системные программы Инструментальные системы. Возможные времена связывания

Связывание

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

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

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

Системное программное обеспечение

Возможные времена связывания

При определении языка; при реализации компилятора;

во время трансляции, в том числе:

при работе препроцессора (макропроцессора)

во время лексического, синтаксического и семантического анализа, генерации кода и его оптимизации;

при компоновке; во время загрузки программы;

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

Системное программное обеспечение

Связывание в int a,b; … a+b

Тип переменных int - целая переменная в машинном слове стандартной длины (представление целого со знаком, дополнительный код), связывается с аналогичной формой представления данных в компьютере при определении языка.

Конкретная размерность переменной int определяется при реализации соответствующего компилятора.

Имя a может быть определено в конструкции вида

#define a 0x11FF . В этом случае имя (псевдо-переменная) связывается со своим значением на первой фазе трансляции - в препроцессоре.

Системное программное обеспечение

Связывание в int a,b; … a+b

Если переменная определяется обычным способом в виде int a; то связывание переменной с соответствующим ей типом происходит во время трансляции (на фазе семантического анализа).

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

Системное программное обеспечение

Связывание в int a,b; … a+b

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

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

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

Системное программное обеспечение

Связывание в int a,b; … a+b

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

Системное программное обеспечение

Связывание в int a,b; … a+b

Если переменная определяется как автоматическая (локальная внутри тела функции или блока), то она размещается в стеке программы:

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

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

Cлайд 1

Программное обеспечение Разработал: Преподаватель информатики Сабойдалова М..А. ГБОУ СПО КО«Коммунально-строительный техникум», г.Калуга

Cлайд 2

Компьютер Программное обеспечение компьютера – это вся совокупность программ, хранящихся в долговременной памяти

Cлайд 3

Виды программного обеспечения Системное ПО Инструментальное ПО 1.Базовое ПО: операционные системы; оболочки; сетевые ОС 2.Сервисное ПО: диагностики; антивирусные; обслуживания носителей; архивирования; обслуживания сети Прикладное ПО Системное ПО - это совокупность программ для обеспечения работы компьютера

Cлайд 4

Виды программного обеспечения Прикладное ПО - это комплекс программ для решения задач конкретной предметной области текстовые процессоры; табличные процессоры; базы данных(СУБД); интегрированные пакеты; графические процессоры; экспертные системы; обучающие программы; игры; коммуникационные программы

Cлайд 5

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

Cлайд 6

Базовое ПО Операционная система (ОС) Набор программ, управляющих ОЗУ, процессором, внешними устройствами и файлами, ведущих диалог с пользователем Диалоговые оболочки Надстройки к ОС, обеспечивающие пользователю дружественный интерфейс Сервисное ПО Программы обслуживания дисков Программы сжатия файлов на дисках Антивирусные программы и др. Функции ОС Диалог с пользователем Управление ресурсами (процессорным временем, внутренней памятью, внешними устройствами) Работа с файлами

Cлайд 7

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

Cлайд 8

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

Cлайд 9

Cлайд 10

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

Cлайд 11

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

Cлайд 12

Характеристика поколений ЭВМ I 1945-60-e II 1955-70-e III 1965-80-e IV 1975-… V ? Элементная база Электронные лампы Транзисторы ИС и БИС СБИС и микропроцес-соры Оптоэлектро-ника, криоэлектро- ника Максимальное быстродействие процессора (опер/сек) 10 – 20 тыс 100 тыс –1 млн 10 млн 109 + много-процессорность 1012 + много-процессорность Максимальная емкость ОЗУ (Кбайт) 100 1000 10 000 10 000 000 100 000 000 Периферийные устройства Магнитная лента, перфокарты и перфоленты, цифровая печать Магнитная лента, перфоносители, алфавитно-цифровая печать Консоли, магнитные ленты, дисплеи, графопостроители Цветной графический дисплей, клавиатура, принтеры, модемы + устройства ввода с голоса, устройства чтения рукописного текста и пр. Примеры моделей ЭВМ МЭСМ, БЭСМ-1,ЭСМ-2, М-20, Минск М-220, БЭСМ-3, Урал--14,БЭСМ-6 Минск-32 IBM 360/370, ЕС ЭВМ, СМ ЭВМ ПК: IBM PC, Macintosh, СуперЭВМ: Cray, Cyber, Эльбрус

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






Операционные системы OS/360, ОС ЕС, RSX, RT11,… Multics, Unix Novell NetWare, IBM OS/2 CP/M, Q-DOS, MS-DOS,… Microsoft Windows …XP, Vista, Seven,… Unix-like, Linux Apple MacOS …, Tiger, X Leopard,… PalmOS, Symbian, … WindRiver VxWorks, … Ghost, gOS Cloud …


Операционные оболочки MS DOS: Command.com NDOS.com (Norton Utilites for DOS v) OS/2: Workplase Shell Windows: Windows GUI Linux: Bourne Again Shell (BASH) TCSH–shell …


DOS,Windows и другие ОССиО производства Microsoft Операционные оболочки, запускавшиеся из DOSDOS –Windows 1.0 | Windows 2.x | Windows 3.xWindows 1.0Windows 2.xWindows 3.x Семейство ОС Windows 9x –Windows 95 | Windows 98 | Windows MeWindows 95Windows 98Windows Me Семейство ОС Windows NT –NT 3.1 | NT 3.5 | NT 3.51 | NT 4.0 | 2000 (NT 5.0) | XP (NT 5.1) | Server 2003 (NT 5.2) | FLP | Vista (NT 6.0) | Home Server | Server 2008NT 3.1NT 3.5NT 3.51NT XPServer 2003FLPVistaHome ServerServer 2008 Семейство ОС Windows CE –CE 2.0 | CE 3.0 | CE 4.0 | CE 5.0 | CE 6.0 | MobileCE 2.0CE 3.0CE 4.0CE 5.0CE 6.0Mobile В разработке –Seven (Vienna/Blackcomb; NT 7.0)Seven Закрытые –Neptune | Nashville | OdysseyNeptuneNashvilleOdyssey Ещё проекты –Xenix | MS-DOS | OS/2 | Cairo | SingularityXenixMS-DOSOS/2CairoSingularity


Дистрибутивы Linux … Slackware S.U.S.E Suse / OpenSUSE … Gentoo Fregate … Red Hat / Fedora Core Mandrake Mandriva … ASPLinux … Debian GNU/Linux Corel Linux Xandros … Mepis … Lindows Linspire … LiveCD Knoppix Gnoppix, Kurumin… Ubuntu Kubuntu, Edubuntu,… …


Mobile OSs EPOC32 (Psion,1990е) Symbian: –Платформа UIQ До версии 3.0 (Sony Ericsson) Версии 3.1, 3.2 (Motorola c 2007г) –Платформа S60 (от Nokia Series 60, 2001г) Редакция 3 Редакция 5 (проект, для Nokia Tube) Pocket PC Windows Mobile v.6.0/6.1 –Standard –Professional (sensor) OS X iPhone (для iPhone, iPhone 3G, iPod Touch) Linux –MobiLinux –Google Android (для HTC Dream)


Специализированные ОС реального времени: ОС для автомобильной электроники и др. Факты: В среднестатистическом автомобиле установлено порядка 70 микропроцессоров Только система управления двигателем – несколько миллионов строк кода … Проекты: JasPar (Japan Automotive Software Platform and Architecture: Toyota, Honda, Nissan,…) Toyota + Университет Нагойи OSEK (Bosh + BMW, DaimlerChrysler) Microsoft SyncOS (Windows Auto) Wind River VVxWorks GHS Integrity …








Классификации ОС По количеству пользователей –Однопользовательские (MS-DOS, NetWare, Windows,…) –Многопользовательские (UNIX,…) По режимам доступа –Пакетные (OS/360,…) –Интерактивные (Windows, UNIX,…) –Реального времени (QNX, RSX,…) По количеству решаемых задач –Однозадачные (MS-DOS,…) –Многозадачные (Windows, UNIX,…) По разрядности (8,16,32,64,…) …




Что же такое ОС структурно? Вариант 1. Это ядро (минималистская точка зрения) Вариант 2. Это ядро плюс надстраивающая его инфраструктура: комплекс системных утилит и пользовательских приложений, а также средств управления ими (максималистская точка зрения) Вариант 3. Это ядро и комплекс средств, обеспечивающих его функциональность (промежуточная точка зрения)


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


Ядро ОС и его функции Ядро (core) обеспечивает взаимодействие системных и пользовательских программ с аппаратурой компьютера: –Распределение процессорного времени между одновременно работающими задачами –Работа с физической и виртуальной памятью –Доступ к данным на уровне файловой системы, управление вводом/выводом –Поддержка сетевых протоколов и устройств –…

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


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




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




Редакторы документов – это наиболее широко используемый вид прикладных программ. Они позволяют подготавливать документы гораздо быстрее и удобнее, чем с помощью пишущей машинки. Текстовые редакторы могут обеспечивать выполнение разнообразных функций, а именно: Табличные процессоры.Табличные процессоры представляют собой удобное средство для проведения бухгалтерских и статистических расчетов. В каждом пакете имеются сотни встроенных математических функций и алгоритмов статистической обработки данных. Кроме того, имеются мощные средства для связи таблиц между собой, создания и редактирования электронных баз данных. Системы автоматизированного проектирования (САПР) или CAD (англ. Computer-Aided Design) программный пакет, предназначенный для создания чертежей, конструкторской и/или технологической документации и/или 3D моделей. Среди систем малого и среднего класса в мире наиболее популярна система AutoCad фирмы AutoDesk. Отечественный пакет с аналогичными функциями – Компас


Графические редакторы позволяют создавать и редактировать рисунки. В простейших редакторах предоставляются возможности рисования линий, кривых, раскраски областей экрана, создание надписей различными шрифтами и т.д. Большинство редакторов позволяют обрабатывать изображения, полученные с помощью сканеров. Представители графических редакторов – программы Adobe Photoshop, Corel Draw. Системы управления базами данных (СУБД) позволяют управлять большими информационными массивами - базами данных. Программные системы этого вида позволяют обрабатывать на компьютере массивы информации, обеспечивают ввод, поиск, сортировку выборку записей, составление отчетов и т.д. Представители данного класса программ – Microsoft Access, Clipper, Paradox, FoxPro. Интегрированные системы сочетают в себе возможность системы управления базами данных, табличного процессора, текстового редактора, системы деловой графики, а иногда и другие возможности. Как правило, все компоненты интегрированной системы имеют схожий интерфейс, что облегчает обучение работе с ними. Представители интегрированных систем – пакет Microsoft Office и его бесплатный аналог Open Office.


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


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


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


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


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


Антивирусные программы, предназначенные для предотвращения заражения компьютерными вирусами и ликвидации последствий заражения вирусами; Представители антивирусного семейства программ – Kaspersky Antivirus, DrWeb, Norton Antivirus. программы для создания резервных копий информации позволяют периодически копировать важную информацию, находящуюся на жестком диске компьютера, на дополнительные носители. Представители программ резервного копирования – APBackUp, Acronis True Image программы оптимизации и контроля качества дискового пространства; коммуникационные программы, предназначены для организации обмена информацией между компьютерами. Это программы позволяют удобно пересылать файлы с одного компьютера на другой при соединении кабелем их последовательных портов. Другой вид таких программ обеспечивает возможность связи компьютеров по телефонной сети (при наличии модема). Они дают возможность посылать и принимать телефаксные сообщения. Представители коммуникационных программ – Venta Fax, Cute FTP. программы для управления памятью, обеспечивающие более гибкое использование оперативной памяти;


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


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


Транслятор (англ. translator переводчик) это программа-переводчик. Она преобразует программу, написанную на одном из языков высокого уровня, в программу, состоящую из машинных команд. Трансляторы реализуются в виде компиляторов или интерпретаторов. С точки зрения выполнения работы компилятор и интерпретатор существенно различаются. Компилятор (англ. compiler составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется. Интерпретатор (англ. interpreter истолкователь, устный переводчик) переводит и выполняет программу строка за строкой. После того, как программа откомпилирована, ни сама исходная программа, ни компилятор более не нужны. В то же время программа, обрабатываемая интерпретатором, должна заново переводиться на машинный язык при каждом очередном запуске программы. Откомпилированные программы работают быстрее, но интерпретируемые проще исправлять и изменять. Популярные системы программирования – Turbo Basic, Quick Basic, Turbo Pascal, Turbo C. Borland C++, Borland Delphi и др


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

Понравилось? Лайкни нас на Facebook