offtopic: за desktop платформите

27 отговора 861 прегледа
#1

offtopic: за desktop платформите

Темата не е директно свързана с Linux, за това съм я маркирал като offtopic. Нещо подобно писах в темата за LiveCD-та, който иска, може да погледне (но тук е версия 2.0 )

Мисля, че подходът в компютърната архитектура на съвременните desktop платформи не е добър.

Имам предвид следното: в днешния масов настолен (работен?) компютър имаме разнообразен хардуер, обикновено включващ твърд диск, инсталирани една или повече операционни системи, софтуер за тях и лични данни и настройки на потребителите.

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

Имайки предвид, че (поне) масовият компютърен хардуер се създава за работа в що-годе една и съща среда (PC или MAC, в общият случай), не е особено трудно да се дефинира дърво, скелета (възлите) на което съдържа класовете устройства, а в листата пише информация за инсталираните конкретни компоненти.

Разполагайки с такова дърво, всеки хардуер при началното си инициализиране би могъл да се регистрира в това дърво, след което да заяви исканите от него хардуерни ресурси (IRQ, портове, DMA ...) и да ги получи. Доколкото си спомням, в PCI архитектурата има нещо подобно (да не кажа същото; за съжаление съм я чел доста отдавна), но не всеки хардуер в/свързан с компютъра е PCI и не спазва подобни правила.

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

Обикновено администраторът на платформата инсталира OS (която в днешни дни сама разпознава хардуера и го конфигурира), след което инсталира последователно необходимият софтуер и го конфигурира. След това създава потребители, дефинира място за данните им и машината е готова за работа. Периодично админът обновява съществуващата система с цел изчистване на бъгове или добавяне на нова функционалност.

От гледна точка на потребителят на тази desktop система, тя е една и съща независимо от хардуера, стоящ отдолу. Веднъж настроена по неговия вкус, всеки би искал да има тази система навсякъде, където работи - в офиса, вкъщи, в командировка, при приятели ... в компютърния клуб дори.

Разбира се, освен самата платформа като софтуер и настройките му, човек би искал да разполага винаги с данните си.

За съжаление - да се върна (или може би пристъпя) към началното си твърдение - в съвременните компютърни системи всичко се намира на локалния твърд диск. Разбира се, админите съзнават това много добре, както и програмирстите и са измислени множество решения (поне при Linux ) - примерно софтуерът се инсталира на мрежов сървър като само настройките се намират локално, данните на потребителят стоят в мрежово устройство и т.н.

Аз обаче искам повече - искам моята платформа да е винаги с мен, както и данните ми. В нея винаги ще има целият ми необходим софтуер, конфигуриран както аз го искам, с всички update-и и най-нови версии. Разбира се, може да имам няколко софтуерни платформи, всяка решаваща определени проблеми (примерно комплект за development, комплект за игри, комплект за предпечат - това ако не ми стига мястото или използвам различни OS за всяко нещо), затова бих искал данните ми да са отделно, евентуално също на няколко парчета - с цел подредба, решаване на проблеми с размера или просто за сигурност.

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

Имайки предвид, че от устройството със софтуера предимно ще се чете и рядко ще се пише, изискването към него е почти като към записваеми CD/DVD, но бих искал да има по-бърз произволен достъп и да е по-тихо. Устройството за данните ми от своя страна трябва да позволява бързо четене и писане, така че прилича на Flash-памет; мисля, че 1 GB ще ми свърши добра работа.

Да не забравя да спомена архивирането - бих искал всичко, което създавам или по което някога съм работил, да се съхранява вечно, като архивирането става прозрачно за мен. Архивирането може да се прави мрежово (Интернет) или когато съм физически на мястото, в което е монтирано архивиращото устройство. | спомена за venti, което е много добра платформа за целта.

Има още доста да се говори по идеята - примерно, твърдият диск спокойно може да се използва за временни неща или обработка на големи обеми данни или просто за място, вкъщи, където си държим музиката и филмите. Във всеки случай, ключовото е, че не е нужно ОС и софтуера да стоят именно на твърд диск, просто защото бихме искали те винаги да са с нас.

Горе-долу това е. Ще се радвам да чуя мненията ви

Понякога седя и си мисля, а понякога само си седя ...
Отговор
в отговор на Masklin #2

Re: offtopic: за desktop платформите

Това с "гигабайтовата флаш карта" е яко. Пъхаш вътре: уиндоус, пъхаш втори път: линукс... И хардът да е само архив. Може да се продават такива готови "флашчета" с инсталирани ОС и софтуер и само да почовъркаш малко по тях да си ги настроиш да си стане супер... В смисъл трябва ти ОС и софтуер, отиваш и си купуваш, все едно си купуваш компакт диск...

