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

Файловая система OS Android. Введение.

Тема в разделе "Android", создана пользователем ScriptMakeR, 12 ноя 2014.

  1. ScriptMakeR
    Оффлайн

    ScriptMakeR Активный пользователь

    Сообщения:
    1.307
    Симпатии:
    449
    Баллы:
    93
    Скажем так, проба пера.
    И так что же из себя представляют особенности файловой системы OS Android?
    Изначально, пользователь аппарата на OS Android видит привычные память аппарата и память карты памяти. Но, установив какой-нибудь из сторонних файловых менеджеров, да еще и с приобретением прав Root, пользователь может столкнуться с тем, что во, вроде бы, находящейся в памяти аппарата папке отоброжаются папки и файлы из карты памяти.
    Почму это проиодит?
    Очень рекомендую к прочтению Файловая система Ubuntu.
    Дело в том, что в файловой системе OS Android нет привычного разделения на диски, как в OS Windows. Тут все находится в одной корневой папке. Все Ваши флеши, карты и т.д. монтируются/прописываются в указанную папку.
    Если привести аналогию с OS Windows, то выклядит это примерно так. У Вас есть изначальный диск C выполняющий роль корневой папки. Все последующие подключаемые диски/флешки монтируются/отображаются в указанной папке, находящейся на диске C. Физически, у Вас получается несколько разных дисков, а в файловой системе у Вас только одна корневая папка, к которой в указанных местах подключены Ваши диски/флешки. Причем, монтироваться может как диск/флешка целиком, так и отдельная папка. Сразу скажу, что монтировать папку с немонтированного диска/флешки не получится, его (диска/флеши) просто еще нет в системе.
    В OS Android реализовано автоматическое монтирование/подключение дисков/флешек, при этом во встоенных (и большинстве сторонних) файловых менеджерах они отображаются (для удобства пользователя) как отдельные диски/флешки, но, фактически, в файловой систаме они монтируются/прописываются в одну из папок, находящихся в корневой папке.
    Теперь о самом монтировании.
    В монтировании есть два основных пункта. Это точка монтирования и объект монтирования. Точка монтирования - это указанная папка, в которую монтируется объект монтирования. Объект монтирования - это то, что монтируется в точку монтирования.
    Приведу пример, как бы это выглядело на OS Windows. На диске C у меня есть папки Program Files и Windows. В папке Windows я создаю папку Mount и в нее монтирую папку Program Files. Теперь, переходя в папку Windows/Mount/ мне отображается содержимое папки Program Files. При этом, содержимое папки Program Files мне доступно как из самой этой папки, так и из папки Windows/Mount/.
    Надеюсь, я достаточно понятно изъяснил свои мысли.
    Жду замечаний, комментариев и, конечно, критиков.
     
    Drongo, shestale, Kиpилл и ещё 1-му нравится это.
  2. glax24
    Онлайн

    glax24 Разработчик

    Сообщения:
    2.006
    Симпатии:
    1.465
    Баллы:
    428
    Данный пример больше похож на символьную ссылку, а не монтирование. Под монтирование я понимаю, подключение раздела или устройства.
    --- Объединённое сообщение, 12 ноя 2014 ---
    Сами читали?
     
    ScriptMakeR нравится это.
  3. ScriptMakeR
    Оффлайн

    ScriptMakeR Активный пользователь

    Сообщения:
    1.307
    Симпатии:
    449
    Баллы:
    93
    А в тут нет разделения на разделы/устройства/каталоги. Все они монтируются одинаково. Можно монтировать как физический диск, так и логический диск, так и каталог. В самой файловой системе нет разделения на диски. Есть только дерево каталогов.
    Да. Правда давно это было. Пытался изложить наиболее понятным, для неподготовленного пользователя, языком.
     
  4. glax24
    Онлайн

    glax24 Разработчик

    Сообщения:
    2.006
    Симпатии:
    1.465
    Баллы:
    428
    Попробуйте на ubunte смонтировать в /mnt какой нибудь существующий каталог и сообщите о результатах.
    А то что они просто отображаются каталогами это да.
     
    ScriptMakeR нравится это.
  5. ScriptMakeR
    Оффлайн

    ScriptMakeR Активный пользователь

    Сообщения:
    1.307
    Симпатии:
    449
    Баллы:
    93
    glax24,
    Я, конечно, извиняюсь, но я не собираюсь сейчас спорить о принципах монтирования в Linux. Тем более, что я в этом не достаточно подкован. Но, как я уже сказал:
    И как Вы уже сказали:
    Этого, на мой взгляд, достаточно, для того, чтобы иметь начальное представление об особенностях файловой системы OS Android.
    Я просто не знаю, как обычному пользователю по другому объяснить, что тут просто нет никаких дисков/флешек. Физически они есть, а в файловой системе их нет. Т.е. они есть, но не как отдельные диски, а как часть, уже существующей, файловой системы.
    Да, манера изъяснения совсем не точная. Но и указанную мной информацию я сам осознал не с первого прочтения. Поэтому и пытался отобразить все на пальцах.
    Прошу оценивать данный материал, как вводную информацию. Скажим так, предисловие/подготовительная группа.
    Не сочтите это за отказ от критики. Не отрицаю того, что я могу быть не прав. Просто, раз уж пошел разбор полетов, то хотелось бы узнать, что и как нужно изменить. Чтобы и суть сохранить, и в излишние подробности не удариться. Как-никак =введение=.
     
  6. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Сообщения:
    12.901
    Симпатии:
    5.310
    Баллы:
    783
    Ничего не могу сказать про linux и убунту,не пользовался.
    Но насчет остального - я лично понял,было интересно.
    По тексту - надо бы оформление красиво сделать и картинки залить.
     
  7. ScriptMakeR
    Оффлайн

    ScriptMakeR Активный пользователь

    Сообщения:
    1.307
    Симпатии:
    449
    Баллы:
    93
    Прав таких не имею :(
    А какими картинками данный текст можно оформить? Пару скринов с файлового менеджера, да профиль самого робота? Что-то не вяжутся у меня картинки с данным текстом.
     
  8. Theriollaria
    Оффлайн

    Theriollaria Активный пользователь

    Сообщения:
    638
    Симпатии:
    910
    Баллы:
    103
    Соглашусь с glax24. "Монтирование" -совсем не то слово, которое можно было бы употребить к файловой системе Android. Тем более, Вы ScriptMakeR, сами отметили, что монтирование - тоже штука достаточно широкая (физические, логические разделы можно монтировать). Потому просто замените слово "монтировать" другим применительно к Android и все будет хорошо.
     
    ScriptMakeR нравится это.
  9. ScriptMakeR
    Оффлайн

    ScriptMakeR Активный пользователь

    Сообщения:
    1.307
    Симпатии:
    449
    Баллы:
    93
    Theriollaria,
    Статью перерабатываю, вчера на сон грядущий делал. Замечания принимаю. Постараюсь учесть недочеты, но и оставить все простым языком.
     
  10. Theriollaria
    Оффлайн

    Theriollaria Активный пользователь

    Сообщения:
    638
    Симпатии:
    910
    Баллы:
    103
    Либо, если употребляете слово "примонтировать" то уточняйте, что что процесс отличается от классического для линуксоидов. Тогда тоже вопросов и докапываний не будет. Хотя это тоже странно т.к. Андроид, по сути, сам является надстройкой а не полноценной ОС.
     
  11. ScriptMakeR
    Оффлайн

    ScriptMakeR Активный пользователь

    Сообщения:
    1.307
    Симпатии:
    449
    Баллы:
    93
    Theriollaria,
    Хочу еще раз обратить внимание на то, что данный материал нацелен на людей не подкованных в тонкостях и терминах не то что Linux систем, но и любых других ОС в принципе. Я сам не претендую на звание гуру линукса, мне и до уверенного пользователя далеко. Просто, когда человек, не знакомый с некоторыми особенностями данной ФС, вдруг обнаруживает, что содержимое его флешки отображается не только в привычно выделенной флешке, а еще и в трех местах памяти аппарата, возникает вопрос. Как так-то?
     
  12. Theriollaria
    Оффлайн

    Theriollaria Активный пользователь

    Сообщения:
    638
    Симпатии:
    910
    Баллы:
    103
    Тогда, как вариант,:


    Если привести аналогию с OS Windows, то выглядит это примерно так. У Вас есть изначальный диск C выполняющий роль корневой папки. Все последующие подключаемые диски/флешки отображаются в указанной папке, находящейся на диске C. При этом, физически, у Вас есть память Android отдельно и отдельно подключаемые устройства.

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

    PS: У меня было 2 диска "С:\" и один я стер. Потому что зачем мне 2 одинаковых диска "С:\"?:Biggrin:
     
  13. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.896
    Симпатии:
    4.792
    Баллы:
    338
    Поддержу glax24 на счет символьных ссылок (точнее говоря, точек монтирования для каталога) и вставлю еще свои 5 копеек.
    Тавтология. Не понятно, что подразумевается. Может, что объекту монтирования еще не назначен идентификатор,
    т.к. устройство не было инициализировано или не подключено.
    Все сказанное - очень и очень относительное различие, тем более что:
    Дело в том, что в Windows можно организовать абсолютно такую же иерархию
    и даже работать с объектами монтирования напрямую, не подключая их к точке монтирования тома.
    Рекомендую для чтения: команда mountvol. Но полный шик начинается с возможности загрузки ОС с виртуального диска VHD,
    который можно создать средствами самой системы командами diskpart.
    К сожалению, про Linux добавить мне нечего, так как мало знаком.
     
    ScriptMakeR и Theriollaria нравится это.
  14. Сашка
    Оффлайн

    Сашка Ветеран

    Сообщения:
    4.670
    Симпатии:
    2.650
    Баллы:
    603
    Dragokas, ScriptMakeR и Theriollaria нравится это.
  15. -SEM-
    Оффлайн

    -SEM- Пользователь

    Сообщения:
    114
    Симпатии:
    99
    Баллы:
    38
    По первой формулировке тоже как-то запутано, мне показалось. Я понял о чем речь...

    А вот скажем, для меня, корневой каталог андроида(с точки зрения школьника) - это бельевая веревка с прищепками)). Можно привесить все что угодно, хоть модули, хоть диски. Причем можно подвесить одну папку как рукава у рубашки - один к веревке, а второй к другой прищепке, на которой уже что-то висит))
     
    Последнее редактирование: 13 ноя 2014
  16. Phoenix
    Оффлайн

    Phoenix Активный пользователь

    Сообщения:
    2.001
    Симпатии:
    1.980
    Баллы:
    283
    Команды эмулятора терминала Android
    один ньюанс
    faq
    PHP:
    Теперь нужно примонтировать Ваш Linux раздел (здесь это sda1) и еще несколько важных директорий:
    sudo mount /dev/sda1 /mnt
    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys  /mnt/sys
    --- Объединённое сообщение, 21 дек 2014, Дата первоначального сообщения: 21 дек 2014 ---
    :~$ mount --help

    Использование:
    mount [-lhV]
    mount -a [options]
    mount [options] [--source] <source> | [--target] <directory>
    mount [options] <source> <directory>
    mount <operation> <mountpoint> [<target>]

    Опции:
    -a, --all mount all filesystems mentioned in fstab
    -c, --no-canonicalize don't canonicalize paths
    -f, --fake dry run; skip the mount(2) syscall
    -F, --fork fork off for each device (use with -a)
    -T, --fstab <path> alternative file to /etc/fstab
    -h, --help display this help text and exit
    -i, --internal-only don't call the mount.<type> helpers
    -l, --show-labels lists all mounts with LABELs
    -n, --no-mtab don't write to /etc/mtab
    -o, --options <list> comma-separated list of mount options
    -O, --test-opts <list> limit the set of filesystems (use with -a)
    -r, --read-only mount the filesystem read-only (same as -o ro)
    -t, --types <list> limit the set of filesystem types
    --source <src> explicitly specifies source (path, label, uuid)
    --target <target> explicitly specifies mountpoint
    -v, --verbose say what is being done
    -V, --version display version information and exit
    -w, --rw, --read-write mount the filesystem read-write (default)

    -h, --help display this help and exit
    -V, --version output version information and exit

    Source:
    -L, --label <label> synonym for LABEL=<label>
    -U, --uuid <uuid> synonym for UUID=<uuid>
    LABEL=<label> specifies device by filesystem label
    UUID=<uuid> specifies device by filesystem UUID
    PARTLABEL=<label> specifies device by partition label
    PARTUUID=<uuid> specifies device by partition UUID
    <device> specifies device by path
    <directory> mountpoint for bind mounts (see --bind/rbind)
    <file> regular file for loopdev setup

    Operations:
    -B, --bind mount a subtree somewhere else (same as -o bind)
    -M, --move move a subtree to some other place
    -R, --rbind mount a subtree and all submounts somewhere else
    --make-shared mark a subtree as shared
    --make-slave mark a subtree as slave
    --make-private mark a subtree as private
    --make-unbindable mark a subtree as unbindable
    --make-rshared recursively mark a whole subtree as shared
    --make-rslave recursively mark a whole subtree as slave
    --make-rprivate recursively mark a whole subtree as private
    --make-runbindable recursively mark a whole subtree as unbindable

    For more details see mount(8)
    :~$ umount --help

    Использование:
    umount [-hV]
    umount -a [options]
    umount [options] <source> | <directory>

    Опции:
    -a, --all unmount all filesystems
    -A, --all-targets unmount all mountpoints for the given device in the
    current namespace
    -c, --no-canonicalize don't canonicalize paths
    -d, --detach-loop if mounted loop device, also free this loop device
    --fake dry run; skip the umount(2) syscall
    -f, --force force unmount (in case of an unreachable NFS system)
    -i, --internal-only don't call the umount.<type> helpers
    -n, --no-mtab don't write to /etc/mtab
    -l, --lazy detach the filesystem now, clean up things later
    -O, --test-opts <list> limit the set of filesystems (use with -a)
    -R, --recursive recursively unmount a target with all its children
    -r, --read-only in case unmounting fails, try to remount read-only
    -t, --types <list> limit the set of filesystem types
    -v, --verbose say what is being done

    -h, --help display this help and exit
    -V, --version output version information and exit

    For more details see umount(8).
     
    orderman, ScriptMakeR, Theriollaria и ещё 1-му нравится это.
  17. ScriptMakeR
    Оффлайн

    ScriptMakeR Активный пользователь

    Сообщения:
    1.307
    Симпатии:
    449
    Баллы:
    93
    Что ж. Мысли в слух.
    На досуге обратился к гуглу, для разъяснения вопроса. Информации много, но, как на зло, вся она раскидана по разным местам, да еще и на буржуйском языке.
    Если хватит мозгов, то соберу все это в одну кучку и постараюсь изложить простым и понятным языком.
    В самой файловой системе присутствует множество точек монтирования и симлинков. Плюс, еще не совсем мной осознанная файловая система в пользовательском пространстве (FUSE). Хотелось бы собрать наиболее полную информацию по сабжу, но не перегруженную тех. терминами и понятную простому обывателю.
     
    Dragokas и Phoenix нравится это.
  18. Phoenix
    Оффлайн

    Phoenix Активный пользователь

    Сообщения:
    2.001
    Симпатии:
    1.980
    Баллы:
    283
    В моём примере загрузочные файлы монтируются в /mnt , производится настройка, потом отмонтируется обратно в /
    p.s. imho То есть это делается для разблокировки работающих файлов и устройств, так как иначе они будут не доступны на изменение.

     
    Последнее редактирование: 22 дек 2014
  19. ScriptMakeR
    Оффлайн

    ScriptMakeR Активный пользователь

    Сообщения:
    1.307
    Симпатии:
    449
    Баллы:
    93
    Phoenix,
    Дело в том, что в Вашем примере идет речь про восстановление загрузчика Linux. К Android данная информация относится весьма относительно. Извиняюсь за тавтологию :)
    Там все ох как интересно. Но, постепенно, в голове складывается более менее осознанная картинка. Мешает то, что его версий ужасно много. И так же, ну или почти так же, много вариаций монтирования основных разделов. Есть между ними много общего, но некоторые особенности могут кардинально отличаться. Каждый производитель изгаляется как хочет.
     
    Phoenix нравится это.

Поделиться этой страницей

Поисковый запрос:

  1. файловая система андроид