Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Первый период (1945–1955 гг.). Ламповые машины. Операционных систем нет



Понятия ОС

Операцио́ нная систе́ ма, сокр. ОС (англ. operating system, OS) — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений. Это определение применимо к большинству современных операционных систем общего назначения.

 

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

 

 

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

 

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

 

В большинстве вычислительных систем операционная система является основной, наиболее важной (а иногда и единственной) частью системного программного обеспечения. С 1990-х годов наиболее распространёнными операционными системами являются системы семейства Microsoft Windows и системы класса UNIX (особенно Linux и Mac OS).

 

История создания ОС

Первый период (1945–1955 гг.). Ламповые машины. Операционных систем нет

Мы начнем исследование развития компьютерных комплексов с появления электронных вычислительных систем (опуская историю механических и электромеханических устройств).

Первые шаги в области разработки электронных вычислительных машин были предприняты в конце Второй мировой войны. В середине 40-х были созданы первые ламповые вычислительные устройства и появился принцип программы, хранящейся в памяти машины (John Von Neumann, июнь 1945 г.). В то время одна и та же группа людей участвовала и в проектировании, и в эксплуатации, и в программировании вычислительной машины. Это была скорее научно-исследовательская работа в области вычислительной техники, а не регулярное использование компьютеров в качестве инструмента решения каких-либо практических задач из других прикладных областей. Программирование осуществлялось исключительно на машинном языке. Об операционных системах не было и речи, все задачи организации вычислительного процесса решались вручную каждым программистом с пульта управления. За пультом мог находиться только один пользователь. Программа загружалась в память машины в лучшем случае с колоды перфокарт, а обычно с помощью панели переключателей.

 

Вычислительная система выполняла одновременно только одну операцию (ввод-вывод или собственно вычисления). Отладка программ велась с пульта управления с помощью изучения состояния памяти и регистров машины. В конце этого периода появляется первое системное программное обеспечение: в 1951–1952 гг. возникают прообразы первых компиляторов с символических языков (Fortran и др.), а в 1954 г. Nat Rochester разрабатывает Ассемблер для IBM-701.

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

Виды ОС

Попробуем классифицировать ОС, опраясь на линию их развития вслед за IBM PC-совместимыми ПК.

 

Так как перые ПК были очень слабы, то и первые ОС были, что вполне естественно однозадачными и однопользовательскими, а также работали исключительно в текстовом режиме. Дальнейшее развитие графической подсистемы позволило более интенсивно использовать графику и цвет, таким образом выделим первый признак: внешний тип интерфейса: GUI или текстовый.

 

После появления микропроцессора i80286 и его расширенного режима стало возможным аппаратно изолировать области кода и данных разных программ друг от друга. Выделяем второй признак: многозадачность (или многопрограмность) ОС. В данном признаке можно выделить четыре типа:

однозадачные (MS-DOS);

псевдомногозадачные, то есть одновременно работает только одна программа, а мы переключаясь между ними как-бы пробуждаем другую и усыпляем первую (Windows 1 и 2);

многозадачные (Windows 95, 98);

реально многозадачные (Windows NT, OS/2 3 и 4, Unix, Be, Linux).

 

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

 

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

нет поддержки (MS-DOS, Windows 1-2-3);

поддерживается на одном терминале, хранятся различные профили для настройки системы под пользователя (Windows 95-98-Me-NT-2000);

реальная многопользовательность, то есть могут одновременно работать несколько человек на разных терминалах, но с одним ПК (Windows NT Terminal Server, Unix, Linux(? )).

 

Выделим еще одну группу ОС, для которых не очень важен интерфесй, а важны скоростные и надежностные характеристики работы - серверные ОС. Например, Windows NT Server, OS/2 Advanced Server, Novel Netware/IntranetWare, Banyan Wines.

 

Ну и последняя группа ОС - встраиваемые ОС. Сюда относятся ОС, которые встраиваются в различные устройства, например, сотовые телефоны, органайзеры и прочие микроэлектронные игрушки. Примером таких ОС можно наpвать: Palm OS, Windows CE.

 

 

Архитектура ОС

Перечислим основные типы внутренней архитектуры операционных систем и в качестве примеров рассмотрим архитектуру наиболее распространенных операционных систем – систем UNIX и Windows.