... Just wipe your own ass and shut your mouth! ...
Отговор
в отговор на Masklin #3

Re: offtopic: за desktop платформите

Ок. Мноо си умен. Що ми изтри топика?

--
Sometimes the sole purpose of your life is to serve as a warning to others.
Отговор
в отговор на Гypy #4

Хм.

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

Всъщност, и сегашният ти постинг не си е на мястото, като си помислиш. Какво общо има с темата? Името на автора? Ами той приема бележки, провери.

Както и да е де, ако смяташ да обсъждаш нещо свързано с Linux, пиши. Ако искаш и на същата тема, само ако обичаш, бъди малко по-учтив.

Понякога седя и си мисля, а понякога само си седя ...
Отговор
в отговор на Masklin #5

Re: offtopic: за desktop платформите

горе долу това е идеята на Knoppix-а - ОС, а home и настроки на removable media.
Slax-a има версии - game, develop, office, admin даже kill-bill.
Иначе настройките в BIOS-а е точно опит за база данни за хардуера, но непълен и никоя ОС вече не му вярва и се бори сама.
Бил Гейтс също по едно време мислеше софтуера да е на централен сървър и да си плащаш ползването. Така си пазят кода, всички работят с еднаква версия-последната и си кихаме.

Отговор
в отговор на kostadinz #6

BIOS и Били

Ако говориш за CMOS - базата там е прекалено повърхностна, пък и е създадена за нуждите на BIOS за начално инициализиране и зареждане, не за нуждите на OS.

Самите настройки в BIOS са основно за да настроиш нещата по дъното - chipset предимно; ако има видео-карта - и нея. Наистина, можеш да влияеш на параметрите на PCI устройствата, но ако имаш такива на други шини - не можеш. Въпреки това, да - поне автоматичната настройка на голяма част от хардуера ти е гарантирана.

Идеята на другаря Гейтс е неосъществима и ще остане такава още дълго време просто, защото Мрежата не е чак толкова бърза. Пък и не мисли, че чак толкова се дразнят от пиратството ... друга е тънката мисъл - непрекъснатият паричен поток е целта: за да можеш да си използваш софтуера (пък дали го използваш или не е отделен въпрос), трябва редовно да си плащаш. Няма да се работи само с една версия все пак, а по-скоро с най-новите версии на различните клонове - най-новото XP, най-новия Longhorn и т.н...

Не казвам, че няма предимства и за крайния клиент - не се занимава с update-и (което изобщо не му е работа), но има и неудобства ... примерно, как ще работиш, като ти падне мрежата? Примерно, ако ти изгори мрежовата карта. Или ако си с laptop? Или пък, ако някой хакне сайта на Microsoft или просто им спре тока? Изобщо ... получава се някаква излишно уязвима среда, която според мен няма шансове да се реализира някога. Е, може би някои идеи ще се реализират, но стигне ли се до локално копие на програмите (а то ми изглежда неизбежно), вече смело може да се смята, че нещата принципно са различни.

Моята идея не е да има централизиран сървър, на който да стои софтуера, а просто да можем да си разнасяме платформите с нас. Само толкова. Доста по-спокойно е, не си обвързан с външни фактори като Интернет-доставчици, хакери, захранването в Северна Америка (помниш за спирането на тока за повече от ден преди няколко месеца, нали?) ... а си мобилен колкото си искаш. Което се налага почти на всеки. Пък и лесно се прави upgrade на желязото, можеш да се защитиш от хакване (правиш си платформата read-only и просто reboot-ваш) и така нататък

Понякога седя и си мисля, а понякога само си седя ...

Редактирано от Masklin на

Отговор
в отговор на Masklin #7

Re: offtopic: за desktop платформите

Идеята е добра, реализацията и е трудна :)

Основният проблем е с това централизирано място с настройките на "хардуера". Там трябва да се пазят и мрежовите настройки, списък на достъпни мрежови принтери, името на мейл сървъра, името на proxy сървъра, който трябва да използва браузъра и още десетки неща, за които не се сещам в момента :) Вярно, че има много методи част от тези данни да се получават автоматично. Ключовата дума е "много", трудно ще може да се направи решение което да работи навсякъде.

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

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

Отговор
в отговор на l #8

За мрежата пропуснах

В предния постинг й бях обърнал специално внимание, а тук ...

Параметрите за комуникация с външния свят могат да бъдат различни, наистина. Но и вътрешните параметри също могат да са различни (примерно разделителна способност), така че профилите са задължителни. А еднократната настройка, още повече имайки предвид възможността за автоматично отгатване не е проблем.

За профилите също пропуснах да спомена, всъщност. Мислех за нещо като уникално ID на машината + версия на настройката й. От тези двете гостуващата платформа би могла да се ориентира и лесно да избере подходящият профил + да направи нещо за промените от предния път, ако има такива.

