Популярные услуги

Все письменные КМ под ключ за 3 суток! (КМ-6 + КМ-7 + КМ-8 + КМ-9 + КМ-10)
КМ-6. Динамические массивы. Семинар - выполню любой вариант!
КМ-2. Разработка простейших консольных программ с использованием ООП + КМ-4. Более сложные элементы ООП - под ключ!
Любая задача на C/C++
Одно любое задание в mYsql
Сделаю ваше задание: Лабораторная работа на Pascal / Lazarus
Любой тест по базам данных максимально быстро на хорошую оценку - или верну деньги!
Любой реферат по объектно-ориентированному программированию (ООП)
Повышение уникальности твоей работе
Оба семинара по программированию под ключ! КМ-2. Разработка циклических алгоритмов + КМ-3. Функции и многофайловые программы в Си

Файлы и файловая система

2021-03-09СтудИзба

6.4. Файлы и файловая система

Файлы и файловая система


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

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

Для того чтобы избавить пользователя компьютера от сложностей взаимодействия с аппаратурой, была применена абстрактная (логическая) модель файловой системы, в которой операции записи или чтения файла концептуально проще, чем низкоуровневые операции работы с устройствами. Логическая модель файловой системы «материализуется» в виде дерева каталогов, выводимого на экран такими утилитами, как Norton Commander или Windows Explorer, в символьных составных именах файлов, в командах работы с файлами. Базовым элементом этой модели является файл, который так же, как и файловая система в целом, может характеризоваться как логической, так и физической структурой.


http://lcg.tpu.ru/web-ct/ru/img/shim.gif
6.4.1. Цели и задачи файловой системы

Цели и задачи файловой системы


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

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

Рекомендуемые материалы

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

Файловая система, являющаяся неотъемлемой частью любой современной ОС, включает:

· совокупность всех файлов на диске;

· наборы структур данных, используемых для управления файлами (каталоги файлов, дескрипторы файлов, таблицы распределения свободного и занятого пространства на диске);

· комплекс системных программных средств, реализующих различные операции над файлами (создание, уничтожение, чтение, запись, именование и поиск файлов).

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

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

Задачи, решаемые файловой системой, зависят от способа организации вычислительного процесса в целом. Самый простой тип файловой системы реализуется в однопользовательских и однопрограммных ОС (например, MS-DOS). Основные функции в такой файловой системе сведены к следующему перечню:

· именование файлов;

· программный интерфейс для приложений;

· отображение логической модели файловой системы на физическую организацию хранилища данных;

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

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

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

· идентификация файлов – связывание имени файла с выделенным ему пространством внешней памяти;

· распределение внешней памяти между файлами – для работы с конкретным файлом не требуется иметь информацию о местоположении этого файла на внешнем носителе информации (сторона магнитного диска, цилиндр, сектор);

· обеспечение надежности и отказоустойчивости;

· обеспечение защиты от несанкционированного доступа;

· обеспечение совместного доступа к файлам (пользователь не должен прилагать специальных усилий по обеспечению синхронизации доступа);

· обеспечение высокой производительности.


http://lcg.tpu.ru/web-ct/ru/img/shim.gif
6.4.2. Типы файлов

Типы файлов


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

· обычные файлы;

· файлы-каталоги;

· специальные файлы;

· отображаемые в память файлы;

· именованные конвейеры;

· другие.

Рассмотрим каждый из этих типов файлов.

Обычные файлы, или просто файлы, содержат информацию произвольного характера, которую заносит в них пользователь или которая образуется в результате работы системных и пользовательских программ. Большинство современных ОС (например, Unix или MS Windows) никак не ограничивает и не контролирует содержимое и структуру обычного файла. Содержание обычного файла определяется приложением, которое с ним работает. Обычные файлы бывают двух типов – текстовые и двоичные. Обычно прикладные программы, работающие с файлами, распознают тип файла по его имени в соответствии с общепринятыми соглашениями. Например, файлы с расширениями .c, .pas, .txt – ASCII-файлы, файлы с расширениями .exe – исполняемые, файлы с расширениями .obj, .zip – бинарные и т.д. Все ОС должны уметь распознавать хотя бы один тип файлов – собственные исполняемые файлы.

