Format - утилита для форматирования.
Текущее состояние: разработка ui.
На этой неделе планирую добавить kmenu и все их настроить, по возможности прикрутить диалог ("все файлы будут уничтожены").
Учёл предыдущие ошибки с размером текста, сразу выбрал признанный всеми вариант.
Сейчас же предлагаю обсудить возможность возврата подфункций ф.58 или создания пары новых системных функций. Напомню, что сейчас в ядре есть функция для включения low-level доступа, но самого этого доступа видимо нет.
С 0CodErr обсуждали давнюю тему. Моё мнение:
Если не возвращать такую возможность, а напомню Nasarus в самом начале выпиливания приложил максимум дипломатии... Выпилили не до конца, теперь возможностей нет, добавлять - признать ошибки... Создать что-то новое и умное, ужасно сложно и смысла на данный момент нет.
Моё предложение людям в прошлом: Зашиваем форматирование прямо в ядро, прямо как приложение. Когда какая-то программа захочет форматнуть диск, она делает сис.call и ядро запускает свою программулину, которую эта утилита не в силах контролить. Пользователь с ней работает, делает свои дела.
Конечно тогда можно сказать, что есть функции управления окнами, клавой и мышкой и можно эмулировать ввод пользователя и всё-равно форматнуть диск = дыра. Тогда я не представляю, как они пропустили функцию удаления и перезаписи файла в ядро. Всё это дыры, которые могут испортить данные. У нас в Колибри нет защиты от этого. У нас есть только одна попытка, очень быстрая и очень острая катана, которой мы ловко орудуем как скальпелем.
Сейчас нам либо вернуть всё, можно использовать включение низкоуровневого доступа, которое осталось, либо мы не сможем ничего сделать с задачей форматирования. И без этого есть проблема:
Если мы сделаем системные функции форматирования диска, то понятное дело это подвесит всё ядро на время форматирования. Совсем не годится. Можно предоставлять из ядра чтение/запись блоков байт с диска, но опять же, что мы можем сделать, если скорость доступа к диску низкая... Разрешать работать с блоками до 256 байт? Если блоки будут больше, то копирование опять же сможет подвесить ядро. Возможно нам нужен буфер и ассинхронщина...
Format
-
- Attachments
-
-
ui.PNG (10.88 KiB)Viewed 22389 times
-
Ты можешь и не знать старый анекдот
Сын Била Гейтса у отца спрашивает: "Пап, а правда, что Windiws многозадачная система? "
- ну да сынок
- а покажи!
- подожди сынок, дискету доформатирую и покажу.
Сын Била Гейтса у отца спрашивает: "Пап, а правда, что Windiws многозадачная система? "
- ну да сынок
- а покажи!
- подожди сынок, дискету доформатирую и покажу.
Этот знаю, всем рассказывал много лет назад, теперь давай по теме, побольше и посерьёзнееSiemargl wrote:Ты можешь и не знать старый анекдот
Сын Била Гейтса у отца спрашивает: "Пап, а правда, что Windiws многозадачная система? "
- ну да сынок
- а покажи!
- подожди сынок, дискету доформатирую и покажу.
"Обзор" можно смело заменить на "..." - всем понятно и меньше заморочек.
Чекбоксы лучше тоже с большим шрифтом.
Мне понравился дизайн где есть всплывающее окно с предупреждением у которого по периметру идет красный ободок на небольшом расстоянии от края вроде этого http://prntscr.com/l6slgk (сейчас не могу сделать более дельный концепт, если надо чуть позже)
По самой теме мало что могу сказать, т.к. раньше не приходилось сталкиваться.
Вариант не делать вообще худший из всех, надеюсь к этому не придем.
Как в других системах реализовано? Linux, Mac, Win?
Чекбоксы лучше тоже с большим шрифтом.
Мне понравился дизайн где есть всплывающее окно с предупреждением у которого по периметру идет красный ободок на небольшом расстоянии от края вроде этого http://prntscr.com/l6slgk (сейчас не могу сделать более дельный концепт, если надо чуть позже)
По самой теме мало что могу сказать, т.к. раньше не приходилось сталкиваться.
Вариант не делать вообще худший из всех, надеюсь к этому не придем.
Как в других системах реализовано? Linux, Mac, Win?
Из хаоса в космос
Для ознакомления по теме
http://board.kolibrios.org/viewtopic.ph ... %BB#p58972
http://board.kolibrios.org/viewtopic.ph ... %BB#p58972
to infinity and beyond
Продублирую своё предложение
Необязательно в точности так http://board.kolibrios.org/viewtopic.ph ... 119#p71118
Насчёт дизайна: может всё же стоит сгруппировать элементы?Добавить пункт на синем экране при загрузке системы, разрешающий всякие низкоуровневые вещи, по умолчанию он должен быть выключен.
Системную функцию для включения доступа при этом также лучше оставить.
Просто при выключенном пункте на синем экране эта функция ничего не будет делать.
Необязательно в точности так http://board.kolibrios.org/viewtopic.ph ... 119#p71118
> viewtopic.php?f=4&t=3739&p=71119#p71118
Группировка хорошо.
> Добавить пункт на синем экране при загрузке системы, разрешающий всякие низкоуровневые вещи, по умолчанию он должен быть выключен.
Думаю окна с предупреждением для пользователя, как в других ОС достасточно.
Одна из утилит даже просила пользователя явно текстом ввести "YES" в поле для подтверждения форматирования. Утилита не была консольной, просто editbox возле кнопки.
Кстати, DrvInstall тоже предупреждает пользователя http://prntscr.com/l70zej
Группировка хорошо.
> Добавить пункт на синем экране при загрузке системы, разрешающий всякие низкоуровневые вещи, по умолчанию он должен быть выключен.
Думаю окна с предупреждением для пользователя, как в других ОС достасточно.
Одна из утилит даже просила пользователя явно текстом ввести "YES" в поле для подтверждения форматирования. Утилита не была консольной, просто editbox возле кнопки.
Кстати, DrvInstall тоже предупреждает пользователя http://prntscr.com/l70zej
Из хаоса в космос
Так как система безопасности в ОС рудиментарная, и ничего в этой области видимо в ближайшее время не изменится - почему бы и не добавить полезную фичу? Только нужны и fdisk, и mkfs, по-хорошему, как отдельные утилиты.
Во программисты пошли... начинают с дизайна, не имея ни программы ни средств для её реализации.
У нас есть драйвер tmpdisk.sys, который умеет форматировать виртуальный диск в FAT16/32. По логике, начинать нужно с него.
У нас есть драйвер tmpdisk.sys, который умеет форматировать виртуальный диск в FAT16/32. По логике, начинать нужно с него.
У меня с Eolite также было и ничего вон уже версия 4.0Pathoswithin wrote:Во программисты пошли... начинают с дизайна, не имея ни программы ни средств для её реализации.
Из хаоса в космос
rev.7476
Продолжаю доработку UI. Добавил группировку, набросал перевод поля "Размер кластера" на выпадающий список.
Теперь окно выглядит так:
Продолжаю доработку UI. Добавил группировку, набросал перевод поля "Размер кластера" на выпадающий список.
Теперь окно выглядит так:
- Attachments
-
-
ui.PNG (10.77 KiB)Viewed 22232 times
-
Я думаю в случае успешной реализации программы было не плохо добавить значок в Eolite форматировать диск (в списке дисковых устройств), при нажатии на значок открывалась бы эта прога.theonlymirage wrote:rev.7476
Продолжаю доработку UI. Добавил группировку, набросал перевод поля "Размер кластера" на выпадающий список.
Теперь окно выглядит так:
Технологии меняют мир, а я - меняю технологии.
Я бы сначала за бэк-энд взялся, а не интерфейс...
Как оно, кстати?
Как оно, кстати?
Просуммируем информацию по разработке фичи форматирования
Может быть кто-то хочет заняться?
Данная фича будет очень полезна и в моём списке она кандидат на оплаченную разработку.
Code: Select all
Нам нужно 4 новых сискола: disk_open, disk_read, disk_write, disk_close
Которые уже сделаны в ядре, нужно только организовать доступ к ним из пространства пользователя.
Само форматирование подразумевает две части:
- разбивка диска на разделы (fdisk)
- создание файловой системы на разделах (mkfs)
Здесь возможные варианты:
- Порт сишных библиотек для работы с fat, ext и тд.
- Портировать такие утилиты как syslinux, dd, mkfs.
- У нас есть драйвер tmpdisk.sys, который умеет форматировать виртуальный диск в FAT16/32. Развивать его.
Данная фича будет очень полезна и в моём списке она кандидат на оплаченную разработку.
Из хаоса в космос
Комментарий от dunkaist:
Не уверен, что нужны отдельные сисколы для открытия и чтения/записи дисков. Надо сразу делать универсальные open/read/write/close, тем более, что Serge уже какие-то заготовки коммитил: http://websvn.kolibrios.org/filedetails ... nc#line-76
Если делать open/read/write/close, то нет смысла их дублировать для дисков. Да, можно отдельно для дисков сделать disk_* функции. Но потом всё равно переделывать. Фактически, это задача сделать файловые дескрипторы, плюс логика форматирования.
Из хаоса в космос
Who is online
Users browsing this forum: No registered users and 4 guests