Разливают всего три базовых типа архитектуры операционных систем:

• монолитная архитектура;

• многоуровневая архитектура;

• архитектура типа клиент-сервер на основе микроядра.

Рассмотрим каждый из этих типов архитектуры более подробно.

Многоуровневая архитектура

Многоуровневая архитектура появилась как ответ на ограничения монолитной архитектуры в плане расширяемости, переносимости и совместимости. Основная идея многоуровневой архитектуры состоит в следующем:

1. Полная функциональность операционной системы разделяется на уровни, например уровень управления аппаратурой, уровень управления памятью, уровень файловой системы, уровень управления процессами и т.п.

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

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

4. Внутренние структуры данных каждого уровня не доступны другим уровням, а реализации процедур уровня скрыты и не зависят от реализаций процедур внутри других уровней.

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

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

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

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

Одной из первых операционных систем, разработанных на основе многоуровневой архитектуры, стала операционная система THE, разработанная профессором Дейк-строй и его студентами в 1968 году. Операционная система THE имела 6 уровней, про-нумерованных от 0 до 5:

Уровень 0. Этот уровень выполнял распределение ресурсов процессора и переключал процессы по истечению кванта времени или при возникновении прерывания.

Уровень 1. Этот уровень осуществлял управление виртуальной памятью.

Уровень 2. Этот уровень обеспечивал каждый запущенный процесс собственной консолью, т.е. организовывал виртуальные терминалы.

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

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

Уровень 5. На этом уровне выполнялся процесс системного администратора.

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

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

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

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

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

Поэтому классическая многоуровневая архитектура в наиболее современных операционных системах вытесняется архитектурой типа клиент-сервер.

Диспетчеризация потоков

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

 

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

 

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

Проблема спящего брадобрея

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

В предлагаемом решении используются три семафора: customers, для подсчета ожидающих посетителей (клиент, сидящий в кресле брадобрея, не учитывается — он уже не ждет); barbers, количество брадобреев (0 или 1), простаивающих в ожидании клиента, и mutex для реализации взаимного исключения. Также используется переменная waiting, предназначенная для подсчета ожидающих посетителей.

 

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

Выгружаемые ресурсы-безболезненно забрать у владеющего им процесса.

Невыгружаемый ресурс-не может быть безболезненно отобран у процесса.

Алгоритм использования ресурсов в общем виде:

1. Запрос ресурсов

2. Использование ресурсов

3. Возврат ресурсов

Пр А Пр Б
Запрос р-са 1 Запрос р-са 2
Запрос р-са 2 Запрос р-са 1
Использование р-ов Использование р-ов
Возврат р-са 2 Возврат р-са 1
Возврат р-са 1 Возврат р-са 2

Условие взаимоблокировок:

1. Условие взаимного исключения. Каждый ресурс в данный момент времени или отдан ровно одному процессу или доступен.

2. Условие удержания и ожидания. Процессы в данный момент удерживающие полученные раннее ресурсы могут запрашивать новые ресурсы.

3. Условие отсутствия принудительной выгрузки ресурсов. У процесса нельзя принудительным образом забрать полученные ранее ресурсы. Процесс владеющий должен сам освободить ресурсы.

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

Обнаружение и устранение взаимоблокировок:

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

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

3. Во становление путем уничтожения процессов.Заключается в уничтожении одного из процессов попавших в заимоблокировку. Если уничтожение не помогает, уничтожается следующий из процессов пока не будет разрешена тупиковая ситуация.

Избежание взаимоблокировок:

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

Предотвращение взаимоблокировок:

1. Атака условия взаимного исключения

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

2. Атака условия удержания и ожидания

Программирование процесса таким образом, чтобы они требовали все ресурсы сразу перед началом работы программы.

Недостатки данного способа решения:

· Не все процессы знаю сколько и каких ресурсов им понадобиться до начала работы.

· Ресурсы не будут использоваться оптимально

3. Атака условия отсутствия принудительной выгрузки ресурсов

Не существует нормального способа избежания взаимоблокировки, т.к. принудительное изъятие ресурса у процесса при его работе практически не возможна.