Для пользователей файл обозначается с помощью идентификаторов – внешних имен (могут быть и внутренние имена файлов). Пользователи дают файлам символьные имена, при этом учитываются ограничения ОС как на используемые символы, так и на длину имени. До недавнего времени эти границы были весьма узкими. Так, в популярной файловой системе FAT длина имен ограничивается известной схемой 8.3 (8 символов – собственно имя, 3 символа – расширение имени), а в ОС Unix System V имя не может содержать более 14 символов. Однако пользователю гораздо удобнее работать с длинными именами, поскольку они позволяют дать файлу действительно мнемоническое название, по которому даже через достаточно большой промежуток времени можно будет вспомнить, что содержит этот файл. Поэтому современные файловые системы, как правило, поддерживают длинные символьные имена файлов. Например, файловая система NTFS, появившаяся в Windows NT, устанавливает, что имя файла может содержать до 255 символов, не считая завершающего нулевого символа.

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

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

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

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

Отображаемые в память файлы (англ. memory-mapped files) – это мощная возможность ОС, позволяющая приложениям осуществлять доступ к файлам на диске тем же самым способом, каким осуществляется доступ к динамической памяти, то есть через указатели. Смысл отображения файла в память заключается в том, что содержимое файла (или часть содержимого) отображается в некоторый диапазон виртуального адресного пространства процесса, после чего обращение по какому-либо адресу из этого диапазона означает обращение к файлу на диске. Естественно, не каждое обращение к отображенному в память файлу вызывает операцию чтения/записи. Менеджер виртуальной памяти кэширует обращения к диску и тем самым обеспечивает высокую эффективность работы с отображенными файлами.

Именованные конвейеры (именованные каналы) – одно из средств межпроцессного взаимодействия, детали которого рассмотрены в п. 3.3.6.


http://lcg.tpu.ru/web-ct/ru/img/shim.gif
6.4.3. Атрибуты файла

Атрибуты файла


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

· • информация о разрешенном доступе;

· • пароль для доступа к файлу;

· • владелец файла;

· • создатель файла;

· признак «только для чтения»;

· признак «скрытый файл»;

· признак «системный файл»;

· признак «архивный файл»;

· признак «двоичный/символьный»;

· признак «временный» (удалить после завершения процесса);

· признак блокировки;

· длина записи;

· указатель на ключевое поле в записи;

· длина ключа;

· время создания, последнего доступа и последнего изменения;

· текущий размер файла;

· максимальный размер файла.


http://lcg.tpu.ru/web-ct/ru/img/shim.gif
6.4.4. Доступ к файлам

Доступ к файлам


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

Существует несколько способов логической организации памяти:

· последовательный;

· индексно-последовательный;

· индексный;

· прямой;

· библиотечный.

Рассмотрим каждый из этих способов подробнее.

При последовательном способе организации памяти записи располагаются в физическом порядке и обеспечивают доступ в физической последовательности. Таким образом, для обработки записи с номером N + 1 необходимо последовательно обратиться к записям с номером 1, 2, …, N. Это универсальный способ организации файла периферийного устройства, входного/выходного потока.

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

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

Прямой способ организации характеризуется тем, что в соответствии с ним осуществляется прямой доступ по порядковому номеру записи или по физическому адресу.

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

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

У каждого объекта доступа существует владелец. Владельцем может быть как отдельный пользователь, так и группа пользователей. Владелец объекта имеет право выполнять с ним любые допустимые для данного объекта операции. Во многих ОС существует особый пользователь (superuser, root или administrator), который имеет все права по отношению к любым объектам системы, не обязательно являясь их владельцем. Под таким именем работает администратор системы, которому необходим полный доступ ко всем файлам и устройствам для управления политикой доступа.

Различают два основных подхода к определению прав доступа:

1. Избирательный доступ (англ. discretionary – предоставленный на собственное усмотрение). Для каждого объекта сам владелец может определить допустимые операции с объектами. Между пользователями и группами пользователей в системах с избирательным доступом нет жестких иерархических взаимоотношений, то есть взаимоотношений, которые определены по умолчанию и которые нельзя изменить. Исключение делается только для администратора, по умолчанию наделяемого всеми правами.

