1. Понятие архитектуры ЭВМ. Языки, уровни и виртуальные машины ЭВМ




Название1. Понятие архитектуры ЭВМ. Языки, уровни и виртуальные машины ЭВМ
страница13/13
Дата публикации21.03.2013
Размер1.25 Mb.
ТипДокументы
vbibl.ru > Информатика > Документы
1   ...   5   6   7   8   9   10   11   12   13

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

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

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

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

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

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

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

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

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

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

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

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

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

Еще одно часто применяемое средство синхронизации – мьютексы. Мьютекс гарантирует нескольким процессам (или потокам) взаимоисключающий доступ к некоторому единственному ресурсу. Мьютекс может быть свободен или захвачен некоторым процессом. В последнем случае другие процессы для доступа к ресурсу должны ждать освобождения мьютекса. Логически мьютекс соответствует семафору с максимальным значением 1, однако его реализация существенно отличается. Мьютекс содержит идентификатор захватившего его процесса, и только этот процесс может освободить мьютекс. Кроме того, для мьютекса можно обычно задавать максимальное время ожидания. Еще одно отличие состоит в учете рекурсий: если процесс повторно пытается захватить мьютекс, то он не переводится в состояние “спячки”. Все проверки и изменения состояния мьютекса являются неделимыми операциями.









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

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


Заданная в выполняемой команде пара {селектор, смещение} с использованием дескриптора сегмента трансформируется в линейный адрес. Если при этом сегмент отсутствует (P=0), то срабатывает ловушка и операционная система загружает сегмент в память. Проверяется также, не выходит ли смещение за пределы сегмента (если выходит, то также срабатывает ловушка). Если сегмент находится в памяти, а смещение не выходит за границу, Pentium II прибавляет величину Base из дескриптора к смещению, в ре­зультате чего получается линейный адрес памяти.

Далее действует страничная организация. Если разбиение на страницы отключено (это определяется битом PG в регист­ре глобального управления CR0), линейный адрес интерпретируется как физический адрес и отправляется в память для чтения или записи. Если разбиение на страницы используется, то линейный адрес рассматривается как виртуальный и отображается в физический адрес с ис­пользованием таблиц страниц. Дополнительная слож­ность здесь состоит в том, что при 32-битном виртуальном адресе и страницах по 4К сегмент теоретически может содержать 1 миллион страниц.

Все таблицы имеют фиксированный размер, соответствующий величине одной страницы (1024 дескриптора по 32 разряда = 4Kb). Таким образом, таблицы сами могут загружаться и выгружаться. Одна таблица - каталог страниц - всегда находится в физической памяти. Ее абсолютный адрес содержится в регистре CR3.

Элемент таблицы страниц похож на элемент таблицы дескрипторов сегментов, но имеет более простую структуру. Он так же содержит базовый адрес (адрес страничного кадра - 20 битов, еще 12 младших считаются нулями), бит присутствия, бит обращения и т.д. Однако там нет полей типа и размера, т.к. все страницы одинаковы. Поле привилегий состоит всего из одного бита U/S (User - соответствует DPL = 3 / Supervisor - соответствует DPL = 0, 1, 2).

Линейный виртуальный адрес считается разбитым на три поля: DIR (биты 31-22, справа дополняются двумя нулями), PAGE (биты 21-12, также дополняются двумя нулями) и OFFSET (11-0). Поле DIR используется в качестве индекса в каталоге страниц для нахождения указателя на нужную таблицу страниц. Поле PAGE применяется как индекс в таблице страниц для нахождения физического адреса странич­ного кадра. Наконец, поле OFFSET прибавляется к адресу страничного кадра, и таким образом из линейного адреса полу­чается физический адрес нужного байта или слова.

Чтобы уменьшить количество повторных обращений к памяти, устройство управления па­мятью Pentium II (MMU) имеет аппаратную поддержку для хранения не­давно использовавшихся комбинаций DIR-PAGE и их отображения в физичес­кие адреса.

Взаимное расположение сегментов и страниц может быть произвольным. Сегменты могут пересекаться, начинаться с любого адреса. Сегмент может включать несколько страниц или содержаться внутри страницы. Страницы же всегда выровнены и расположены последовательно. Сегментация в 32-разрядном режиме Pentium действует всегда, в то время как страничное преобразование необязательно. Таким образом, страничная организация невозможна без сегментации. Если же некоторое приложение не нуждается в сегментации и до­вольствуется единым 32-битным адресным пространством со страничной органи­зацией, то это можно смоделировать. Все сегментные регистры могут быть заполнены од­ним и тем же селектором, дескриптор которого содержит поле Base=0, и поле Lim с максимальным значением. Смещения команд будут тогда линейными адресами в единственном адресном пространстве.














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

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

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
















0. Навигатор
1. Понятие архитектуры ЭВМ. Языки, уровни и виртуальные машины.

2. Уровни архитектуры современных компьютеров.

3. Аппаратное и программное обеспечение. Роль микропрограммирования и ОС.

4. Поколения ЭВМ. Типы компьютеров.

5. Примеры семейств компьютеров: Pentium, UltraSPARC, picoJava.

6. Общие функции и свойства процессоров. Архитектуры CISC и RISC.

7. Возможности параллельного выполнения программ.

8. Основная память компьютера. Роль кэш-памяти.

