Способы выполнения файловых операций

Два способа организации файловых операций

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

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

Какие бы операции не выполнялись над файлом, ОС необходимо выполнить ряд универсальных для всех операций действий:

  • По символьному имени файла найти его характеристики, которые хранятся в файловой системе на диске.

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

  • На основании характеристик файла проверить права пользователя на выполнение запрошенной операции (чтение, запись, удаление, просмотр атрибутов файла).
  • Очистить область памяти, отведенную под временное хранение характеристик файла.

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

Операционная система может выполнять последовательность действий над файлом двумя способами (рис. 7.26):

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

Подавляющее большинство файловых систем поддерживает второй способ организации файловых операций как более экономичный и быстрый. Первый способ обладает одним преимуществом — он более устойчив к сбоям в работе системы, так как каждая операция является самодостаточной и не зависит от результата предыдущей. Поэтому первый способ иногда применяется в распределенных сетевых файловых системах (например, в Network File System, NFS компании Sun), когда сбои из-за потерь пакетов или отказов одного из сетевых узлов более вероятны, чем при локальном доступе к файлам.

Рис. 7.26. Два способа выполнения файловых операций

При втором способе в файловой системе вводятся два специальных системных вызова: open — открытие файла, и close — закрытие файла.

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

Операции открытия и закрытия файла в той или иной форме утвердились в операционных системах очень давно. Даже в такой «старой» операционной системе, как OS/360, существовала макрокоманда OPEN, по которой в специальном буфере, называемом DCB (Data Control Block), собирались из различных источников все нужные характеристики набора данных (понятие, близкое к современному понятию файла), используемые затем при выполнении операций чтения и записи.

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

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

1. Введение в планирование.

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

  • создание процесса;
  • завершение процесса;
  • блокировка процесса на различных операциях;
  • прерывание ввода/вывода.

2. Категории алгоритмов планирования.

Всё многообразие алгоритмов планирования может быть разделено на невытесняющие (назовем их неприоритетными) и вытесняющие (назовем их приоритетными).

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

Использование того или иного алгоритма планирования зависят от типа решаемых ОС задач. В этом смысле ОС можно разделить на:

  • системы пакетной обработки;
  • интерактивные системы;
  • системы реального времени.
Читайте также:  Способы защиты гражданских прав прекращения или изменения правоотношения пример

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

Интерактивные системы могут использовать только приоритетный алгоритм, т.к. нельзя допустить, чтобы один процесс занял надолго процессор (например: сервер общего доступа или персональный компьютер).

Системы реального времени могут использовать как неприоритетный, так и приоритетный алгоритмы.

Задачи алгоритмов планирования

К задачам алгоритмов планирования относятся:

— справедливость (каждому процессу справедливую долю процессорного времени);

— контроль за выполнением принятой политики;

— баланс (поддержка занятости всех частей системы так, чтобы, например, были заняты процессор и устройства ввода/вывода);

  • для систем пакетной обработки

— пропускная способность (количество задач в час);

— оборотное время (минимизация времени на ожидание обслуживания и обработку задач);

— использование процессора (процессор должен быть всегда занят);

  • для интерактивных систем

— время отклика (быстрая реакция на запросы);

— соразмерность (выполнение ожиданий пользователя);

  • для систем реального времени

— окончание работы к сроку (предотвращение потери данных);

— предсказуемость (предотвращение ухудшения качества в мультимедийных системах).

3. Планирование в системах пакетной обработки данных

Планирование в системах пакетной обработки данных может происходить по следующим алгоритмам:

1) «Первый пришел – первым обслужен»

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

2) «Кратчайшая задача – первая» (рис. 3.9)

Преимущества: уменьшение оборотного времени, справедливость. Недостаток: длинный процесс, занявший процессор, не пустит более новые краткие процессы, которые пришли позже.

Рис. 3.9. Выполнение алгоритма «Кратчайшая задача – первая»

3) Наименьшее оставшееся время выполнения

Аналог предыдущего, но если приходит новый процесс, его полное время выполнения сравнивается с оставшимся временем выполнения текущего процесса

4) Трехуровневое планирование (рис. 3.10)

Рис. 3.10. Трехуровневое планирование

Планировщик доступа выбирает задачи оптимальным образом (например: процессы, ограниченные процессором и вводом/выводом).

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

4. Планирование в интерактивных системах

Планирование в интерактивных системах может происходить по следующим алгоритмам:

1) Циклическое планирование

Самый простой и часто используемый алгоритм планирования. Каждому процессу предоставляется квант времени процессора. Когда квант заканчивается, процесс переводится планировщиком в конец очереди. При блокировке процессор выпадает из очереди. Пример алгоритма показан на рис. 3.11.

Рис. 3.11. Пример циклического планирования

Преимущества: простота, справедливость. Недостатки: при частых переключениях уменьшается производительность; при редких переключениях увеличивается время ответа на запрос.

2) Приоритетное планирование

Каждому процессу присваивается приоритет, и управление передается процессу с самым высоким приоритетом.

5. Планирование в системах реального времени

Системы реального времени делятся на жесткие (жесткие сроки для каждой задачи) и гибкие (нарушение временного графика не желательны, но допустимы)

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

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

где m – число периодических событий; Ti – время, которое уходит на обработку события; Pi – период поступления события.

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

Источник

Операции с файлами и папками

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

Подробнее ознакомиться, как устроен файл можно здесь, а про папки почитать тут. Новичку важно усвоить, что одни и те же действия в компьютере часто можно выполнить несколькими способами и это в полной мере относится к операциям с каталогами и файлами. Давайте разберемся, какие бывают операции с данными на жестком диске компьютера и способы их выполнения. Мы будем описывать работу в штатном Проводнике Windows при настройках по умолчанию.

Открыть файл или папку

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

Достигнуть данного результата можно по-разному, в зависимости от настроек системы и используемых программ. Самый простой способ открыть файл или папку это сделать по ней двойной щелчок левой кнопкой мыши (ЛКМ), однако начинающим пользователям данное действие бывает сложно сделать. В таком случае можно щелкнуть по нужному объекту один раз ЛКМ , он выделится и нажать клавишу Enter или кликнуть по нему правой кнопкой мыши (ПКМ) и выбрать в появившемся контекстном меню пункт «Открыть».

Читайте также:  Есть ли способ вернуть украденные криптовалюты

Вверху Проводника есть собственное меню позволяющее производить операции с объектами и настроить сам Проводник. Если вы не ведите меню, нажмите клавишу F10 на клавиатуре. Выделите объект щелчком ЛКМ и выберите в меню «Файл» ⇒ «Открыть».

Может возникнуть ситуация, когда Windows не знает с помощью какой программы нужно открыть данный файл или вы хотите открыть его в другой программе. Для этого нужно щелкнуть по файлу ПКМ и выбрать в контекстном меню пункт «Открыть с помощью» и указать нужную программу.

Операция переименования папок и файлов

Все объекты на жестком диске компьютера имеют свои имена уникальные внутри одного каталога. Имена можно менять произвольным образом любое количество раз, главное соблюдать требования файловой системы к ним. В случае ввода недопустимого имени компьютер выведет предупреждение об этом.

Для переименования необходимо выделить нужный объект одиночным щелчком ЛКМ чтобы он под светился цветом и после небольшой задержки произвести по нему еще один клик ЛКМ. Имя должно выделиться синим, теперь можно ввести на клавиатуре новое имя и щелкнуть ЛКМ на свободном месте в окне Проводника или нажать на клавиатуре клавишу Enter .

Альтернативный вариант переименования файлов и папок предполагает использование всплывающего контекстного меню Проводника. Щелкнете на объекте ПКМ и выберете пункт «Переименовать» дальнейшие действия как описано выше.

Последний способ переименовать объект задействует меню Проводника. Выделите нужный файл или папку щелчком ЛКМ и в меню Проводника выберите «Файл» ⇒ «Переименовать», а дальше все как в других способах.

Операция перемещения папок и файлов

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

Используя буфер обмена.

Выделить объект щелчком ЛКМ, чтобы он подсветился цветом. Дальше есть несколько вариантов, как можно поступить:

  • щелкнуть по нему ПКМ и выбрать пункт «Вырезать»
  • нажать комбинацию клавиш Ctrl + X
  • нажать кнопку «Вырезать» на панели инструментов или в меню Проводника выбрать «Правка» ⇒ «Вырезать». В зависимости от версии операционной системы вид, расположение меню и наличие кнопок несколько различается.

В результате этих действий объект станет блеклым и поместится в буфер обмена операционной системы Windows. Теперь надо открыть папку на жестком диске, куда вы хотите переместить объект и выполнить одно из действий:

  • щелкнуть на свободном месте ПКМ и выбрать пункт «Вставить»
  • нажать комбинацию клавиш Ctrl + V
  • нажать кнопку «Вставить» на панели инструментов или в меню Проводника выбрать «Правка» ⇒ «Вставить». В зависимости от версии операционной системы вид, расположение меню и наличие кнопок несколько различается.

Поздравляем, вы переместили ваш файл или папку в другое место. Тот же самый результат можно получить, если выделить объект и в меню Проводника выбрать «Правка» ⇒ «Переместить в папку» в открывшемся окне указать папку назначения и нажать «Переместить».

Используя перетаскивание.

Широко применяется в графических интерфейсах и буквально означает «тащи-и-бросай» или «drag-and-drop» по-английски. Чтобы его осуществить, надо открыть окно Проводника Windows с объектами для перетаскивания и рядом еще одно окно Проводника, куда вы хотите переместить данные. Удобнее всего, когда видны оба окна одновременно.

Щелкаете ЛКМ по файлу или папке, держа указатель мыши над выделенным объектом, нажимаете и удерживаете ЛКМ и перемещаете указатель мыши в соседнее окно Проводника, куда вы хотите перетащить объект. Когда перетаскиваемый объект будет над папкой назначения, отпускаете ЛКМ. Единственное, необходимо следить по значку перетаскиваемого объекта, что система собирается сделать, переместить или скопировать перетаскиваемый объект. Удержание при перетаскивании клавиши Shift указывает компьютеру, что необходимо переместить объект.

Операции копирования файлов и папок

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

Функциональные клавиши при перетаскивании.

Если вы будете осуществлять операцию перетаскивания с нажатой клавишей Alt , то будет создан ярлык на объект. Перетаскивая с помощью ПКМ вы сможете выбрать, что вы хотите сделать: копировать, переместить или создать ярлык.

Операция удаления папок и файлов

Операционная система Windows предоставляет несколько способов удалить ненужные больше данные. Можно выделить объект щелчком ЛКМ и нажать клавишу Delete (Del) и подтвердить действие, нажав в появившемся окне кнопку «Да» или клавишу Enter на клавиатуре.

Читайте также:  Конструктивные способы обеспечения надежности

Другой способ удаления задействует контекстное меню. Достаточно щелкнуть на объекте ПКМ и выбрать пункт «Удалить» и подтвердить свой намерения. Можно удалить данные через меню Проводника, достаточно выделить объект ЛКМ и в меню Проводника выбрать «Файл» ⇒ «Удалить» и сделать подтверждение.

Последний способ использует метод «drag-and-drop» для удаления файлов и папок. Щелкаете на объекте ЛКМ и удерживая ее тащите его на иконку «Корзины» расположенную на рабочем столе.

Следует помнить, что удаляя папку, вы удаляете все ее содержимое, включая под папки.

В результате удаления любым из перечисленных способов, при настройках системы по умолчанию, все удаленные данные оказываются в «Корзине». Это специальная выделенная область, на жестком диске компьютера, предназначенная для временного хранения удаленных данных перед их полным удалением из системы. Просмотреть ее содержимое можно открыв иконку «Корзина» на рабочем столе компьютера. Восстановить случайно удаленный файл или папку, можно найдя их в «Корзине», щелкнув по нему ПКМ и выбрав в контекстном меню «Восстановить». Настроить параметры работы «Корзины» можно щелкнув ПКМ по ее значку на рабочем столе и выбрав пункт «Свойства».

Так же недавние действия в Проводнике Windows можно отменить в меню «Правка» ⇒ «Отменить» или комбинация клавиш Ctrl + Z .

Если вы точно уверенны, что удаляемые объекты вам больше не нужны, можно удерживать клавишу Shift во время операции удаления, тогда объекты будут удалены окончательно и из корзины их восстановить не получится. Будьте осторожны с данным способом.

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

Групповые операции с файлами и папками

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

Выделение произвольной группы файлов и папок производится щелчком ЛКМ по нужным объектам с нажатой клавишей Ctrl . Выделенные объекты подсвечиваются цветом.

Для выделения расположенных подряд папок или файлов, сначала выделяется первый нужный объект щелчком ЛКМ и потом, удерживая клавишу Shift на клавиатуре, выделяется последний.

Выделить все в текущем каталоге можно в меню Проводника «Правка» ⇒ «Выделить все» или комбинация клавиш Ctrl + A .

Если необходимо выделить все кроме некоторых, то выделять все нужные с помощью Ctrl + C будет очень долго, гораздо быстрее пойти от противного, выделить ненужные объекты с помощью Ctrl + C и выбрать в меню пункт «Правка» ⇒ «Обратить выделение». Альтернативный вариант это выделить все объекты Ctrl + A и снять выделение, с ненужных объектов, щелкая по ним с нажатой клавишей Ctrl .

Еще один способ выделения с помощью перемещения мыши. Нужно нажать и удерживать ЛКМ на свободном месте и перемещать указатель. Появившаяся рамка показывает, какие объекты будут выделены, когда вы отпустите ЛКМ. Отредактировать получившееся выделение можно удерживая клавишу Ctrl .

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

Операция создания папок и файлов

Создать папку очень просто, достаточно открыть Проводник в нужном месте жесткого диска, щелкнуть на свободном месте ПКМ и выбрать в появившемся контекстном меню пункт «Создать» ⇒ «Папку», ввести ее имя и нажать Enter или кликнуть по свободному месту.

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

Щелкните ПКМ на свободном месте в Проводнике и выберите в контекстном меню «Создать» и нужный тип файла, например «Текстовый документ», введите на клавиатуре его имя и нажмите клавишу Enter . Будет создан пустой файл, если его открыть, то запуститься программа для работы с этим типов файлов.

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

Все то же самое можно сделать, используя меню Проводника, достаточно находясь в нужной директории и не имея выделенных объектов зайти в меню «Файл» ⇒ «Создать» и выбрать нужный тип документа, например папку или архив.

Мы рассмотрели основные операции с файлами и папками в Windows и их выполнение не должно для вас представлять трудностей, главное быть внимательным. Однако рекомендуем создать тестовую папку и потренироваться так сказать «на кошках».

Источник

Оцените статью
Разные способы