4. Атака условия циклического ожидания

· Управление ресурсами как правило гласят что процессу дано право только на один ресурс в конкретный момент времени. Данное правило может быть задействовано не для всех процессов.

· Общая нумерация всех ресурсов и введения правила в соответствии с которым процесс должен запрашивать несколько устройств согласно последовательности их нумерации. Работает только на сравнительно небольших количествах ресурсов.

5. Алгоритм банкира

Безопасное состояние-это такое состояние для которого иметься хотя бы одна последовательности событий которая не приведет к взаиоблокировке.

Суть алгоритма:

· Предположим, что у системы есть «х» устройств.

· Операционная система принимает запрос от пользовательского процесса, если его макс потребность не превышает «х».

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

· Текущее состояние системы называется надежным, если ОС может обеспечить всем процессам их выполнения в течении конечного времени.

· В соответствии с алгоритмом банкира выделения устройств возможно только если состояние системы остается надежным.

Выводы: Имеются различные способы выхода из взаимоблокировок.

· Снятие оператором выполняющимся процессом до тех пор пока не исчезнет взаимоблокировка.

· Перезагрузка системы

· Рестарт системы с контрольной точки

Контрольная точка - полное состояние ПК сохраненное на внешнем носителе.

 

14. Выгружаемые ресурсы

См.13й (в интернетах нет нихчего, инфа 146%).

15. Невыгружаемые ресурсы

См.13й.

16. FAT (англ. File Allocation Table — «таблица размещения файлов») — классическая архитектура файловой системы, которая из-за своей простоты всё ещё широко используется для флеш-дисков и карт памяти. В недавнем прошлом использовалась в дискетах, на жёстких дисках и других носителях информации.

Разработана Биллом Гейтсом и Марком МакДональдом (англ.) в 1976—1977 годах. Использовалась в качестве основной файловой системы в операционных системах семейств DOS и Windows (до версии Windows 2000).

Структура FAT следует стандарту ECMA-107 и подробно определяется официальной спецификацией от Microsoft, известной под названием FATGEN.

FAT16 FAT32
Реализована и используется большинством операционных систем (MS-DOS, Windows 95/98/ Me, Windows 2000 и Windows XP, OS/2, UNIX). На данный момент поддерживается только в Windows 95/98/ Me, Windows 2000 и Windows XP (бородатая статья, даже Висты нет, будьте оптимистами – врите, что все всё реализовали)
Очень эффективна для логических дисков размером менее 256 Мбайт. Не работает с дисками объемом менее 512 Мбайт.
Поддерживает сжатие дисков, например по алгоритму DriveSpace. Не поддерживает сжатие дисков.
Обрабатывает максимум 65 525 кластеров, размер которых зависит от объема логического диска. Так как максимальный размер кластеров равен 32 Кбайт, FAT16 может работать с логическими дисками объемом не более 2 Гбайт. Способна работать с логическими дисками объемом до 2 047 Гбайт при максимальном размере кластеров в 32 Кбайт.
Чем больше размер логического диска, тем меньше эффективность хранения файлов в FAT'16-системе, так как увеличивается и размер кластеров. Пространство для файлов выделяется кластерами, и поэтому при максимальном объеме логического диска файл размером 10 Кбайт потребует 32 Кбайт, а 22 Кбайт дискового пространства пропадет впустую. На логических дисках объемом менее 8 Гбайт размер кластеров составляет 4 Кбайт.

Максимально возможная длина файла в FAT32 равна 4 Гбайт за вычетом 2 байтов. Win32-приложения могут открывать файлы такой длины без специальной обработки. Остальные приложения должны использовать прерывание Int 21h, функцию 716С (FAT32) с флагом открытия, равным EXTEND-SIZE (1000h).

В файловой системе FAT32 на каждый кластер в таблице размещения файлов отводится по 4 байта, тогда как в FAT16 - по 2, а в FАТ12 - по 1, 5.

Старшие 4 бита 32-разрядного элемента таблицы FAT32 зарезервированы и не участвуют в формировании номера кластера. Программы, напрямую считывающие РАТ32-таблицу, должны маскировать эти биты и предохранять их от изменения при записи новых значений.

Файловые системы (NTFS)

