Board.KolibriOS.org

Official KolibriOS board
It is currently Sun Oct 24, 2021 3:10 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 53 posts ]  Go to page Previous 1 2 3 4
Author Message
 Post subject: Re: Консоль
PostPosted: Mon Jan 21, 2008 7:34 pm 
Offline

Joined: Wed Feb 21, 2007 3:03 pm
Posts: 188
Serge
Советую почитать про VFS в линуксе. Будет похоже. Я конечно не собираюсь слизывать один в один, т.к. там есть такие "фичи" которые либо сложны в реализации, либо ядро не потянет, либо просто не нужны (как на мой взгляд). Ну а в кратце, Linux VFS реализует POSIX стандарт (с небольшими отклонениями), так что здесь будет тоже: дескрипторы файлов(процесс открывает файл, получает его дескриптор, и работает уже с этим дескриптором), вся работа с VFS абстрактная (т.е. каждая ФС сама реализует свои read,write и т.п.), понятие блочное устройство (тоже абстрактное), понятие монтирования и т.д. Если что-то конкретно интересует спрашивай.

Igor
> Но привыкших к Windows пользователей она почему-то сильно напрягает.
По сути, в виндах, тоже корневая файловая система. Корнем выступает Рабочий стол, дальше Мой компьютер в котором лежат диски, панель управления, мои документы и т.п. Вот только в никсах она эффективней используется.
Вот только можно сделать некий гибрид (над которым я и думаю). Что-то вроде (не окончательный вариант):
/ - корневой раздел
/conf - папка с конфигами
/home - домашняя директория (в идеале там будет своя папка для каждого пользователя)
/disks - или /My Computer или /media или что-то вроде. Тут можно монтировать cd-rom'ы флешки отдельные диски и т.п.
/share - можно так сказать общий склад для всех пользователей
/tmp - временная папка
/rd - сюда будет монтироваться рамдиск (долго обьяснять зачем так)
/apps - папка для приложений (внутри будет представлять из себя bin,lib,data и т.д)

Вобщем много чего. Суть в чем, мы получаем гибкую систему, в которой тот же /apps тот же /share тот же /home могут быть на отдельных партициях/дисках, а так же в сети или на внешнем носителе. А значит при крахе одного из разделов, мы можем сохранить остальные. Ярким примером является папка /home в никсах. Если слетает система, а папка home осталась целой, то при переустановке системы все настройки (если умный софт писал настройки в домашнюю директорию) сохранятся. Также все эти каталоги могут лежать и на одном разделе.
В то же время мы имеем, папку на подобии виндового моего компьютера, в котором будут cd-rom'ы, флешки, внешние носители, или отдельные диски, если так желает пользователь. А о расположении домашней директории, темповой и остальных пользователю и не обязательно знать. Это только продвинутый пользователь знает что в c:\documents and settings\login валяются всякие application data, recent и прочая срань.

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

>На сколько я понимаю, BSD тоже пойдет
Да, у них суть одна. Но есть и отличия, но они не столь важны.


Top
   
 Post subject: Re: Консоль
PostPosted: Mon Jan 21, 2008 8:01 pm 
Offline

Joined: Sun Jan 20, 2008 4:07 pm
Posts: 4
Offtopic: Так... . Му тут сильно ушли от темы "Консоль". (Да простят нас модераторы). Поэтому создай пожалуйста отдельную тему. Лучше ты, чем я.


Top
   
 Post subject: Re: Консоль
PostPosted: Mon Jan 21, 2008 9:14 pm 
Offline

Joined: Thu Jan 17, 2008 2:37 pm
Posts: 47
Меня напрягает наличие отсутствия консоли, нежели наличие онной


>По сути, в виндах, тоже корневая файловая система. Корнем выступает Рабочий стол, дальше
>Мой компьютер в котором лежат диски, панель управления, мои документы и т.п. Вот только в никсах она эффективней используется.

И что правда стало так?? OMG. слава богу,что я Вендой не пользуюсь

_________________
Tinki-vinki, Dipsy, Dipsy, Lala, Lala, Po, Po!
Teletubbies, teletubbies. Oh, Hello!


Top
   
 Post subject: Re: Консоль
PostPosted: Mon Jan 21, 2008 11:26 pm 
Offline
User avatar

Joined: Mon Apr 16, 2007 6:38 pm
Posts: 1222
как программисту, мне тоже консоли (системной) очень не хватает. только мне, как ассемблерщику, больше нравится DOS'овский вариант работы с ней, через прерывание (таким образом вывод/вывод в консоль займет в программе всего 1-2 байта!)

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Top
   
 Post subject: Re: Консоль
PostPosted: Tue Jan 22, 2008 4:18 pm 
Offline

Joined: Thu Jan 17, 2008 2:37 pm
Posts: 47
Ну, извини, в Linux` е работа с консолью ведется через printf() + something в C и через потоки i/o cout и cin в C++

_________________
Tinki-vinki, Dipsy, Dipsy, Lala, Lala, Po, Po!
Teletubbies, teletubbies. Oh, Hello!


Top
   
 Post subject: Re: Консоль
PostPosted: Tue Jan 22, 2008 4:50 pm 
Offline

Joined: Wed Feb 21, 2007 3:03 pm
Posts: 188
shamaz.mazum, ты не прав.

Вот простой пример. Известно что printf в итоге вызывает write(1,str). write это ф-ция из libc, которая в свою очередь вызывает ф-цию ядра либо через int 0x80 или syscall.
В итоге получаем простой код (это не рабочий вариант, я использовал не те регистры и не те номера,важна суть):
mov eax,12 ; допустим это системный номер ф-ции write
mov ebx,1 ; stdout
mov ecx,str ; передаем адресс строки
int 0x80


Top
   
 Post subject: Re: Консоль
PostPosted: Tue Jan 22, 2008 5:29 pm 
Offline

Joined: Thu Jan 17, 2008 2:37 pm
Posts: 47
Я то про С. (или про плюсы + (два потока)
Там всё легче, так что я прав.

Да и вообще мы про удобство, а не про Linux

_________________
Tinki-vinki, Dipsy, Dipsy, Lala, Lala, Po, Po!
Teletubbies, teletubbies. Oh, Hello!


Top
   
 Post subject: Re: Консоль
PostPosted: Tue Jan 22, 2008 5:31 pm 
Offline

Joined: Thu Jan 17, 2008 2:37 pm
Posts: 47
Да и не важно 2 байта или 3 :)

_________________
Tinki-vinki, Dipsy, Dipsy, Lala, Lala, Po, Po!
Teletubbies, teletubbies. Oh, Hello!


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 53 posts ]  Go to page Previous 1 2 3 4

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited