Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Важной функцией операционной системы является организация хранения информации на внешних устройствах и обеспечения доступа к ней. Во внешней памяти компьютера хранится великое множество различных документов, программ и других данных. Естественно, должна быть система расположения информации на внешних устройствах. Иначе пользователю будет очень проблематично отыскать нужную ему информацию. Это сравнимо, например, с поиском нужной книги в библиотеке, где все произведения расставлены на полках беспорядочно. Система, предназначенная для хранения информации во внешней памяти и обеспечения доступа к ней, называется файловой системой.
Для обеспечения надежного хранения и поиска информации на внешних запоминающих устройствах программы и данные в операционных системах организованы в файлы. Другими словами вся информация во внешней памяти компьютера хранится в файлах. Файлом называется поименованная совокупность данных, занимающая некоторый участок внешнего носителя информации. Файл может содержать в себе различный набор данных: программу, текст документа, числовые данные запись какой-либо мелодии, рисунок, фотографию, видеофильм и т.д.
Итак, по сути дела файловая система это система расположения различных файлов во внешней памяти компьютера. Файловая система создает для пользователя некое виртуальное представление внешних запоминающих устройств компьютера. С этой точки зрения вся информация (т.е. все файлы) хранится на различных дисках. Диском внешней памяти называется любое физическое или логической устройство, предназначенное для хранения информации. На тех или иных дисках могут находится десятки, сотни, а то и тысячи файлов. Даже если они, каким либо образом упорядочены, все равно очень трудно работать с таким гигантским списком. Поэтому, отдельные группы файлов можно объединять в каталоги (в некоторых ОС они называются папками).
Каталогом (папкой) называется поименованная группа файлов, выделенных по какому-либо признаку или свойству. Каталоги создаются пользователем по своему усмотрению. Каждый каталог имеет свое имя. Группировка и включение файлов в подкаталог могут производится по любым признакам. Например, в каталог входят файлы, имеющие отношения к хобби пользователя, или файлы, относящиеся к какому либо приложению и т.д. В свою очередь в каталогах можно создавать другие каталоги, которые по отношению к первым являются вложенными или подкаталогами.
В этих подкаталогах можно создавать следующие и т.д. Таким образом, создается иерархическая структура. Верхним уровнем вложенности иерархической структуры является каталог диска корневой каталог. Так если сравнить файлы с некоторыми «бумажными» документами, то каталоги выступают в этом случае в качестве папок, которые можно вкладывать друг в друга, а диски внешней памяти в качестве отделов шкафа, где хранятся документы, разложенные в нужные папки.
Полное имя файла состоит из названия и расширения. Название, или имя файла служит для идентификации, т.е. для того, чтобы отличать один файл от другого, выбрать нужный файл. В разных операционных системах накладываются определенные ограничения на длину названия, использование тех или иных символов и т.д. Более лояльно относится к названиям файлов ОС Windows. Она позволяет использовать длинные имена файлов (до 256 символов), допускает использование в названиях буквы любых алфавитов, в том числе и русского, пробелы, точки и другие символы. Не допускается использование в названии файла только девяти специальных символов: \ / : * ? "< > |. Кроме названия каждый файл имеет расширение.
Расширение характеризует содержимое файла, т.е. посмотрев на расширение, пользователь может понять, что собой представляет тот или иной файл, содержит он в себе текст или графическую информацию, или этот файл является программой и т.п. Чаще всего расширение, состоит из трех символов и отделяется от названия точкой. Например, если полное имя файла текст.txt, то слово «текст» название файла, а «txt» расширение, указывающее на то, что в данном файле хранится текстовая информация. Следующим важным свойством файла является его размер. Размер файла равен объему занимаемого файлом участка на диске. Она измеряется в байтах. Значение размера файла необходимо для определения возможности размещения файла на свободном участке дискового носителя или в других целях. Файловая система фиксирует также дату и время создания или изменения каждого файла. Атрибуты даты и времени чаще всего используются для опознания последних по времени вариантов файла, позволяют производить поиск файлов по «временным» признакам.
Компоновщик (или редактор связей) предназначен для связывания между собой объектных файлов, создаваемых компилятором, а также файлов библиотек, в ходящих в состав системы программирования, и формирования на выходе работоспособного приложения исполняемого кода (загрузочного модуля). Исполнимый код, представляет собой законченную программу, отвечающую определенному формату, которую можно запустить на любом компьютере, где установлена операционная система. Отладчик это программный модуль, который позволяет выполнить основные задачи, связанные с мониторингом процесса выполнения результирующей прикладной программы. Этот процесс называется отладкой. Первоначально отладчики представляли собой отдельные программные модули, которые могли обрабатывать результирующую программу в терминах языка машинных команд. Их возможности в основном сводились к моделированию выполнения результирующих программ в архитектуре соответствующей вычислительной системы. Выполнение могло идти непрерывно либо по шагам.
Библиотеки подпрограмм. К модулям исходной программы добавляется машинный код подпрограмм, реализующие различные стандартные функции. Такие функции содержатся в библиотеках, которые поставляются вместе с компилятором.
Библиотеки подпрограмм существенную часть систем программирования. Наряду с дружественностью пользовательского интерфейса состав доступных библиотек подпрограмм во многом определяет возможности системы программирования. С точки зрения системы программирования, библиотеки подпрограмм состоят из двух основных компонентов. Это собственно файл (или множество файлов) библиотеки, содержащий объектный код, и набор файлов описаний функций, подпрограмм, констант и переменных, составляющих библиотеку.
К современным системам программирования относятся интегрированные среды разработки программ, которые объединяют набор средств для комплексного их применения на всех технологических этапах создания программ. Основное назначение инструментария данного вида повышение производительности труда программистов, автоматизация создания кода программ, обеспечивающих интерфейс пользователя графического типа.
Языки программирования это формальные языки специально созданные для общения человека с компьютером. Каждый язык программирования имеет алфавит, словарный запас, свои грамматику и синтаксис, а также семантику.
Алфавит - фиксированный для данного языка набор основных символов, допускаемых для составления текста программы на этом языке.
Синтаксис - система правил, определяющих допустимые конструкции языка программирования из букв алфавита.
Семантика - система правил однозначного толкования отдельных языковых конструкций, позволяющих воспроизвести процесс обработки данных.
Первые языки программирования были очень примитивными и мало чем отличались от формализованных упорядоченных последовательностей единиц и нулей, понятных компьютеру. Использование таких языков было крайне неудобно с точки зрения программиста, так как он должен был знать числовые коды всех машинных команд, должен был сам распределять память под команды программы и данные. Со временем язык программирования приблизился к человеческому языку, и отдалился от языка машинных команд.
В настоящее время существует достаточно много различных языков программирования, и существуют различные классификации языков программирования. По наиболее распространенной классификации все языки программирования делят на языки низкого, высокого и сверхвысокого уровня.
В группу языков низкого уровня входят машинные языки и языки символического кодирования: (Автокод, Ассемблер). Операторы этого языка это те же машинные команды, но записанные мнемоническими кодами, а в качестве операндов используются не конкретные адреса, а символические имена. Все языки низкого уровня ориентированы на определенный тип компьютера, т. е. являются машинно-зависимыми. Машинно-ориентированные языки это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.).
Следующую, существенно более многочисленную группу составляют языки программирования высокого уровня. Это Фортран, Алгол, Кобол, Паскаль, Бейсик, Си, Пролог и т.д. Эти языки машинно-независимы, т.к. они ориентированы не на систему команд той или иной ЭВМ, а на систему операндов, характерных для записи определенного класса алгоритмов. Однако программы, написанные на языках высокого уровня, занимают больше памяти и медленнее выполняются, чем программы на машинных языках.
К языкам сверхвысокого уровня можно отнести лишь Алгол-68 и APL. Повышение уровня этих языков произошло за счет введения сверхмощных операций и операторов.
Процедурное программирование возникло на заре вычислительной техники и получило широкое распространение. В процедурных языках программа явно описывает действия, которые необходимо выполнить, а результат задается только способом получения его при помощи некоторой процедуры, которая представляет собой определенную последовательность действий.
Среди процедурных языков выделяют в свою очередь структурные и операционные языки. В структурных языках одним оператором записываются целые алгоритмические структуры: ветвления, циклы и т.д. В операционных языках для этого используются несколько операций. Широко распространены следующие структурные языки: Паскаль, Си, Ада, ПЛ/1. Среди операционных известны Фортран, Бейсик, Фокал.
Непроцедурное (декларативное) программирование появилось в начале 70-х годов 20 века, но стремительное его развитие началось в 80-е годы, когда был разработан японский проект создания ЭВМ пятого поколения, целью которого явилась подготовка почвы для создания интеллектуальных машин. К непроцедурному программированию относятся функциональные и логические языки.
В функциональных языках программа описывает вычисление некоторой функции. Обычно эта функция задается как композиция других, более простых, те в свою очередь разлагаются на еще более простые и т.д. Один из основных элементов в функциональных языках рекурсия, то есть вычисление значения функции через значение этой же функции от других элементов. Присваивания и циклов в классических функциональных языках нет.
В логических языках программа вообще не описывает действий. Она задает данные и соотношения между ними. После этого системе можно задавать вопросы. Машина перебирает известные и заданные в программе данные и находит ответ на вопрос. Порядок перебора не описывается в программе, а неявно задается самим языком. Классическим языком логического программирования считается Пролог. Построение логической программы вообще не требует алгоритмического мышления, программа описывает статические отношения объектов, а динамика находится в механизме перебора и скрыта от программиста.
Можно выделить еще один класс языков программирования объектно-ориентированные языки высокого уровня. На таких языках не описывают подробной последовательности действий для решения задачи, хотя они содержат элементы процедурного программирования. Объектно-ориентированные языки, благодаря богатому пользовательскому интерфейсу, предлагают человеку решить задачу в удобной для него форме. Примером такого языка может служить следующие языки программирования Object Для оживления компьютера нужны программы самого различного типа и назначения. Вся совокупность программ, с которыми может работать компьютер той или иной платформы, называется его программным обеспечением.
В конечном итоге программа это просто упорядоченный набор чисел-кодов в двоичном, десятеричном или шестнадцатеричном виде, размещенных в той или иной памяти. Каждый код или группа кодов слово задает выполнение микропроцессором соответствующей инструкции. Такое представление имеет программа в машинных кодах. Машинные коды «понятны» машине, но не очень понятны человеку ее пользователю.
Однако чаще программный код задается отдельными инструкциями программы (командами, функциями, процедурами), записываемыми в символьном виде с помощью того или иного языка программирования (см. ниже). Любой язык содержит набор инструкций, которые может выполнять ПК. Каждая такая инструкция в общем случае ведет к исполнению некоторой последовательности команд микропроцессора подчас довольно большой. Очень часто применяются инструкции программ (слова) с длиной в один или два байта однобайтовые и двухбайтовые инструкции. В общем же случае длина инструкций может иметь произвольный размер в битах.
Если каждое слово отождествляется с некоторым символом, например арифметическим оператором «+» или «» или с обозначение функции sin, то реализуется символьно-кодовое программирование. Оно часто используется в программируемых микрокалькуляторах. Но чаще коды соотносятся со словами некоторого языка программирования, в той или иной степени напоминающими математическое, логическое или техническое описание решаемых пользователем задач. В результате такого представления программа становится более понятной и осмысленной для программистов, а порой и обычных пользователей компьютерами.
Программа, записанная на бумаге или просматриваемая на экране дисплея, представляется своим листингом построчной записью инструкций. В машинные коды программа переводится с помощью вспомогательной программы транслятора.
Компьютеры работают одновременно с рядом программ, даже если пользователь наивно полагает, что он работает конкретно с какой-то одной программой. Такая работа называется многозадачной, и она присуща всем современным ПК с современным программным обеспечением. Однозадачная работа была характерна лишь для старых моделей компьютеров.
Персональные компьютеры чаще всего реализуют однопользовательский режим работы, когда с компьютером работает один пользователь, тогда как многие ЭВМ реализуют многопользовательский режим, обеспечивая одновременную работу на компьютере многих пользователей. Напоминаем, что такие компьютеры называют рабочими станциями.
В общем случае есть два обширных класса программа:
• Hardware в буквальном переводе «твердое» программное обеспечение, которое не меняется, поскольку зашито в постоянное запоминающее устройство компьютера ПЗУ (например, BIOS).
• Software в буквальном переводе «гибкое» программное обеспечение, которое хранится на гибких или иных дисках и может меняться и именно с ним мы продолжин дальнейшее знакомство.
Software имеет несколько характерных подтипов:
• Freeware свободно распространяемое программное обеспечение.
• Shareware условно свободно распространяемое программное обеспечение в виде временно работающих вариантов или вариантов с ограниченными функциями, которые становятся полноценными программами только после оплаты.
• Trial демонстрационные версии программ, как правило, с ограниченным временем действия и сокращенными возможностями.
• Commercial software коммерческие (покупаемые) программы.
Далее программное обеспечение класса software подразделяется на три типа по функциональному назначению:
• системные программное обеспечение программы для обслуживания системных функций компьютера;
• прикладное программное обеспечение программы для выполнения тех конкретных задач, которые должен решать пользователь;
• системы программирования программы для создания новых программ при помощи определенного языка программирования и трансляции полученной программы.
Рассмотрим некоторые программы и программные комплексы более подробно.
К системному программному обеспечению, относятся прежде всего операционные системы (ОС или OS) наборы программ для поддержки общего функционирования ПК и его периферийных устройств. Как правило, операционные системы располагаются на дисках и потому нередко называются дисковыми операционными системами ДОС (или DOS). Это обеспечивает легкость их замены.
Как мы уже знаем, первой операционной системой ПК стала операционная система фирмы Microsoft MS-DOS. Это была дисковая операционная система, которая работала в командном режиме, не слишком удобном для применения большинством пользователей.
В связи с этим в начале 90-х годов стали получать распространение графические операционные системы, в которых те или иные команды отождествлялись с некоторыми графическими объектами и выполнялись при их активизации мышью. Широкое распространение получили операционные системы класса Windows, название которых происходит от слова «окна». Под окнами понимаются графические объекты прямоугольной формы (иногда с чуть скругленными углами), размеры которых фиксированы или могут меняться перемещением их границ или углов. Окна можно открывать, закрывать и свертывать. Их можно также перемещать по экрану, уцепившись курсором мыши за титульную строку и перемещая мышь.
В окнах могут располагаться различные графические объекты, например ярлыки, папки и т.д. Ярлыки это значки, закрепленные за определенными файлами (программами), а папки это подкаталоги с другими папками и ярлыками. Широко используются также различные кнопки, выпадающие меню, линейки прокрутки (слайдеры) и т. д. В большинстве своем вид этих объектов и характер работы с ними интуитивно понятен.