Смекни!
smekni.com

Основы программирования (стр. 1 из 8)

Операционные системы

1. Функции и задачи ОС

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

ОС – это набор программ, обеспечивающий организацию вычислительного процесса на ЭВМ.

Основные задачи:

1) увеличение пропускной способности ЭВМ (за счет организации непрерывной обработки потока задач с автоматическим переходом от одной задачи к другой и эффективного распределения ресурсов ЭВМ по нескольким задачам);

2) уменьшение времени реакции системы на запросы пользователями ответов от ЭВМ;

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

Функции ОС:

1) управление данными;

2) управление задачами (заданиями, процессами);

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

2. Одноранговые сетевые ОС

В одноранговых сетях все компьютеры равны в правах доступа к ресурсам друг друга. Каждый пользователь может по своему желанию объявить какой-либо ресурс своего компьютера разделяемым, после чего другие пользователи могут его эксплуатировать. В таких сетях на всех компьютерах устанавливается одна и та же ОС, которая предоставляет всем компьютерам в сети потенциально равные возможности. Одноранговые сети могут быть построены, например, на базе ОС LANtastic, Personal Ware, Windows for Workgroup, Windows NT Workstation.

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

3. Понятие процесса

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

Процесс – минимальный программный объект, обладающий собственными системными ресурсами (запущенная программа). Это программный модуль, выполняемый в центральном процессоре (CPU).

Процессор – любое устройство в составе ЭВМ, способное автоматически выполнять допустимые для него действия (процессоры, каналы и устройства, работающие с каналами).

Классификация процессов:

1) по временным характеристикам различают:

– интерактивные;

– пакетные;

– реального времени.

2) по генеалогическому признаку различают:

– порождающие;

– порожденные.

3) по результативности различают:

– эквивалентные;

– тождественные;

– равные.

4) по времени развития делятся:

– последовательные;

– параллельные;

– комбинированные.

5) по месту развития:

– внешние;

– внутренние.

6) по принадлежности к ОС:

– системные;

– пользовательские.

7) по связности различают:

– взаимосвязанные;

– изолированные;

– информационно независимые;

– взаимодействующие;

– взаимосвязанные по ресурсам;

– конкурирующие.

Порядок взаимосвязи процессов определяется правилами синхронизации.

Процессы могут находится в отношении:

– предшествования;

– приоритетности;

– взаимного исключения.

Не следует смешивать понятие процесса и программы. Программа – это план действий, а процесс - это само действие, поэтому понятие процесса включает в себя:

– программный код;

– данные;

– содержимое стека;

содержимое адресного и других регистров процессора.

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

4. Планирование процессоров

Стратегии планирования процессора:

1. Первый пришел – первый обслуживается - firstcome – Firstserved (FCFS). FCFS является наиболее простой стратегией планирования процессов и заключается в том, что процессор передается тому процессу, который раньше всех других его запросил.

Когда процесс попадает в очередь готовых процессов, УТП (PSB) присоединяется к хвосту очереди.

Среднее время ожидания для стратегии FCFS часто весьма велико и зависит от порядка поступления процессов в очередь готовых процессов.

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

2. Стратегия «наиболее короткая работа выполняется первой» SJF – ShortestJobFirst. Одним из методов борьбы с «эффектом конвоя» является стратегия, позволяющая процессу из очереди выполняться первым.

5. Файловые таблицы FAT16, FAT32

Файл – область памяти, выделенная для хранения массива данных. В файлах могут храниться программы на алгоритмических или машинных языках. Исходные данные для работы программ и результаты и результаты заполнения программ, тексты и графические изображения. В настоящее время в ОС для ПК используются десятки файловых систем. В файловой системе MS-DOS используются:

– FAT16;

– FAT32;

– FAT12 (для дискет).

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

FAT16 – на запись адреса отводится 16 бит. С их помощью можно выразить 216 = 65536 разных адресов. Если размер диска 2 Гб., то на каждый адрес приходится 32 Кб.

Если же 2,5 Гб., то тогда на каждый адрес приходится более 64 Кб, но это не допустимо.

FAT32 – для этой таблицы размеры кластеров следующие:

Объем диска;

Размер кластера;

До 8 Гб;

8 – 16 Гб;

16 – 32 Гб;

свыше 32 Гб;

4 Кб;

8 Кб;

16 Кб;

32 Кб.

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

6. Основные свойства файлов

Файлы бывают разных типов: обычные файлы, специальные файлы, файлы-каталоги.

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

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

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

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

– информация о разрешенном доступе;

– пароль для доступа к файлу;

– владелец файла;

– создатель файла;

– признак "только для чтения";

– признак "скрытый файл";

– признак "системный файл";

– признак "архивный файл";

– признак "двоичный/символьный";

– признак "временный" (удалить после завершения процесса);

– признак блокировки;

– длина записи;

– указатель на ключевое поле в записи;

– длина ключа;

– времена создания, последнего доступа и последнего изменения;

– текущий размер файла;

– максимальный размер файла.

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