2. Мандатный доступ (англ. mandatory – обязательный, принудительный). Система наделяет пользователя определенными правами по отношению к каждому разделяемому ресурсу (файлу) в зависимости от того, к какой группе пользователь отнесен. От имени системы выступает администратор, а владельцы объектов лишены возможности управлять доступом к ним по своему усмотрению. Все группы пользователей в такой системе образуют строгую иерархию, причем каждая группа пользуется всеми правами группы более низкого уровня иерархии, к которым добавляются права данного уровня. Членам какой-либо группы не разрешается предоставлять свои права членам групп более низких уровней иерархии.

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

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


http://lcg.tpu.ru/web-ct/ru/img/shim.gif
6.4.5. Операции над файлами

Операции над файлами


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

· Создание файла, не содержащего данных. Смысл данного вызова – объявить, что файл существует, и присвоить ему ряд атрибутов. При этом выделяется место для файла на диске и вносится запись в каталог.

· Удаление файла и освобождение занимаемого им дискового пространства.

· Открытие файла. Перед использованием файла процесс должен его открыть. Цель данного системного вызова – разрешить системе проанализировать атрибуты файла и проверить права доступа к нему, а также считать в ОП список адресов блоков файла для быстрого доступа к его данным.

· Закрытие файла. Если работа с файлом завершена, его атрибуты и адреса блоков на диске больше не нужны. В этом случае файл нужно закрыть, чтобы освободить место во внутренних таблицах файловой системы.

· Позиционирование. Возможность специфицировать текущую позицию в файле для считывания/записи данных.

· Чтение данных из файла. Обычно с текущей позиции. Пользователь должен задать объем считываемых данных и предоставить для них буфер в ОП.

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

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

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

Любой запрос на выполнение операции сверяется с таким списком. У такой техники есть два нежелательных следствия:

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

· запись в директории должна иметь переменный размер (включать список потенциальных пользователей).

Для решения этих проблем создают классификации пользователей, например, в ОС Unix все пользователи разделены на три группы:

· владелец (англ. owner);

· группа (англ. group – набор пользователей, разделяющих файл и нуждающихся в типовом способе доступа к нему);

· остальные (англ. univers).

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


http://lcg.tpu.ru/web-ct/ru/img/shim.gif
6.4.6. Иерархическая структура каталогов

Иерархическая структура каталогов


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

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

Каталоги образуют дерево, если файлу разрешено входить только в один каталог, и сеть – если файл может входить сразу в несколько каталогов. В ОС MS-DOS каталоги образуют древовидную структуру, а в ОС Unix – сетевую. Как и любой другой файл, каталог имеет символьное имя и однозначно идентифицируется составным именем, содержащим цепочку символьных имен всех каталогов, через которые проходит путь от корня до данного каталога. Каждый каталог группирует по определенным принципам файлы пользователей, которые могут быть защищены паролем. Для упрощения работы имеется понятие текущего каталога, определяющего список доступных файлов и подкаталогов и позволяющего обращаться к файлам по собственным именам.

http://lcg.tpu.ru/OPSYS_0961/img/5_4_6.gif

Рисунок 44 – Пример организации каталогов: а) простой одноуровневый каталог; б) иерархический многоуровневый каталог


http://lcg.tpu.ru/web-ct/ru/img/shim.gif
6.4.7. Операции над директориями

Операции над директориями


Как и в случае с файлами, система обязана обеспечить пользователя набором операций, необходимых для работы с директориями, реализованных через системные вызовы. Несмотря на то, что директории – это файлы, логика работы с ними несколько отличается от логики работы с обычными файлами и определяется природой этих объектов, предназначенных для поддержки структуры файлового архива. Рассмотрим в качестве примера некоторые системные вызовы, необходимые для работы с каталогами:

· создание директории – вновь созданная директория включает записи с именами «.» и «..», однако считается пустой.

· удаление директории;

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

· закрытие директории после ее чтения для освобождения места во внутренних системных таблицах;

Ещё посмотрите лекцию "Тема 5. Средний мозг" по этой теме.

· поиск – данный системный вызов возвращает содержимое текущей записи в открытой директории;

· получение списка файлов в каталоге;

· переименование – имена директорий можно менять, как и имена файлов;

· создание файла – при создании нового файла необходимо добавить в каталог соответствующий элемент;

· удаление файла – удаление из каталога соответствующего элемента.



Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5137
Авторов
на СтудИзбе
440
Средний доход
с одного платного файла
Обучение Подробнее