МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Разработка операционных систем

    Разработка операционных систем

    Дагестанский государственный университет.

    Математический факультет.

    Кафедра информатики и вычислительной техники.

    Дипломная работа

    на тему

    «Разработка

    операционных систем».

    Руководитель:

    Ханикалов Х.Б.

    Выполнил:

    студент 5 к. 4 гр.

    Атаян А.П.

    Махачкала 2000 г.

    План работы:

    Введение.

    1. Управление процессами.

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

    1.2. Планирование процессов. Понятие очереди.

    1.3. Взаимодействие процессов. Пользовательский уровень.

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

    2.1. Критерии планирования процессора.

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

    2.2.1.Первый пришел - первый обслуживается FIFO. First come - first

    served (FCFS).

    2.2.2. Стратегия - наиболее короткая работа! SJF.

    2.2.3. Приоритетное планирование.

    2.2.4. “Карусельная” стратегия планирования. RR-Round Robin.

    2.2.5. Планирование с использованием многоуровневой

    очереди.(Multilevel queue scheduling).

    2.2.6. Программирование с использованием многоуровневой очереди с

    обратными связями (multilevel feedback queue sheduling).

    3. Управление невиртуальной памятью.

    3.1. Своппинг. (swapping).

    3.2. Смежное размещение процессов.

    3.2.1. Однопрограммный режим.

    3.2.2 Мультипрограммный режим с фиксированными границами.

    3.2.3. Мультипрограммирование с переменными разделами.

    (multiprogramming with a variable number of tasks (MVT).

    3.2.4. Мультипрограммирование с переменными разделами и уплотнением

    памяти.

    3.2.5. Основные стратегии заполнения свободного раздела.

    3.3. Страничная организация памяти.

    3.3.1. Базовый метод.

    3.3.2. Аппаратная поддержка страничной организации памяти.

    3.4. Сегментная организация памяти.

    3.4.1. Базовый метод сегментной организации памяти.

    3.4.2. Разделение сегмента между несколькими процессами.

    3.4.3. Фрагментация.

    4. Управление виртуальной памятью.

    4.1. Страничирование по запросу (demand paging).

    4.2. Замещение страниц.

    4.2.1. FIFO.

    4.2.2. Оптимальный алгоритм.

    4.2.3. LRU — алгоритм (least recently used).

    5. Общие сведения.

    5.1. Управление памятью.

    5.2. Файловая система.

    5.3. Управление процессами.

    5.4. Межпроцессное взаимодействие.

    5.5. Графический интерфейс пользователя.

    5.6. Объектно-ориентированное ориентирование и операционные системы.

    Заключение.

    ВВЕДЕНИЕ.

    Операционные системы, развиваясь вместе с ЭВМ, прошли длинный путь от

    простейших программ в машинных кодах длинной в несколько килобайт до

    монстров, написанных на языках высокого уровня, размер которых исчисляется

    десятками мегабайт. Такой значительный рост размера операционных систем

    обусловлен, главным образом, стремлением разработчиков ’украсить’

    операционную систему, расширить ее возможности, добавить возможности,

    изначально несвойственные операционным системам, а также сделать интерфейс

    пользователя интуитивным. Все эти попытки дали свои результаты, и

    положительные, и отрицательные (усложнение настройки и программного

    интерфейса при упрощении пользовательского).

    На сегодняшний день на рынке программного обеспечения для IBM PC-

    совместимых компьютеров сосуществуют несколько семейств операционных

    систем. Однозадачные однопользовательские ОС MS-DOS и PC-DOS являются

    самыми распространенными ввиду своей простоты и ’неприхотливости’, большую

    роль здесь играет и то, что подавляющее большинство программ работает

    именно под их управлением. MS-DOS и PC-DOS характеризуются минимальным

    пользовательским и программным интерфейсами, в тоже время, работая со

    всевозможными программными оболочками, интегрированными средами (такими как

    Microsoft Windows или DESQview), создают комфортабельную среду для

    пользователя и программы.

    ОС Microsoft Windows NT, ориентированная на работу в разнородных

    сетях, высоконадежна, однако, это достигнуто за счет частичной потери

    совместимости с MS-DOS.

    Операционная система OS/2 стоит особняком: будучи полноправной

    многозадачной операционной системой со своим оригинальным графическим

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

    MS-DOS и PC-DOS (начиная с версии WARP 3.0 и с Microsoft Windows).

    ОС UNIX - одна из старейших и наиболее простых операционных систем,

    изначально была рассчитана на разработку программ (для нее самой и не

    только) на мини-ЭВМ и позволяла без больших затрат труда программиста

    переносить программу из одной системы ЭВМ на другую. Неудивительно, что

    сейчас продается много различных вариантов мобильной операционной системы

    UNIX, таких как XENIX, UNIXWARE, SUN-OS, LINUX, BSD.

    Теоретически все эти ОС работают примерно одинаково. Рассмотрим теорию

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

    Операционная система - это программа, которая выполняет функции

    посредника между пользователем и компьютером.

    ОС, выполняя роль посредника, служит двум целям:

    1. эффективно использовать компьютерные ресурсы.

    1. создавать условия для эффективной работы пользователя

    В качестве ресурсов компьютера обычно рассматривают:

    1. время работы процессора

    1. адресное пространство основной памяти

    2. оборудование ввода – вывода

    3. файлы, хранящиеся во внешней памяти

    На рисунке приведены основные компоненты ОС как системы разделения

    ресурсов.

    Таким образом, основные компоненты ОС:

    1. управление процессами (распределяет ресурс - процессорное время);

    1. управление памятью (распределяет ресурс - адресное пространство основной

    памяти);

    1. управление устройствами (распределяет ресурсы) - оборудование ввода-

    вывода;

    1. управление данными (распределяет ресурс - данные или файлы).

    Функционирование компьютера после включения питания начинается с

    запуска программы первоначальной загрузки - Boot Track. Программа Boot

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

    процессора (CPU), накопитель памяти, контроллеры периферийного

    оборудования. Затем загружается ядро ОС, то есть Operating System Kernel.

    Дальнейшее функционирование ОС осуществляется как реакция на события,

    происходящие в компьютере. Наступление того или иного события

    сигнализируется прерываниями - Interrupt. Источниками прерываний могут быть

    как аппаратура (HardWare), так и программы (SoftWare).

    Аппаратура “сообщает” о прерывании асинхронно (в любой момент

    времени) путем пересылки в CPU через общую шину сигналов прерываний.

    Программа “сообщает” о прерывании путем выполнения операции System Call.

    Примеры событий, вызывающих прерывания:

    1. попытка деления на 0

    1. запрос на системное обслуживание

    1. завершение операции ввода - вывода

    1. неправильное обращение к памяти

    Каждое прерывание обрабатывается соответственно обработчиком

    прерываний (Interrupt handler), входящим в состав ОС.

    Главные функции механизма прерываний — это:

    1. распознавание или классификация прерываний

    1. передача управления соответственно обработчику прерываний

    1. корректное возвращение к прерванной программе

    Переход от прерываемой программы к обработчику и обратно должен

    выполняться как можно быстрей. Одним из быстрых методов является

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

    прерываний и адреса соответствующих обработчиков. Такая таблица называется

    вектором прерываний (Interrupt vector) и хранится в начале адресного

    пространства основной памяти (UNIX/MS DOS).

    Для корректного возвращения к прерванной программе перед передачей

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

    запоминается либо в памяти с прямым доступом либо в системном стеке —

    System Stack.

    Обычно запрещаются прерывания обработчика прерываний. Однако, в

    некоторых ОС прерывания снабжаются приоритетами, то есть работа обработчика

    прерывания с более низким приоритетом может быть прервана, если произошло

    прерывание с более высоким приоритетом.

    1. Управление процессами.

    ПРОЦЕСС — ЭТО ПРОГРАММНЫЙ МОДУЛЬ, ВЫПОЛНяЕМЫЙ В CPU. ОПЕРАЦИОННАя

    СИСТЕМА КОНТРОЛИРУЕТ СЛЕДУЮЩУЮ ДЕяТЕЛЬНОСТЬ, СВяЗАННУЮ С ПРОЦЕССАМИ:

    1. создание и удаление процессов

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

    1. синхронизация процессов

    1. коммуникация процессов

    1. разрешение тупиковых ситуаций

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

    НЕ СЛЕДУЕТ СМЕШИВАТЬ ПОНяТИя ПРОЦЕСС И ПРОГРАММА. ПРОГРАММА - ЭТО

    ПЛАН ДЕЙСТВИЙ, А ПРОЦЕСС — ЭТО САМО ДЕЙСТВИЕ. ПОНяТИЕ ПРОЦЕСС ВКЛЮчАЕТ:

    1. программный код

    1. данные

    1. содержимое стека

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

    Таким образом, для одной программы могут быть созданы несколько

    процессов, в том случае, если с помощью одной программы в компьютере

    выполняется несколько несовпадающих последовательностей команд. За время

    существования процесс многократно изменяет свое состояние.

    Различают следующие состояния процесса:

    1. новый (new, процесс только что создан)

    1. выполняемый (running, команды программы выполняются в CPU)

    1. ожидающий (waiting, процесс ожидает завершения некоторого события, чаще

    всего операции ввода - вывода)

    1. готовый (ready, процесс ожидает освобождения CPU)

    1. завершенный (terminated, процесс завершил свою работу)

    Переход из одного состояния в другое не может выполняться

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

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

    |Выполняемый |ожидаемый, готовый |Выполняемый | |

    | | | | | |

    | | | | | |

    | | | | | |

    |готовый |Выполняемый |готовый | |

    | | | | | |

    | | | | | |

    | | | | | |

    |ожидаемый, готовый |Выполняемый |ожидаемый | |

    | | | |time | |

    Каждый процесс представлен в операционной системе набором данных,

    называемых process control block . В process control block процесс

    описывается набором значений, параметров, характеризующих его текущее

    состояние и используемых операционной системой для управления прохождением

    процесса через компьютер.

    На рисунке схематически показано, каким образом операционная система

    использует process control block для переключения процессора с одного

    процесса на другой.

    | | |Заголово| | | | | | |

    | | |к | | | | | | |

    |Процессы | |первый | |PCB7 | |PCB8 | | |

    |в | | | | | | | | |

    |состоянии| | | | | | | | |

    |“готовый”| |последни| | | | | | |

    | | |й | | | | | | |

    | | | | | | | | | |

    | | | | | | | | | |

    |Очередь к| |первый | | | | | | |

    |магнитной| | | | | | | | |

    |ленте | |последни| | | | | | |

    | | |й | | | | | | |

    | | | | | | | | | |

    | | | | | | | | | |

    |Очередь | |первый | |PCB3 | |PCB14 | |PCB6 |

    |к | | | | | | | | |

    |диску №1 | |последни| | | | | | |

    | | |й | | | | | | |

    | | | | | | | | | |

    | | | | | | | | | |

    |Очередь к| |первый | |PCB5 | | | | |

    |терминалу| | | | | | | | |

    |№ 1 | |последни| | | | | | |

    | | |й | | | | | | |

    1.2. Планирование процессов. Понятие очереди.

    СИСТЕМА УПРАВЛЕНИя ПРОЦЕССАМИ ОБЕСПЕчИВАЕТ ПРОХОЖДЕНИЕ ПРОЦЕССА чЕРЕЗ

    КОМПЬЮТЕР. В ЗАВИСИМОСТИ ОТ СОСТОяНИя ПРОЦЕССА ЕМУ ДОЛЖЕН БЫТЬ ПРЕДОСТАВИТЬ

    ТОТ ИЛИ ИНОЙ РЕСУРС. НАПРИМЕР, НОВЫЙ ПРОЦЕСС НЕОБХОДИМО РАЗМЕСТИТЬ В

    ОСНОВНОЙ ПАМяТИ, СЛЕДОВАТЕЛЬНО, ЕМУ НЕОБХОДИМО ВЫДЕЛИТЬ чАСТЬ АДРЕСНОГО

    ПРОСТРАНСТВА. ПРОЦЕССУ В СОСТОяНИИ ГОТОВЫЙ ДОЛЖНО БЫТЬ ПРЕДОСТАВЛЕНО

    ПРОЦЕССОРНОЕ ВРЕМя. ВЫПОЛНяЕМЫЙ ПРОЦЕСС МОЖЕТ ПОТРЕБОВАТЬ ОБОРУДОВАНИЕ

    ВВОДА - ВЫВОДА И ДОСТУП К ФАЙЛУ.

    Распределение процессов между имеющимися ресурсами носит название

    планирование процессов. Одним из методом планирования процессов,

    ориентированных на эффективную загрузку ресурсов, является метод очередей

    ресурсов. Новые процессы находятся во входной очереди, часто называемой

    очередью работ - заданий (job queue).

    Входная очередь располагается во внешней памяти, во входной очереди

    процессы ожидают освобождения ресурса — адресного пространства основной

    памяти.

    Готовые к выполнению процессы располагаются в основной памяти и

    связаны очередью готовых процессов или ready queue. Процессы в этой очереди

    ожидают освобождения ресурса процессорное время.

    Процесс в состоянии ожидания завершения операции ввода - вывода

    находится в одной из очередей к оборудованию ввода - вывода, которая носит

    название devices queue.

    При прохождении через компьютер процесс мигрирует между различными

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

    (scheduler) Операционная система, обеспечивающая режим

    мультипрограммирования, обычно включает два планировщика — долгосрочный

    (long term scheduler) и краткосрочный (short term scheduler/CPU scheduler).

    Основное отличие между долгосрочным и краткосрочным планировщиками

    заключается в частоте запуска, например: краткосрочный планировщик может

    запускаться каждые 100 мс, долгосрочный — один раз за несколько минут.

    Долгосрочный планировщик решает, какой из процессов, находящихся во

    входной очереди, должен быть переведен в очередь готовых процессов в случае

    освобождения ресурсов памяти.

    Долгосрочный планировщик выбирает процесс из входной очереди с целью

    создания неоднородной мультипрограммной смеси. Это означает, что в очереди

    готовых процессов должны находиться в разной пропорции как процессы,

    ориентированные на ввод - вывод, так и процессы, ориентированные на

    преимущественную работу с CPU.

    Краткосрочный планировщик решает, какой из процессов, находящихся в

    очереди готовых процессов, должен быть передан на выполнение в CPU. В

    некоторых операционных системах долгосрочный планировщик может

    отсутствовать. Например, в системах разделения времени (time sharing

    system), каждый новый процесс сразу же помещается в основную память.

    1.3. Взаимодействие процессов.

    Пользовательский уровень.

    СОВМЕСТНО ВЫПОЛНяЕМЫЕ ПРОЦЕССЫ МОГУТ БЫТЬ ЛИБО НЕЗАВИСИМЫМИ

    (INDEPENDED PROCESSES), ЛИБО ВЗАИМОДЕЙСТВУЮЩИМИ (COOPERATING PROCESSES).

    ВЗАИМОДЕЙСТВИЕ ПРОЦЕССОВ чАСТО ПОНИМАЕТСя В СМЫСЛЕ ВЗАИМНОГО ОБМЕНА ДАННЫМИ

    чЕРЕЗ ОБЩИЙ БУФЕР ДАННЫХ.

    Взаимодействие процессов удобно рассматривать в схеме производитель -

    потребитель (produces - consumer). Например, программа вывода на печать

    производит последовательность символов, которые потребляются драйвером

    принтера или компилятор производит ассемблерный текст, который затем

    потребляется ассемблером.

    Для того чтобы процесс - производитель и процесс - потребитель могли

    заполнять совместно необходимый буфер, заполняемый процессом -

    производителем и потребляемым процессом - потребителем.

    Буфер имеет фиксированные размеры, и, следовательно процессы могут

    находиться в состоянии ожидания, когда:

    1. буфер заполнен; ожидает процесс - производитель

    2. буфер пуст; ожидает процесс - потребитель

    Буфер может предоставляться и поддерживаться самой ОС, например с

    помощью средств коммуникации процессов (IPC — Inter Process Communication),

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

    используют общий участок памяти, например процесс - производитель и процесс

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

    Страницы: 1, 2, 3, 4, 5


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.