Файл: Курс лекций по дисциплине Информационные технологии в юридической деятельности.rtf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 08.11.2023
Просмотров: 533
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
системное и прикладное программное обеспечение. Системное программное обеспечение ориентировано на решение задач управления системой аппаратных средств компьютера и выполнения типовых задач обмена информацией как пользователя с машиной, так и между отдельными устройствами ЭВМ.
Решение же всех конкретных задач обработки информации на компьютере возложено на прикладное программное обеспечение, которое позволяет пользователям ЭВМ реализовывать их специфические и универсальные требования в обработке информации.
Прикладные системы и программы предназначены для решения конкретных информационных задач, являются законченными программными продуктами и обращены к пользователям, которые в общем случае не обязаны уметь программировать или достаточно глубоко знать устройство ЭВМ.
Виды прикладных программных средств - специализированные и широкого назначения.
Специализированные созданы для конкретных уникальных или узкоспециализированных задач обработки информации. Поэтому они имеют довольно редкое применение на практике.
Прикладные программы широкого назначения предназначены для реализации типовых задач обработки информации, встречающихся в самых различных направлениях деятельности человека.
К числу основных видов прикладного программного обеспечения относятся:
- программы обработки текстовой информации;
- программы электронных таблиц;
- программы управления базами и банками данных;
- правовые базы данных;
- бухгалтерские программы;
- программы - переводчики;
- издательские системы;
- программы обработки графической информации;
- интегрированные пакеты прикладных программ и др.
В каждом из этих видов могут встречаться программы специализированные и широкого назначения. Программные средства, разработанные на высоком уровне с предоставлением пользователю широких возможностей в конкретной области обработки информации, получили название программные процессоры. Например, текстовые процессоры, табличные процессоры и т.д.
ТЕМА 2. ОПЕРАЦИОННЫЕ СИСТЕМЫ: НАЗНАЧЕНИЕ, ОСНОВНЫЕ ФУНКЦИИ
1. Эволюция операционных систем
За полувековой период своего существования операционные системы (ОС) прошли сложный путь. Огромное влияние на их развитие оказали успехи в совершенствовании элементной базы и вычислительной аппаратуры. Поэтому многие ОС связаны с новыми аппаратными платформами: мини или персональными компьютерами. Серьезную эволюцию для них была и в связи с новой ролью компьютеров в локальных и глобальных сетях. Важнейшим фактором развития ОС стал Интернет. С
глобализацией этой сети, ОС становятся все более простыми и удобными в использовании, разнообразно поддерживают мультимедийную информацию, надежнее защищаются.
Выше отмечено, что идея компьютера была предложена Ч. Бэббиджем в середине XIX века. Его механическая «аналитическая машина» так и не смогла по-настоящему заработать, потому что те технологии не удовлетворяли требованиям, необходимым для изготовления нужных деталей точной механики. Конечно, никакой речи об операционной системе для этого «компьютера» не шло.
Рождение цифровых электронных вычислительных машин произошло вскоре после Второй мировой войны. Были созданы первые ламповые вычислительные устройства. Причем одни и те же люди проектировали, эксплуатировали и программировали ЭВМ. Это была скорее научно-исследовательская работа в вычислительной технике, а не использование компьютеров в качестве инструмента решения каких-либо практических прикладных задач. Программирование осуществлялось исключительно на машинном языке. Системного программного обеспечения не было, кроме библиотек математических и служебных подпрограмм. Их программист использовал, чтобы не писать каждый раз коды, вычисляющие значение какой-либо математической функции или управляющие стандартным устройством ввода-вывода. Все задачи организации вычислительного процесса решались вручную (вместо ОС) каждым программистом с пульта управления - примитивного устройства ввода-вывода из кнопок, переключателей и индикаторов.
С середины 50-х годов на основе полупроводников началось 2-е поколение компьютеров. Выросло быстродействие процессоров, увеличились объемы оперативной и внешней памяти. ЭВМ стали более надежными, могли непрерывно работать столько, чтобы на них можно было возложить выполнение действительно практически важных задач.
Наряду с аппаратным, наблюдался заметный прогресс и в области автоматизации программирования и организации вычислительных работ. Появились алгоритмические языки, и таким образом к библиотекам математических и служебных подпрограмм добавился новый тип системного программного обеспечения - трансляторы.
В программы стали включать большое количество вспомогательных работ: загрузка нужного транслятора (АЛГОЛ, ФОРТРАН, КОБОЛ и т.п.), его запуск и получение результирующей программы в машинных кодах
, связывание программы с библиотечными подпрограммами, загрузка программы в оперативную память, запуск программы, вывод результатов на периферийное устройство. Для эффективного использования таких возможностей в штат многих вычислительных центров ввели должности операторов, выполнявших работу по организации вычислительного процесса для всех пользователей этого центра.
Но работа операторов не могла состязаться в производительности с работой устройств компьютера. Большую часть времени процессор простаивал в ожидании, пока оператор запустит очередную задачу. А поскольку процессор был весьма дорогим, то низкая эффективность его использования означала низкую эффективность использования компьютера в целом. Поэтому были разработаны первые системы пакетной обработки, которые автоматизировали всю последовательность действий оператора по организации вычислительного процесса.
Системы пакетной обработки явились прообразом современных ОС, они стали первыми системными программами, предназначенными не для обработки конкретных данных, а для управления вычислительным процессом.
В ходе их реализации создали формализованный язык управления заданиями, с помощью которого программист сообщал системе и оператору, какие действия и в какой последовательности он хочет выполнить на вычислительной машине. Типовой набор директив обычно включал признак начала отдельной работы, вызов транслятора, вызов загрузчика, признаки начала и конца исходных данных.
Оператор составлял пакет заданий, которые затем без его участия последовательно запускались на выполнение управляющей программой-монитором. Кроме того, программа-монитор могла самостоятельно обрабатывать наиболее часто встречающиеся при работе пользовательских программ аварийные ситуации (отсутствие исходных данных, переполнение регистров, деление на ноль, обращение к несуществующей области памяти и т.д.). Обычно пакет был набором перфокарт, но для ускорения работы мог переноситься на более удобный и емкий носитель, например, на магнитную ленту или магнитный диск.
Ранние системы пакетной обработки значительно сократили затраты времени на вспомогательные действия по организации вычислительного процесса и значительно повысили эффективность использования ЭВМ. Но программисты-пользователи лишились непосредственного доступа к управлению компьютером, что снижало эффективность их работы — внесение любого исправления требовало значительно больше времени, чем при интерактивной работе за пультом машины.
Следующий важный период развития ОС - это 1965-1975 годы.
В технической базе ЭВМ был переход к интегральным микросхемам и, фактически, к новому поколению. Большие функциональные возможности интегральных схем сделали возможным реализацию на практике сложных компьютерных архитектур, как, например, IBM/360.
Тогда были реализованы практически все основные механизмы, присущие современным ОС: мультипрограммирование, мультипроцессирование, поддержка многотерминального многопользовательского режима, виртуальная память, файловые системы, разграничение доступа и сетевая работа. Начинается расцвет системного программирования. Из области прикладной математики (для узкого круга специалистов) системное программирование превращается в отрасль индустрии, оказывающую непосредственное влияние на практическую деятельность миллионов людей.
Революционным событием стала промышленная реализация мультипрограммирования. Мультипрограммирование — способ организации вычислительного процесса, при котором в памяти компьютера находилось одновременно несколько программ, попеременно выполняющихся на одном процессоре. Это значительно улучшило эффективность ЭВМ. Она теперь могла использоваться почти постоянно, а не менее половины рабочего времени, как это было раньше.
Мультипрограммирование было реализовано в двух вариантах - в системах пакетной обработки и разделения времени.
Мультипрограммные системы пакетной обработки так же, как и их однопрограммные предшественники, имели своей целью обеспечение максимальной загрузки аппаратуры компьютера, но решали эту задачу более эффективно. В мультипрограммном пакетном режиме процессор не простаивал, пока одна программа выполняла операцию ввода-вывода (как это происходило при последовательном выполнении программ в системах ранней пакетной обработки), а переключался на другую готовую к выполнению программу. Этим достигалась сбалансированная загрузка всех устройств компьютера, а, следовательно, увеличивалось число задач, решаемых в единицу времени.
Но и здесь пользователь по-прежнему был лишен возможности интерактивно взаимодействовать со своими программами. Для того чтобы хотя бы частично вернуть пользователям ощущение непосредственного взаимодействия с компьютером, был разработан другой вариант мультипрограммных систем —
системы разделения времени. Этот вариант рассчитан на многотерминальные системы, когда каждый пользователь работает за своим терминалом. В числе первых ОС разделения времени, разработанных в середине 60-х годов, были TSS/360 (компания IBM), CTSS и MULTICS (Массачусетский технологический институт совместно с Bell Labs и компанией General Electric). Вариант мультипрограммирования, применяемый в системах разделения времени, был нацелен на создание для каждого отдельного пользователя иллюзии единоличного владения вычислительной машиной за счет периодического выделения каждой программе своей доли процессорного времени. В системах разделения времени эффективность использования оборудования ниже, чем в системах пакетной обработки, что явилось платой за удобства работы пользователя.
Многотерминальный режим использовался не только в системах разделения времени, но и в системах пакетной обработки. Теперь и оператор, и все пользователи получали возможность формировать свои задания и управлять их выполнением со своего терминала. Такие ОС получили название систем удаленного ввода заданий. Терминальные комплексы могли располагаться на большом расстоянии от процессорных стоек, соединяясь с ними с помощью различных глобальных связей - модемных соединений телефонных сетей или выделенных каналов.
К этому времени можно констатировать существенное изменение в распределении функций между аппаратными и программными средствами компьютера. ОС становились неотъемлемыми элементами компьютеров, играя роль «продолжения» аппаратуры. В первых вычислительных машинах программист, напрямую взаимодействуя с аппаратурой, мог выполнить загрузку программных кодов, используя пультовые переключатели и лампочки индикаторов, а затем вручную запустить программу на выполнение, нажав кнопку «пуск». В компьютерах 60-х годов большую часть действий по организации вычислительного процесса взяла на себя ОС. (В большинстве современных компьютеров не предусмотрено даже теоретической возможности выполнения какой-либо вычислительной работы без участия ОС. После включения питания автоматически происходит поиск, загрузка и запуск ОС, а в случае ее отсутствия компьютер просто останавливается.)
Важной тенденцией этого периода является создание семейств программно-совместимых машин и ОС для них. Программная совместимость требовала и совместимости ОС. Однако такая совместимость подразумевает возможность работы на больших и малых вычислительных системах, с большим и с малым количеством разнообразной периферии, в коммерческой области и в области научных исследований. ОС, построенные с намерением удовлетворить всем этим противоречивым требованиям, оказались чрезвычайно сложными. Они состояли из многих миллионов ассемблерных строк, написанных тысячами программистов, и содержали тысячи ошибок, вызывающих нескончаемый поток исправлений. ОС этого поколения были очень дорогими. Так, разработка OS/360, объем кода для которой составил 8 Мбайт, стоила компании IBM 80 миллионов долларов.
Решение же всех конкретных задач обработки информации на компьютере возложено на прикладное программное обеспечение, которое позволяет пользователям ЭВМ реализовывать их специфические и универсальные требования в обработке информации.
Прикладные системы и программы предназначены для решения конкретных информационных задач, являются законченными программными продуктами и обращены к пользователям, которые в общем случае не обязаны уметь программировать или достаточно глубоко знать устройство ЭВМ.
Виды прикладных программных средств - специализированные и широкого назначения.
Специализированные созданы для конкретных уникальных или узкоспециализированных задач обработки информации. Поэтому они имеют довольно редкое применение на практике.
Прикладные программы широкого назначения предназначены для реализации типовых задач обработки информации, встречающихся в самых различных направлениях деятельности человека.
К числу основных видов прикладного программного обеспечения относятся:
- программы обработки текстовой информации;
- программы электронных таблиц;
- программы управления базами и банками данных;
- правовые базы данных;
- бухгалтерские программы;
- программы - переводчики;
- издательские системы;
- программы обработки графической информации;
- интегрированные пакеты прикладных программ и др.
В каждом из этих видов могут встречаться программы специализированные и широкого назначения. Программные средства, разработанные на высоком уровне с предоставлением пользователю широких возможностей в конкретной области обработки информации, получили название программные процессоры. Например, текстовые процессоры, табличные процессоры и т.д.
ТЕМА 2. ОПЕРАЦИОННЫЕ СИСТЕМЫ: НАЗНАЧЕНИЕ, ОСНОВНЫЕ ФУНКЦИИ
1. Эволюция операционных систем
За полувековой период своего существования операционные системы (ОС) прошли сложный путь. Огромное влияние на их развитие оказали успехи в совершенствовании элементной базы и вычислительной аппаратуры. Поэтому многие ОС связаны с новыми аппаратными платформами: мини или персональными компьютерами. Серьезную эволюцию для них была и в связи с новой ролью компьютеров в локальных и глобальных сетях. Важнейшим фактором развития ОС стал Интернет. С
глобализацией этой сети, ОС становятся все более простыми и удобными в использовании, разнообразно поддерживают мультимедийную информацию, надежнее защищаются.
1.1 Появление первых операционных систем
Выше отмечено, что идея компьютера была предложена Ч. Бэббиджем в середине XIX века. Его механическая «аналитическая машина» так и не смогла по-настоящему заработать, потому что те технологии не удовлетворяли требованиям, необходимым для изготовления нужных деталей точной механики. Конечно, никакой речи об операционной системе для этого «компьютера» не шло.
Рождение цифровых электронных вычислительных машин произошло вскоре после Второй мировой войны. Были созданы первые ламповые вычислительные устройства. Причем одни и те же люди проектировали, эксплуатировали и программировали ЭВМ. Это была скорее научно-исследовательская работа в вычислительной технике, а не использование компьютеров в качестве инструмента решения каких-либо практических прикладных задач. Программирование осуществлялось исключительно на машинном языке. Системного программного обеспечения не было, кроме библиотек математических и служебных подпрограмм. Их программист использовал, чтобы не писать каждый раз коды, вычисляющие значение какой-либо математической функции или управляющие стандартным устройством ввода-вывода. Все задачи организации вычислительного процесса решались вручную (вместо ОС) каждым программистом с пульта управления - примитивного устройства ввода-вывода из кнопок, переключателей и индикаторов.
С середины 50-х годов на основе полупроводников началось 2-е поколение компьютеров. Выросло быстродействие процессоров, увеличились объемы оперативной и внешней памяти. ЭВМ стали более надежными, могли непрерывно работать столько, чтобы на них можно было возложить выполнение действительно практически важных задач.
Наряду с аппаратным, наблюдался заметный прогресс и в области автоматизации программирования и организации вычислительных работ. Появились алгоритмические языки, и таким образом к библиотекам математических и служебных подпрограмм добавился новый тип системного программного обеспечения - трансляторы.
В программы стали включать большое количество вспомогательных работ: загрузка нужного транслятора (АЛГОЛ, ФОРТРАН, КОБОЛ и т.п.), его запуск и получение результирующей программы в машинных кодах
, связывание программы с библиотечными подпрограммами, загрузка программы в оперативную память, запуск программы, вывод результатов на периферийное устройство. Для эффективного использования таких возможностей в штат многих вычислительных центров ввели должности операторов, выполнявших работу по организации вычислительного процесса для всех пользователей этого центра.
Но работа операторов не могла состязаться в производительности с работой устройств компьютера. Большую часть времени процессор простаивал в ожидании, пока оператор запустит очередную задачу. А поскольку процессор был весьма дорогим, то низкая эффективность его использования означала низкую эффективность использования компьютера в целом. Поэтому были разработаны первые системы пакетной обработки, которые автоматизировали всю последовательность действий оператора по организации вычислительного процесса.
Системы пакетной обработки явились прообразом современных ОС, они стали первыми системными программами, предназначенными не для обработки конкретных данных, а для управления вычислительным процессом.
В ходе их реализации создали формализованный язык управления заданиями, с помощью которого программист сообщал системе и оператору, какие действия и в какой последовательности он хочет выполнить на вычислительной машине. Типовой набор директив обычно включал признак начала отдельной работы, вызов транслятора, вызов загрузчика, признаки начала и конца исходных данных.
Оператор составлял пакет заданий, которые затем без его участия последовательно запускались на выполнение управляющей программой-монитором. Кроме того, программа-монитор могла самостоятельно обрабатывать наиболее часто встречающиеся при работе пользовательских программ аварийные ситуации (отсутствие исходных данных, переполнение регистров, деление на ноль, обращение к несуществующей области памяти и т.д.). Обычно пакет был набором перфокарт, но для ускорения работы мог переноситься на более удобный и емкий носитель, например, на магнитную ленту или магнитный диск.
Ранние системы пакетной обработки значительно сократили затраты времени на вспомогательные действия по организации вычислительного процесса и значительно повысили эффективность использования ЭВМ. Но программисты-пользователи лишились непосредственного доступа к управлению компьютером, что снижало эффективность их работы — внесение любого исправления требовало значительно больше времени, чем при интерактивной работе за пультом машины.
1.2 Появление мультипрограммных операционных систем
Следующий важный период развития ОС - это 1965-1975 годы.
В технической базе ЭВМ был переход к интегральным микросхемам и, фактически, к новому поколению. Большие функциональные возможности интегральных схем сделали возможным реализацию на практике сложных компьютерных архитектур, как, например, IBM/360.
Тогда были реализованы практически все основные механизмы, присущие современным ОС: мультипрограммирование, мультипроцессирование, поддержка многотерминального многопользовательского режима, виртуальная память, файловые системы, разграничение доступа и сетевая работа. Начинается расцвет системного программирования. Из области прикладной математики (для узкого круга специалистов) системное программирование превращается в отрасль индустрии, оказывающую непосредственное влияние на практическую деятельность миллионов людей.
Революционным событием стала промышленная реализация мультипрограммирования. Мультипрограммирование — способ организации вычислительного процесса, при котором в памяти компьютера находилось одновременно несколько программ, попеременно выполняющихся на одном процессоре. Это значительно улучшило эффективность ЭВМ. Она теперь могла использоваться почти постоянно, а не менее половины рабочего времени, как это было раньше.
Мультипрограммирование было реализовано в двух вариантах - в системах пакетной обработки и разделения времени.
Мультипрограммные системы пакетной обработки так же, как и их однопрограммные предшественники, имели своей целью обеспечение максимальной загрузки аппаратуры компьютера, но решали эту задачу более эффективно. В мультипрограммном пакетном режиме процессор не простаивал, пока одна программа выполняла операцию ввода-вывода (как это происходило при последовательном выполнении программ в системах ранней пакетной обработки), а переключался на другую готовую к выполнению программу. Этим достигалась сбалансированная загрузка всех устройств компьютера, а, следовательно, увеличивалось число задач, решаемых в единицу времени.
Но и здесь пользователь по-прежнему был лишен возможности интерактивно взаимодействовать со своими программами. Для того чтобы хотя бы частично вернуть пользователям ощущение непосредственного взаимодействия с компьютером, был разработан другой вариант мультипрограммных систем —
системы разделения времени. Этот вариант рассчитан на многотерминальные системы, когда каждый пользователь работает за своим терминалом. В числе первых ОС разделения времени, разработанных в середине 60-х годов, были TSS/360 (компания IBM), CTSS и MULTICS (Массачусетский технологический институт совместно с Bell Labs и компанией General Electric). Вариант мультипрограммирования, применяемый в системах разделения времени, был нацелен на создание для каждого отдельного пользователя иллюзии единоличного владения вычислительной машиной за счет периодического выделения каждой программе своей доли процессорного времени. В системах разделения времени эффективность использования оборудования ниже, чем в системах пакетной обработки, что явилось платой за удобства работы пользователя.
Многотерминальный режим использовался не только в системах разделения времени, но и в системах пакетной обработки. Теперь и оператор, и все пользователи получали возможность формировать свои задания и управлять их выполнением со своего терминала. Такие ОС получили название систем удаленного ввода заданий. Терминальные комплексы могли располагаться на большом расстоянии от процессорных стоек, соединяясь с ними с помощью различных глобальных связей - модемных соединений телефонных сетей или выделенных каналов.
К этому времени можно констатировать существенное изменение в распределении функций между аппаратными и программными средствами компьютера. ОС становились неотъемлемыми элементами компьютеров, играя роль «продолжения» аппаратуры. В первых вычислительных машинах программист, напрямую взаимодействуя с аппаратурой, мог выполнить загрузку программных кодов, используя пультовые переключатели и лампочки индикаторов, а затем вручную запустить программу на выполнение, нажав кнопку «пуск». В компьютерах 60-х годов большую часть действий по организации вычислительного процесса взяла на себя ОС. (В большинстве современных компьютеров не предусмотрено даже теоретической возможности выполнения какой-либо вычислительной работы без участия ОС. После включения питания автоматически происходит поиск, загрузка и запуск ОС, а в случае ее отсутствия компьютер просто останавливается.)
Важной тенденцией этого периода является создание семейств программно-совместимых машин и ОС для них. Программная совместимость требовала и совместимости ОС. Однако такая совместимость подразумевает возможность работы на больших и малых вычислительных системах, с большим и с малым количеством разнообразной периферии, в коммерческой области и в области научных исследований. ОС, построенные с намерением удовлетворить всем этим противоречивым требованиям, оказались чрезвычайно сложными. Они состояли из многих миллионов ассемблерных строк, написанных тысячами программистов, и содержали тысячи ошибок, вызывающих нескончаемый поток исправлений. ОС этого поколения были очень дорогими. Так, разработка OS/360, объем кода для которой составил 8 Мбайт, стоила компании IBM 80 миллионов долларов.