Файловая система – это способ организации данных на носителях информации. Файловая система определяет, где и каким образом на носителе будут записаны файлы, и предоставляет операционной системе доступ к этим файлам.

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

NTFS (аббревиатура New Technology File SystemФайловая Система Новой Технологии) — стандартная файловая система для семейства операционных систем Microsoft Windows NT.

Представлена 27 июля 1993 вместе с Windows NT 3.1. NTFS разработана на основе файловой системы HPFS (аббревиатура High Performance File SystemВысокопроизводительная Файловая Система), создававшейся Microsoft совместно с IBM для операционной системы OS/2.

Основные особенности NTFS: встроенные возможности разграничивать доступ к данным для различных пользователей и групп пользователей, а также назначать квоты (ограничения на максимальный объём дискового пространства, занимаемый теми или иными пользователями), использование системы журналирования для повышения надёжности файловой системы.

Спецификации файловой системы являются закрытыми. Обычно размер кластера равен 4Кб. На практике не рекомендуют создавать тома более 2ТБ. Жесткие диски только достигли таких размеров, возможно в будущем нас ждет новая файловая система.

Во время установки ОС Windows ХР предлагается отформатировать диск в системе FAT или NTFS. При этом имеется в виду FAT32.

Все файловые системы построены на принципе: один кластер – один файл. Т.е. один кластер хранит данные только одного файла.

Основное отличие для обычного пользователя между этими системами – размер кластера. «Давным-давно, когда диски были маленькими, а файлы – очень маленькими» это было очень заметно.

Рассмотрим на примере одного тома на диске объемом 120Гб и файла размером 10Кб.

Для FAT32 размер кластера будет 32Кб, а для NTFS – 4Кб.

В FAT32 такой файлзаймет 1 кластер, при этом останется 32-10=22Кб незанятого места.

В NTFS такой файлзаймет 3 кластера, при этом останется 12-10=2Кб незанятого места.

Таким образом, переход от FAT32 к NTFS позволяет более оптимально использовать жесткий диск при наличии большого количества мелких файлов в системе.

Понятия ОС

Операцио́ нная систе́ ма, сокр. ОС (англ. operating system, OS) — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений. Это определение применимо к большинству современных операционных систем общего назначения.

 

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

 

 

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

 

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

 

В большинстве вычислительных систем операционная система является основной, наиболее важной (а иногда и единственной) частью системного программного обеспечения. С 1990-х годов наиболее распространёнными операционными системами являются системы семейства Microsoft Windows и системы класса UNIX (особенно Linux и Mac OS).

 

История создания ОС

Первый период (1945–1955 гг.). Ламповые машины. Операционных систем нет

Мы начнем исследование развития компьютерных комплексов с появления электронных вычислительных систем (опуская историю механических и электромеханических устройств).

Первые шаги в области разработки электронных вычислительных машин были предприняты в конце Второй мировой войны. В середине 40-х были созданы первые ламповые вычислительные устройства и появился принцип программы, хранящейся в памяти машины (John Von Neumann, июнь 1945 г.). В то время одна и та же группа людей участвовала и в проектировании, и в эксплуатации, и в программировании вычислительной машины. Это была скорее научно-исследовательская работа в области вычислительной техники, а не регулярное использование компьютеров в качестве инструмента решения каких-либо практических задач из других прикладных областей. Программирование осуществлялось исключительно на машинном языке. Об операционных системах не было и речи, все задачи организации вычислительного процесса решались вручную каждым программистом с пульта управления. За пультом мог находиться только один пользователь. Программа загружалась в память машины в лучшем случае с колоды перфокарт, а обычно с помощью панели переключателей.

 

Вычислительная система выполняла одновременно только одну операцию (ввод-вывод или собственно вычисления). Отладка программ велась с пульта управления с помощью изучения состояния памяти и регистров машины. В конце этого периода появляется первое системное программное обеспечение: в 1951–1952 гг. возникают прообразы первых компиляторов с символических языков (Fortran и др.), а в 1954 г. Nat Rochester разрабатывает Ассемблер для IBM-701.

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


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-05-29; Просмотров: 1205; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.079 с.)
Главная | Случайная страница | Обратная связь