Редактирование: Базы Данных, 03 лекция (от 14 сентября)

Материал из eSyr's wiki.

Перейти к: навигация, поиск

Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.

ПРЕДУПРЕЖДЕНИЕ: Длина этой страницы составляет 32 килобайт. Страницы, размер которых приближается к 32 КБ или превышает это значение, могут неверно отображаться в некоторых браузерах. Пожалуйста, рассмотрите вариант разбиения страницы на меньшие части.

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

Текущая версия Ваш текст
Строка 29: Строка 29:
# Индексация на уровне дисков — файл состоял из записей, каждая запись могла содержать несколько полей. Это похоже на БД, но не то. В файлах можно было объявить поле индексным, и на аппаратном уровне в специальной области диска создавался индекс, что позже позволяло этим воспользоваться.
# Индексация на уровне дисков — файл состоял из записей, каждая запись могла содержать несколько полей. Это похоже на БД, но не то. В файлах можно было объявить поле индексным, и на аппаратном уровне в специальной области диска создавался индекс, что позже позволяло этим воспользоваться.
-
Почему в IBM были так сделаны файлы: дело в том, что в ОС у программистов, особенно у системных программистов, всегда было желание позволить людям так писать программы, чтобы они не думали, как эти программы будут работать (следить за тонкостями реализации). Давней мечтой программистов было сделать механизм абстракции, при котором при программировании было только некое абстрактное представление о внешнем мире, заключавшееся в абстракции интерфейса. В IBM была предпринята первая попытка абстракции, и в качестве основной абстракции был принят файл. В UNIX так и есть, но для IBM это было плохо. В IBM была предпринята попытка представить всё файлом, и основную нагрузку перенести на контроллер, но в результате получилось, что появился класс интерфейсов, которые похожи, но разные. В System/360 появился Job Control Language (JCL), который позволял при запуске программы сообщить ОС, каким типом файлов та пользовалась. Это был громоздкий язык, на котором нужно было писать громоздкие конструкции для спецификации типов файлов. Ошибка IBM была в том, что они взяли исходно сложное понятие файла, над которым была сделана абстракция.
+
Почему в IBM были так сделаны файлы: дело в том, что в ОС у программистов, особенно у системных программистов, всегда было желание позволить людям так писать программы, чтобы они не думали, как эти программы будут работать (следить за тонкостями реализации). Давней мечтой программистов было сделать механизм абстракции, при котором при программировании было только некое абстрактное представление о внешнем мире, заключавшееся в абстракции интерфейса. В IBM была предпринята первая попытка абстракции, и в качестве основной абстракции был принят файл. В UNIX так и есть, но для IBM это было плохо. В IBM была предпринята попытка представить всё файлом, и основную нагрузку перенести на контроллер, но в результате получилось, что появился класс интерфейсов, которые похожи, но разные. В System/360 появился Job Control Language (JCL), который позволял при запуске программы сообщить ОС, каким типом файлов та пользовалась. Это был громоздкий язык, на котором нужно было писать громоздкие конструкции для спецификации типов файлов. Ошибка IBM была в том, что они взяли исходно сложное понятие файла, над которым было сделана абстракция.
-
Когда человек работает с памятью, он работает с кусочками, т. н. записями. Но что преследовала IBM, когда она хотела спустить информацию о размере записи до уровня диска? Первая ошибка в том, что IBM'овцам казалось, что при наличии точной информации о длине минимизируется количество записей. Второе ошибочное предположение — в минимизации затрат памяти при записи.
+
Когда человек работает с памятью, он работает с кусочками, т. н. записями. Но что преследовало IBM, когда она хотела спустить информацию о размере записи до уровня диска? Первая ошибка в том, что IBMовцам казалось, что при наличии точной информации о длине минимизируется количество записей. Второе ошибочное предположение — в минимизации затрат памяти при записи.
В действительности, экономия является ложной, так как собственно запись занимала очень маленькое время. Поэтому сейчас всегда пишут постоянными порциями.
В действительности, экономия является ложной, так как собственно запись занимала очень маленькое время. Поэтому сейчас всегда пишут постоянными порциями.
-
Алгоритма всегда 3:
+
Алгоритма всегда 3:
-
* первый подходящий
+
*первый подходящий
-
* наиболее подходящий
+
*наиболее подходящий
-
* наименее подходящий
+
*наименее подходящий
Одна из самых неприятных вещей — динамическое распределение памяти фиксированными кусками. Человечество не придумало ни одного алгоритма, который эффективно выделял бы области заданного размера и не приводил бы к внешней фрагментации. Для борьбы с внешней фрагментацией можно только сдвигать выделенные куски. Другие методы, которые выделяют фиксированное количество памяти, приводят к внутренней фрагментации.
Одна из самых неприятных вещей — динамическое распределение памяти фиксированными кусками. Человечество не придумало ни одного алгоритма, который эффективно выделял бы области заданного размера и не приводил бы к внешней фрагментации. Для борьбы с внешней фрагментацией можно только сдвигать выделенные куски. Другие методы, которые выделяют фиксированное количество памяти, приводят к внутренней фрагментации.
-
За 30 лет так мало изменилось в ФС и ОС.
+
За 30 лет так мало изменилось в ФС и ОС.
==== Два вида представления файлов на уровне пользователя ====
==== Два вида представления файлов на уровне пользователя ====

Пожалуйста, обратите внимание, что все ваши добавления могут быть отредактированы или удалены другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. eSyr's_wiki:Авторское право).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Личные инструменты
Разделы