Харесва ми идеята ти да се използва стоящата отдолу ОС, но за съжаление няма как платформата ми да се научи да се закача и за Windows, и за Linux, и за ... Различни версии на Linux / Windows / каквото е там - да, ще стане, вероятно.

Има още един вариант - в машината да работи мини-ОС със стандартизиран интерфейс, която да се грижи за основните параметри (не за реализацията на мрежовата свързаност, а само за съхранение на настройки). И ОС е по-добре от проста структура, защото софтуерните интерфейси са по-гъвкави за развитие и промяна отколкото структурите от данни.

Всъщност някои съвременни машини имат подобни мини-ОС. Примерно, виждал съм HP-станции, до които можеш да стигнеш отдалечено и съответно да рестартираш, настроиш CMOS/BIOS-а и т.н.

Понякога седя и си мисля, а понякога само си седя ...
Отговор
в отговор на Masklin #9

Re: За мрежата пропуснах

Защо пък да не може да се научи да използва и Windows и Linux. Има операционни системи, които могат да работят и върху други такива. Програмите се компилират до bytecode, така че работят на всякакви процесори. Програмите се изпълняват във виртуална машина, сравнително лесно е да се промени операционната система да позволява записването на текущото състояние върху диск. Така дори няма да има нужда спираш и стартираш програмите си като се местиш от компютър на компютър -- натискаш бутона suspend, вадиш флаша, сядаш на другия компютър, пускаш системата и всичко е точно както е било преди това :)

Разбира се, основният недостатък на този подход е, че тази операционна система трябва да има всички програми от които имаш нужда.

Да се върнем пак в действителността... Всъщност не е необходимо дори тази платформа да работи върху други операционни системи. Необходимо е само да може да извлича конфигурацията от тях. Например сядаш на компютър с Windows, слагаш флаша, стартираш retrieve-config.exe, рестартираш, и платформата ти използва конфигурацията извлечена от retrieve-config.

Отговор
в отговор на | #10

Ех, замечтах се

Инферно, с език Лимбо и протокол за комуникация Стикс Също така, последното нещо, върху което работи е План 9. Не напразно е казано, че скромността краси човека

Жалкото е само, че има цена (няколко медни гроша, доколкото си спомням искаше лодкаря на Стикс ... ех, как му беше името ) - освен необходимостта да имаш всички програми, ще работят и по-бавно. Ако имаше как, отдаааавна да има най-добрата ОС и всички да пишем на нея.

А иначе, retrieve-config.exe е добра идея. И да не искат Прозорците да говорят (поддържат общото място в машината), ще им изтръгнем думите (конфига) ако трябва с ченгел от устата . Малко грубиянски го казвам, но няма да се учудя, ако подобна гъвкавост не е по вкуса на всеки.

Понякога седя и си мисля, а понякога само си седя ...
Отговор
в отговор на Masklin #11

Re: Ех, замечтах се

Съвременните компютри са достатъчно бързи. Ако не се правят глупости подобни на тези, които правят другарите разработващи Гном и КДЕ няма да има никакъв проблем със скоростта на програмите.

Отговор
в отговор на Masklin #12

Re: Ех, замечтах се

Харон

"Ако имаше как, отдаааавна да има най-добрата ОС"
То тъкмо тъй да стане, да има една ОС - е -- може да не е най-добрата, ама единствената, ама дойдоха едни идиоти с пингвини, други пък демонолози. Tука едни ми размахват някакви FORT-базирани чипове [линк]

Тааман да ни убедят, че mainframe било отживелица, пук то не било баш така...
абе ужас


Когато боговете говорят, ония с фактите никакви ги няма.
Отговор
в отговор на | #13

Re: Ех, замечтах се

Уф - айде пак
И какви глупости по-точно. Ти вярно си по-навътре в нещата, ама се обоснови поне.
На не-толкова съвременен компютър- AMD 800MHz KDE върви чудесно, а и май е единственият софтуер, който със всяка по-нова версия става по- бърз - е може би, защото са били изчистени някои глупости, които са го бавели

Когато боговете говорят, ония с фактите никакви ги няма.
Отговор
в отговор на Masklin #14

Re: offtopic: за desktop платформите

Сега се сетих за друг твой проект, който обсъждахме преди време -- какво стана с Linux Registry-то? ;Р

Отговор
в отговор на | #15

Миии ...

(знаех си, че няма да ми се размине). Аз съм идиот. Нали знаеш - идиот е този с идеите

Имаше и още един мой проект - превод на български на webmin. Още висят някъде недовършените ми преводи.

Срамувам се, ама ... ще компенсирам някой ден, надявам се

Понякога седя и си мисля, а понякога само си седя ...
Отговор
в отговор на Masklin #16

