Лекция 1 Введение в системное программное обеспечение
Скачать 0.9 Mb.
|
Информационные утилитыВключают в себя мониторы, бенчмарки, и утилиты общей (статической) информации. Лекция 6: Файловая система
Иерархия каталоговПрактически всегда файлы на дисках объединяются в каталоги. В простейшем случае все файлы на данном диске хранятся в одном каталоге. Такая одноуровневая схема использовалась в CP/M и первых версиях MS-DOS. Сегодня её можно встретить, например, в некоторых цифровых фотоаппаратах: все сделанные фотографии складываются в один каталог. Иерархическая файловая система со вложенными друг в друга каталогами впервые появилась в UNIX. Wiki.txt Tornado.jpg Notepad.exe (Одноуровневая файловая система) Каталоги на разных дисках могут образовывать несколько отдельных деревьев, как в DOS/Windows, или же объединяться в одно дерево, общее для всех дисков, как в UNIX-подобных системах. C: \Program files \CDEx \CDEx.exe \CDEx.hlp \mppenc.exe \Мои документы \Wiki.txt \Tornado.jpg D: \Music \ABBA \1974 Waterloo \1976 Arrival \Money, Money, Money.ogg \1977 The Album (Иерархическая файловая система Windows/DOS) На самом деле, в DOS/Windows системах также, как и в UNIX-подобных существует один корневой каталог со вложенными директориями, имеющими названия "c:", "d:" и т.д. В эти каталоги монтируются разделы жёсткого диска. Т.е., c:\ - это всего лишь ссылка на file:///c:/. Однако, в отличие от UNIX-подобных файловых систем, в Windows запись в корневой каталог запрещена, как и просмотр его содержимого. В UNIX существует только один корневой каталог, а все остальные файлы и каталоги вложены в него. Чтобы получить доступ к файлам и каталогам на каком-нибудь диске, необходимо примонтировать этот диск командой mount. Например, чтобы открыть файлы на CD, нужно, говоря простым языком, сказать операционной системе: «возьми файловую систему на этом компакт-диске и покажи её в каталоге /mnt/cdrom». Все файлы и каталоги, находящиеся на CD, появятся в этом каталоге /mnt/cdrom, который называется точкой монтирования (англ. mountpoint). В большинстве UNIX-подобных систем съёмные диски (дискеты и CD), флеш-накопители и другие внешние устройства хранения данных монтируют в каталог /mnt, /mount или /media.Unix и UNIX-подобные операционные системы также позволяет автоматически монтировать диски при загрузке операционной системы. /usr /bin /arch /ls /raw /lib /libhistory.so.5.2 /libgpm.so.1 /home /lost+found /host.sh /guest /Pictures /example.png /Video /matrix.avi /news /lost_ship.mpeg (Иерархическая файловая система Unix и UNIX-подобных операционных системах) Обратите внимание на использование слэшей в файловых системах Windows, UNIX и UNIX-подобных операционных системах (В Windows используется обратный слеш "\", а в UNIX и UNIX-подобных операционных системах простой слеш "/") Кроме того, следует отметить, что вышеописанная система позволяет монтировать не только файловые системы физических устройств, но и отдельные каталоги (параметр --bind) или, например, образ ISO (опция loop). Такие надстройки, как FUSE, позволяют также монтировать, например, целый каталог на FTP и ещё очень большое количество различных ресурсов. Ещё более сложная структура применяется в NTFS и HFS. В этих файловых системах каждый файл представляет собой набор атрибутов. Атрибутами считаются не только традиционные только для чтения, системный, но и имя файла, размер и даже содержимое. Таким образом, для NTFS и HFS то, что хранится в файле — это всего лишь один из его атрибутов. Если следовать этой логике, один файл может содержать несколько вариантов содержимого. Таким образом, в одном файле можно хранить несколько версий одного документа, а также дополнительные данные (значок файла, связанная с файлом программа). Такая организация типична для HFS на Macintosh. Классификация файловых системПо предназначению файловые системы можно классифицировать на следующие категории: Для носителей с произвольным доступом (например, жёсткий диск): FAT32, HPFS, ext2 и др. Поскольку доступ к дискам в разы медленнее, чем доступ к оперативной памяти, для прироста производительности во многих файловых системах применяется асинхронная запись изменений на диск. Для этого применяется либо журналирование, например в ext3, ReiserFS, JFS, NTFS, XFS, либо механизм soft_updates и др. Журналирование широко распространено в Linux, применяется в NTFS. Soft_updates - в BSD системах. Reiser4 не применяет журналирование, все операции в ней атомарны. Для носителей с последовательным доступом (например, магнитные ленты): QIC и др. Для оптических носителей — CD и DVD: ISO9660, ISO9690, HFS, UDF и др. Виртуальные файловые системы: AEFS и др. Сетевые файловые системы: NFS, SMBFS, SSHFS, GmailFS и др. Задачи файловой системыОсновные функции любой файловой системы нацелены на решение следующих задач: именование файлов; программный интерфейс работы с файлами для приложений; отображения логической модели файловой системы на физическую организацию хранилища данных; устойчивость файловой системы к сбоям питания, ошибкам аппаратных и программных средств; содержание параметров файла необходимых для правильного его взаимодействия с другими объектами системы (ядро, приложения и пр.) В многопользовательских системах появляется еще одна задача: защита файлов одного пользователя от несанкционированного доступа другого пользователя. См. такжеСписок файловых систем Сравнение файловых систем Расширение имени файла RAID-массивы Filesystem in Userspace — модуль для ядер Unix-подобных ОС позволяющий непривилегированным пользователям создавать собственные файловые системы. Имеет ряд интересных приложений. Виртуальная файловая система API файловой системы Enterprise Volume Management System «Грязный бит» Источник — http://ru.wikipedia.org/wiki/файловая система Лекция 7: Система управления базами данных
Основные функции СУБДуправление данными во внешней памяти (на дисках); управление данными в оперативной памяти с использованием дискового кэша; журнализация изменений, резервное копирование и восстановление базы данных после сбоев; поддержка языков БД (язык определения данных, язык манипулирования данными). Обычно современная СУБД содержит следующие компоненты: ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию, процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода, подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД а также сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы. Классификация СУБДПо модели данныхПо типу управляемой базы данных СУБД разделяются на: Сетевые Иерархические Реляционные Объектно-реляционные Объектно-ориентированные По архитектуре организации хранения данныхлокальные СУБД (все части локальной СУБД размещаются на одном компьютере) распределенные СУБД (части СУБД могут размещаться на двух и более компьютерах) По способу доступа к БДФайл-серверные В файл-серверных СУБД файлы данных располагаются централизованно на файл-сервере. Ядро СУБД располагается на каждом клиентском компьютере. Доступ к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок. Преимуществом этой архитектуры является низкая нагрузка на ЦП сервера, а недостатком -- высокая загрузка локальной сети. На данный момент файл-серверные СУБД считаются устаревшими. Примеры: Microsoft Access, Borland Paradox. Клиент-серверные Такие СУБД состоят из клиентской части (которая входит в состав прикладной программы) и сервера (см. Клиент-сервер). Клиент-серверные СУБД, в отличие от файл-серверных, обеспечивают разграничение доступа между пользователями и мало загружают сеть и клиентские машины. Сервер является внешней по отношению к клиенту программой, и по надобности его можно заменить другим. Недостаток клиент-серверных СУБД в самом факте существования сервера (что плохо для локальных программ — в них удобнее встраиваемые СУБД) и больших вычислительных ресурсах, потребляемых сервером. Примеры: Firebird, Interbase, MS SQL Server, Sybase, Oracle, PostgreSQL, MySQL. Встраиваемые Встраиваемая СУБД — библиотека, которая позволяет унифицированным образом хранить большие объёмы данных на локальной машине. Доступ к данным может происходить через SQL либо через особые функции СУБД. Встраиваемые СУБД быстрее обычных клиент-серверных и не требуют установки сервера, поэтому востребованы в локальном ПО, которое имеет дело с большими объёмами данных (например, геоинформационные системы). Примеры: OpenEdge, SQLite, BerkeleyDB, один из вариантов Firebird, один из вариантов MySQL, Sav Zigzag. СсылкиРусскоязычные сайтыsql.ru mysql.ru Документация MySQL на citforum.ru MySQL, 2-е издание: Полн. и исчерпывающее руководство по применению и ... Авторы: Поль Дюбуа, Н.В Зарубежные сайтыmysql.com ЛитератураК. Дж. Дейт Введение в системы баз данных = Introduction to Database Systems. — 8-е изд. — М.: «Вильямс», 2006. — С. 1328. — ISBN 0-321-19784-4 [Примечание: Все материалы взяты с сайта http://ru.wikipedia.org свободной интернет энциклопедии.] |