9. Внешняя память компьютера: магнитные диски.

10. Внешняя память компьютера: компакт-диски.

11. Процесс ввода/вывода.

12. Терминалы, клавиатуры и мониторы.

13. Мыши. Принтеры.

14. Модемы. Цифровая телефония. Коды символов.

15. Вентили, булева алгебра и схемы.

16. Виды цифровых логических схем. Микросхемы процессоров.

17. Шины.

18. Примеры центральных процессоров: Pentium II.

19. Примеры центральных процессоров: UltraSPARC II.

20. Примеры центральных процессоров: picoJava II.

21. Примеры шин: ISA и PCI.

22. Примеры шин: USB. Микросхемы ввода-вывода.

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

24. Увеличение производительности на микроархитектурном уровне.

25. Примеры микроархитектурного уровня: Pentium II.

26. Примеры микроархитектурного уровня: UltraSPARC II.

27. Примеры микроархитектурного уровня: picoJava II.

28. Обзор уровня команд: модели памяти и регистры.

29. Особенности уровня команд Pentium II.

30. Особенности уровня команд UltraSPARC II.

31. Особенности уровня команд JVM.








32. Типы данных. Принципы разработки форматов команд.

33. Форматы команд процессора Pentium II.

34. Форматы команд процессора UltraSPARC II.

35. Форматы команд JVM.

36. Обзор методов адресации.

37. Методы адресации Pentium II, UltraSPARC II и JVM.

38. Обзор типов машинных команд.

39. Ввод-вывод на уровне команд.

40. Команды процессора Pentium II.

41. Команды процессора UltraSPARC II.

42. Команды компьютера picoJava II.

43. Поток управления. Виды процедур.

44. Обзор архитектуры Intel IA-64.

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

46. Сегментация памяти.

47. Виртуальная память в компьютере Pentium II.

48. Виртуальная память в компьютере UltraSPARC II.

49. Файлы.

50. Принципы параллельной обработки на уровне ОС.





Над шпаргалками работали:

Pakshin A. S.

Agent_007

dArt
Весь материал основан на электронных лекциях Махортова С. Д.
Впервые использованы на зимней сессии 2006-2007 учебного года
Copyright © 2007, Студенты
1   ...   5   6   7   8   9   10   11   12   13

Похожие:

1. Понятие архитектуры ЭВМ. Языки, уровни и виртуальные машины ЭВМ iconПараллельная обработка данных
Машины (эвм) разделяются на аналоговые(непрерывные) и дискретные машины, реализующие цифровые вычисления. Так как для обозначения...

1. Понятие архитектуры ЭВМ. Языки, уровни и виртуальные машины ЭВМ iconФизические основы элементной базы современных ЭВМ
Поколения ЭВМ и их элементная база. Роль полупроводниковых материалов в современных ЭВМ. Преимущества интегральных схем перед дискретными...

1. Понятие архитектуры ЭВМ. Языки, уровни и виртуальные машины ЭВМ iconАрхитектура ЭВМ связана с качествами машины, к-е влияют на ее взаимодействие...
Это обусловлено развитием техники. Зу ЭВМ имеет несколько уровней: 1 внутреннее зу – содержит информацию, обрабатываемую в нем в...

1. Понятие архитектуры ЭВМ. Языки, уровни и виртуальные машины ЭВМ iconМетодические указания по прохождению преддипломной практики и дипломному...
Методические указания к дипломному проектированию составлены и доц каф ЭВМ лебеденко Ю. И. и обсуждены на заседании кафедры ЭВМ факультета...

1. Понятие архитектуры ЭВМ. Языки, уровни и виртуальные машины ЭВМ iconКафедра «Электронных вычислительных машин» методические указания...
Методические указания к дипломному проектированию составлены и доц каф ЭВМ лебеденко Ю. И. и обсуждены на заседании кафедры ЭВМ факультета...

1. Понятие архитектуры ЭВМ. Языки, уровни и виртуальные машины ЭВМ iconПлан лекции: Виды и операции технического обслуживания Организация эксплуатации ЭВМ
Эвм силами и средствами персонала ЭВМ. При этом виде обслуживания предполагается проведение регламентных работ, контроль технического...

1. Понятие архитектуры ЭВМ. Языки, уровни и виртуальные машины ЭВМ iconПлан лекции: Задачи, решаемые вычислительными центрами Структура...
Создание вычислительных центров является способом повышения эффективности работы ЭВМ. Вычислительный центр объединяет технику различных...

1. Понятие архитектуры ЭВМ. Языки, уровни и виртуальные машины ЭВМ iconЛабораторная работа №1 по дисциплине «эксплуатацияэвми систем»
...

1. Понятие архитектуры ЭВМ. Языки, уровни и виртуальные машины ЭВМ iconКонтроль работы ЭВМ
Процесс определения технического состояния и поддержания работы ЭВМ включает 4 этапа

1. Понятие архитектуры ЭВМ. Языки, уровни и виртуальные машины ЭВМ iconУрокам тема №1: этапы решения задач на ЭВМ. Алгоритмизация. Основные понятия. Блок-схемы
Программно дидактическое обеспечение: ЭВМ типа ibm. Turbo-Pascal Обучающие программы. Тесты

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
vbibl.ru
Главная страница