Re: offtopic: за desktop платформите

// Поради исторически причини
poradi tehnicheski a ne istoricheski .. :-))

//се е получило така, че нямаме централизирано място в машината,
koe e mashinata ? motherboard, CPU , memory ? ako da to imame takova miasto f mashinata :-))

//съхраняващо информация за хардуера и неговите параметери.
periferiata ne e mashinata ... tia e periferiata na mashinata :-))

a i ti kato creator na tazi OS ste pozvilis na nekoisi indianec da ti kazva kfo tochno ima kato hardware a ne sam da si razberes ? za tfa sa hadware qualyti labs napraveni .. a i kak ste nakaras milionite proizvoditeli da polzva sustia standart ? s RFC :-)).. smeshno .. za tfa se nalaga ti da burkas tam ..

//след което да го конфигурира, избягвайки конфликти с другите хардуерни компоненти.
nali ne ochakvas mrezovata mi platka sama da se konfigurira ? /s drivers/ ?

//Разполагайки с такова дърво, всеки хардуер при началното си
//инициализиране би могъл да се регистрира в това дърво, след което да
//заяви исканите от него хардуерни ресурси (IRQ, портове, DMA ...) и да ги
//получи.
cool ste si imam soundkarta s sobstven OS na nea :-)) i tam li ste vodim flame wars ? .. CreativeOS rox !

//Ключовото е, че огромна част от работата, извършвана при инсталиране и
// конфигуриране на едно desktop решение не зависи от конкретния хардуер
taka li ? ami az togava sto ne si karam s 386 optimized kernel ? glie kolko work ke spestia :-))

nemam vreme sega ste produlza po kusno ..
se pak ne sa samo PC-tata :-))

DrFrancky

Отговор
в отговор на Heaндepтaлeцa Джo #17

Re: Ех, замечтах се

Може и да не съм прав, не съм пробвал КДЕ от доста години. Жена ми използва ГНОМ на компютъра вкъщи и имам някаква представа как работи.

Но по принцип, ако библиотеките на една система съдържат милиони редове код, не може да не са проектирани неправилно :) Постоянно се сблъсквам с overdesign-ати проекти (не само с отворен код). Не случайно умните хора са казали: "Keep It Simple, Stupid" ...

Отговор
в отговор на Masklin #18

Re: Ех, замечтах се

> А иначе, retrieve-config.exe е добра идея. И да не искат Прозорците да говорят
> (поддържат общото място в машината), ще им изтръгнем думите (конфига) ако
> трябва с ченгел от устата . Малко грубиянски го казвам, но няма да се учудя,
> ако подобна гъвкавост не е по вкуса на всеки.

Интересно как никоя от дистрибуциите досега не се е сетила да направи нещо такова. Пъхаш CD-то, ако си под Windows се пуска autostart (или както там се казва), научава конфигурацията, записва я накъде (къде?), казва на потребителя "бла бла бла ще се инсталирам" и рестартира...

Вероятно дистрибуциите нямат на щат Windows програмисти :)

Отговор
в отговор на DrFrancky #19

За другаря Подробников

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

Според мосю фон Нойман процесора и паметта са централно и винаги съществуващо място в машината. Също така шината и още едно-две неща, намиращи се на майчината карта. Значи - да.

Да, ще позволя някой индианец да ми казва какво точно представлява хардуера. Първо, защото не е чак толкова трудно да кажеш какво представлява твоят си хардуер и второ, защото ако искаш да ти купуват продукта, ще го направиш да работи правилно. И както казваш, quality labs ще помогнат

Иначе, че е трудно да наложиш стандарт, трудно е. Именно защото производителите са много (е, с порядък-два по-малко отколкото намекваш) и защото вече съществуващите машини са много. Което не ми пречи да си мечтая . Пък и за щастие, нещата се развиват и старите проблеми се решават.

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

Проблемът с различните архитектури наистина съществува. Като измисля решение, ще ти кажа своевременно

Понякога седя и си мисля, а понякога само си седя ...
Отговор
в отговор на | #20

Точно затова Линус е пич

Наскоро четох негово интервю (линка го взех от дискусия в клуба), където той казва:

I find people with big visions interesting but often a bit scary. One of my constant arguments on the kernel mailing list (in various guises) is to not redesign the world, but try to make specific small improvements, and let the big payoffs be kind of incidental.

Именно опитът да обхванат света води до провал повечето проекти. А не е възможно; просто човек не може да събере всичко в главата си. И трябва да развива продукта си постепенно, без да бърза. За да може с времето да смели различните последствия от решенията си, да обмисли различните варианти и да направи дизайн, който наистина помага, а не създава толкова проблеми, колкото решава.

Понякога седя и си мисля, а понякога само си седя ...

Редактирано от Masklin на

Отговор