jak napiszesz OS'a w pascalu to ci mistrzu mowie ja pisałem kod samej powołki i wlasnewego systemu plików przez 5 miechów i jescze niechiałą dobrze i to w Asmie pisałem a nie w pascalu:)
ja pisałem kod samej powołki i wlasnewego systemu plików przez 5 miechów i jescze niechiałą dobrze i to w Asmie pisałem
bo jakbyś pisał w Pascalu to byś w 2 tygodnie napisał i by Ci wszystko chodzilo, bierz przykład z mistrza :-D
Od czego tu zacząć... Juz wiem. Kiedyś także zastanawiałem się nad tym jak to by było napisać własny OS. Zastanawiałem sie nad wszystkim co jest potrzebne do jego pracy. I tak w pierwszej kolejności należy napisać BootManager który pozwoli rozróżnić wszystkie dotychczas istniejące systemy operacyjne włącznie z moim nowym. Następnie należy umieścić go w rekordzie ładującym dysku twardego (Małe wyjaśnienie. Nie można napisać BootManagera w Pascalu, musi być to assembler, gdyż format danych zapisanych w rekordzie ładującym dusku twardego musi być rozpoznawalny przez BIOS). Program ten, ma za zadanie załadowania interpretatora poleceń. Interpretatora poleceń także nie można napisać w Turbo Pascalu. Musi mieć on bowiem także format rozpoznawalny przez BIOS. Teraz gdy mamy nowy interpretator poleceń, możemy przejść do pisania programów wejścia wyjścia (w systemie MSDOS jest to program IO.SYS), odpowiedzialnych za obsługę dysku twardego, stacji dyskietek, klawiatury, myszy, portów COM, LPT, USB ... Od tej pory, wszystkie programy muszą być napisane tak aby mógł ich interpretować nasz nowy interpretator poleceń. Wyklucza to możliwość stosowania Turbo Pascala do tego celu, no chyba że wykorzystalibyśmy tylko jego składnię i napisali własny kompilator, za pomocą którego moglibyśmy pisać każdy nowy program pod nowy system operacyjny. Rzecz jasna nasze programy nie byłyby kompatybilne z innymi systemami operacyjnymi, tylko z naszym.
Podziwiam autora za chęci. Jednak napisanie OS'a wymaga ogromnej wiedzy i wkładu wielu osób. W składzie jaki został podany, w ciągu dwóch miesięcy, będzie można osiągnąć poziom napisania programu który ma się znaleźć w MBR, oraz zapoczątkować pisanie interpretatora poleceń. Należy jednak najpierw zastanowić się jak ma wyglądać format nowego pliku wyknywalnego, oraz jakiego systemu plików ma uzywać nasz system. Jeśli ma być to nowy, dotąd nie znany system plików, to nie ma takiej możliwości aby udało się zrealizować nawet napisanie Boot Managera w dwa miesiące. Pamiętać bowiem należy, że projektując nowy system plików, musi on zawierać zabezpieczenia, takie jakie są w systemie NTFS czy tym używanym przez Linuxa.
Podsumowując. Tworzenie nowego systemu operacyjnego nie jest prostą sprawą. Moja wiedza na ten temat jest duża, jednak nawet ja nie wiem wszystkiego, nadal się uczę. Być może za 8-10 lat będę tyle wiedział, że podejmę się takiego zadania. Nie będę się jednak kierował tym, aby mój system był lepszy od tych istniejących, lecz tym aby stworzyć coś swojego, co działą. To będzie dla mnie największą satysfakcją.
Wlasnie dales przyklad ze zabralbys sie za pisanie OSa "od d**y sprawy". Tzn. moze kiedy chcesz napisac kolejnego DOSa to tak sie postepuje ale gdybys chcial napisac System to nie tracilbys czasu na boot loadera (bo mozna skorzystac z lilo albo gruba) ani interpreter polecen (bo to bezuzyteczna rzecz kiedy nie masz kernela). Zapewne to tylko literowki :d spowodowaly ze zrozumialem w ten sposob twoj post i naturalnie zaczalbys od dowiedzenia sie jakich funkcji potrzebuje system zeby <ort>w ogóle </ort>odpalic program skompilowany Turbo Pascalem, po czym po kolei bys je implementowal (tak jak pierwszym krokiem pisania nowego systemu w GCC jest implementacja libc). Ale prosze mnie nie cytowac bo o designie OSow wiem niewiele.
Spełnię twoje życzenie, bo naprawdę nie wiele wiesz. A to co opisałem to tylko uproszczenie dla prostych ludzi, którzy na ten temat niewiele wiedzą.
dziwne, interpreter poleceń to shell i opiera on się na zasadach kernela, tzn kernel nim zarządza jak zwykłym programem i on go uruchamia. I jeszcze jedno interpreter poleceń wcale nie zajmuje się obsługiwaniem programów, KERNEL TO ROBI :|
Mogę częściowo przyznać Ci rację CyberKid, ale kto powiedział, że interpretator poleceń nie może być zintegrowany z kernelem. To przecież ma być nowy system, który nie powinien mieć nic wspólnego z już istniejącymi.
No i wlasnie idziesz w strone winshita :P
Po jaka <ort>holere </ort>intergorwac shela z kernelem kiedy jedno to zykly program a drugie to prawdziwy os :P
Jezeli nie zintegrujesz to mozna bedzie pisac rozne shelle jak na unixach :P
przecież kernel windy nie jest zintegrowany z shellem :|
[dopisane]
Vogel, przecież kernel eNTka siedzi w NTDLL.DLL i nie ma z niego odwołań do jakichkolwiek innych plików. więc gdzie tu widzisz jakieś powiązanie?
ale kto powiedział, że interpretator poleceń nie może być zintegrowany z kernelem
Z definicji, system operacyjny składa się z kernela ( jądra ), systemu plików i powłoki ( shella ).
A co do pomysły integracji shella w kernela to nie jest to dobry pomysł :-8 Słyszałeś o czymś takim jak kernel hacking?? poza tym byłoby to bardzo krótkowzroczne rozwiązanie, bo system ograniczałby się do jednej powłoki :-8
przecież kernel windy nie jest zintegrowany z shellem :|
Nie byłbym taki pewien :)
ŁF:
A Win9x? Tam wywalene shella było równoznaczne z wywaleniem systemu. Nic o NT nie pisałem :)
// wywal shelle z linuxa, a system też stanie. niemniej pod windę instnieją alternatywne shelle. - ŁF
Ba - wywalić basha, X'y mogę... Ale jak w tle będzie chodził sobie serwer http czy jakiś inny, to będzie sobie chodził dalej ;)
Przestańcie się wszystkiego czepiać. To co przedstawiłem to był ogólny zarys tworzenia nowego systemu operacyjnego. Nie napisałem że zamierzam właśnie taki stworzyć. Poza tym integracja kernela z interpretatorem poleceń nie jest zbyt szczęśliwa, ale jak na pierwszy własny system operacyjny powinna być usprawiedliwiona. Napisałem przecież, że ten system operacyjny który byćmoże kiedyś napiszę, nie ma być lepszy od tych systemów co już istnieją. To ma być pokaz możliwości, że Polak potrafi.
Wybacz ale jesli masz dawac takie pokazy "Polak potrafi" to juz lepiej sobie daruj. Po co maja sie z nas smiac.
Kacie-Zygfrydzie, daruj sobie swoje uwagi i zajmij sie czymś pożytecznym. Niektórzy ludzie mają większe ambicje niż tylko komentowanie postów ludzi którzy chcą coś zrobić większego przekraczającego twoją wiedzę.
Nie wiem dlaczego odwolujesz sie do wycieczek ad personam zamiast bronic swojej idei merytorycznie. Wybacz, ale nic co napisales dotad nie wykracza poza moja wiedze, ku mojemu zdziwieniu mimo iz zapewniasz nas o swoim autorytecie w dziedzinie projektowania systemow nie potrafisz ani wysunac idei ktora posiada rece i nogi ani obronic swoich zgola niezgrabnych pomyslow. Bardzo ucieszylbym sie jesli przekonalbys mnie wreszcie dlaczego zaczalbys pisanie OSa od boot loadera oraz interpretera polecen. Od moich ambicji prosze trzymac sie z daleka, bo pomijajac fakt ze nie naleza to tematu, nie masz o nich bladego pojecia. (zapraszam na http://zygfryd.uni.cc/ jesli jestes zainteresowany projektami jakimi sie zajmuje)
ech, mam taką ideę.
Sorka, ale wkurza mnie już ten wątek, więc może zamiast pie***lić to weźmy się do roboty. Zbliżają się wakacje, ja np nie zamierzam ruszać dupska z mojej kochanej wiochy :d ( mojego ukochanego małego miasteczka ). Nie wiem jak wy ale zapewne w wakacje będziecie mieli czas. Na 4p istnieje już jeden open-source projekt i jest nim Coyote tak więc czy nie możnaby stworzyć nowego?? Jakiś prosty sys z kodem ogólnie dostępnym np na 4p. Możnaby wydzielić kilka osób do składania kodu i wtedy każdy kto chce może dorzucić swoje trzy grosze. Przecież w sumie każdy tutaj zna się na czymś innym, moglibyśmy połączyć siły zamiast naigrywać się z kilku odważnych ludzi, którzy podjęli się sami takiemu wyzwaniu. Może zróbmy to razem?? Co wy na to??
Chetnie wpadne i pomoge prowadzic burze mozgow, nie mam natomiast zupelnie gdzie wcisnac w terminarz pelnego uczestnictwa w kolejnym projekcie.
Witam wszystkich po dlugiej nieobecnosci! Widze ze watek bardzo sie rozwinal. Troche mnie to cieszy, ale musze przyznac ze jednak bardziej jestem zawiedziony...
Po pierwsze: nie zamiescilem tego postu po to zeby stal sie ogolnym tematem kpin, drwin i szydertwa, a takie posty sie zdarzaly.
Po drugie - nie pytalem w nim jak sie robi system operacyjny, bo doskonale sobie z tego zdaje sprawe. Liczylem tylko na sugestie i propozycje, jakies innowacyjne rozwiazania i pomysly, ulatwiajace korzystanie i prace ewentualnemu uzytkownikowi. Nie mowi tu a jadrze, bo o to aby optymalnie zarzadzalo zasobami zadbam sobie ja sam, gdyz mam do tego idealna koncepcje ktora juz wiele razy przemyslalem, i jesli uda sie mi ja zrealizowac system bedzie niezawieszalny, nie bedzie wymagal nie wiadomo jakich maszyn zeby plynnie chodzic i w blisko 100 proc bedzie wykorzystywal moc obliczeniowa komputera. po prostu bedzie bezkonkurencyjny w stosunku do tymczasowych. Kwestia wykonania tylko ladnej powloki zeby sie zaczal sprzedawac, i swiatowy rynek jest nasz. Nie chodzilo mi wiec o proste instrukcje pouczajace jak pisac system, itp itd ... tylko ewentualne propozycje co do shella. A co do kpin i niedowierzan to zalozcie sobie moze osobne forum gdzie bedziecie sie nasmiewac, i sobie robic zarty, i na nim prosze sie zastanawiac czy sobie dam rade czy nie. Ja swoje sily i mozliwosci znam, i nie wyskakiwalbym z tym tematem, gdybym nie byl pewny ze jestem w stanie go zrealizowac. Spodziewalem sie zrozumienia i pomocy, jakiejs wspolpracy, pelny nadzieji wrocilem z wyjazdu zobaczyc co pojawilo sie na forum, a tu zawod ... I jak ma w Polsce powstac cos dobrego, skoro jesli tylko ktos wysunie ambitniejsza hipoteze, jest ona zaraz zbesztana i wysmiana. Moja rodzina zyje z programowania i jestem pewny ze napisanie czegos takiego wspolnymi silami to tylko kwestia czasu. Nawet powiem wam jakiego - mianowicie nadchodzace wakacje powinny wystarczyc. We wrzesniu moj produkt juz powinien sie ukazac na rynku. Pozdrawiam wszystkich ( nawet tych co we mnie nie wierza) I czekam na wypowiedzi, tylko tym razem takie, ktore beda mi na cos przydatne.
już brak mi słów. nie pokazałeś nic, co by świadczyło o twojej wiedzy na temat systemów operacyjnych. ciągle tylko rzucasz hasła że system będzie zajebisty i że napiszesz go w kilka tygodni, co po prostu nie jest realne. skąd w tobie tyle uporu, że nie patrzysz na żadne realne ograniczenia?
więc powiedz mi, ile szacunkowo czasu zajmie ci napisanie wymienionych elementów, które rasowy system operacyjny MUSI zawierać:
-
jądro, w tym:
zarządzanie pamięcią i jej ochrona
wielowątkowość (jak rozwiązałeś problem zakleszczania wątków?)
komunikacja między procesami i wątkami -
kompilator (masz opracowaną strukturę plików wykonywalnych?);
-
shell - tekstowy i graficzny;
-
wydajna grafika (a więc i sterowniki do kart graficznych);
-
sieć + sterowniki do kart sieciowych + jakieś elementarne oprogramowanie;
-
obsługa systemu(ów) plików (własny fs?);
-
obsługa usb;
-
obsługa drukarek.
założę się o co chcesz, że przez najbliższe dwa lada nie napiszesz niczego, co będzie przypominać system operacyjny, a przez następne dwa nie doprowadzisz go do takiego stanu, żeby ktokolwiek ci za niego zapłacił. bo fizyczną niemożliwością jest napisanie kilkunastu (żeby tylko) MB sensownego kodu w ciągu roku, nie mówiąc o dwóch miesiącach.
niemniej zaintrygowałeś mnie: albo jesteś skończonym idiotą, albo masz w rękawie takiego asa, że pół programistycznego świata wymięka. hmmmm....
niemniej zaintrygowałeś mnie: albo jesteś skończonym idiotą, albo masz w rękawie takiego asa, że pół programistycznego świata wymięka. hmmmm....
Mysle ze raczej to drugie. Rozumiem twoje zdumienie i brak wiary, zdaje sobie sprawe ze to duzo pracy i moze sie wydawac nieosiagalne w tak krotkim czasie. Zaczekaj prosze do wrzesnia.
Nadal czekam na sensowne propozycje!
Dobra... Więc tak...
Zrobiło sie tu 8 stron praktycznie bez odrobiny kodu (quick sorta przemilczę) i nie zanosi się na publikację czegokolwiek.
Wyniki pierwsze będzie widać dopiero we wrześniu.
Wyder się zarejestrował i dał ogłoszenie dla chętnych, w jego profilu jest adres poczty.
Ogólne bicie piany.
Osobiście nie wierzę, że uda Ci się stworzyć system, ale wiem, też, że są na ziemi rzeczy, o których się filozofom nie sniło. Tak więc, jesli, to stworz resja trialową (np. max 1 dysk/max partycja 2 GB/max 800x600/max 32 MB RAM/ograniczenie czasowe/bez obsługi sieci), na pewno chętnie wtedy obejrzę taki system.
// Wyder, jeśli będziesz miał cokolwiek poproś któregoś z moderatorów, żeby odblokował.
// Chyba, że wolisz przenieść ten wątek do OT.
no i co? wrzesień już się skończył, gdzie więc ten super system? gdzie cokolwiek co nosi znamiona systemu operacyjnego?
Wyder, pokaż co spłodziłeś.
Ja rozumiem - jeden człoweik może zrobić dużo (lol) ale nie jesteś ani Chrystusem ani Supermane więc conajmniej "nie wierze" w to że uda ci sie napisać jakikolwiek sensowny system operacyjny (nie wspominając o połączeniu Linuxa z Windowsem :D ). Masz +1 pkt za zaje***** poczucie humoru. Ta metoda na sortowanie była wybitna.
Ja w zasadzie czekam tylko na jakąś ogólnoświatową kampanie promocyją twojego dzieła.
Stary jesteś De Beściak :D
Napisanie orginalnego bootloadera (pomijając kwestie prawne) jest trudne - zwykle kopiuje się trochę kodu i dopisuje wczytywanie kernela (kilka mov, int, j??, j?).
Napisanie orginalnego monolitycznego (chyba najszybszego przy takich rzeczach jak VGA) kernela jest trudne - producenci BIOS-ów nie pomyśleli, że można napisać procedury przerwań dla pmode i rmode jednocześnie (czyli int wx daje do ys:zx adres IVT procedur 32-bitowych).
Witam wszystkich!! Dziekuje za cierpliwosc! Niestety prace nad projektem przedluzyly sie w wyniku choroby i problemow osobistych, jednak mimo wszystko mysle ze w ciagu najblizszych 3 tydgodni zamieszcze na forum wersje demo! <ort>pÓÓÓÓki </ort>co system chodzi wysmienicie i nic nie wskazuje na to aby sie cos psulo. Pelna wersja ze wszsytkimi bajerami powinna ukazac sie w grudniu na rynku. Pozdrawiam wszystkich fanow! czesc!
he,he czekaliśmy tyle czasu, to poczekamy jeszcze :) Swoją drogą albo mamy przed sobą boga /nie myliić ze mną/ albo the Bill'a Gates'a ...
Co do wersji demo, to ciekawe jak ją zamieścisz /no chyba, że system jest klonem dosa/. Lepiej screena albo 2 ...
Nie angażując sie w ten topic, czytając poniektóre wypowiedzi "twórców", dochodzę do wniosku, że oni sobie po prostu jajca robią ;]
Dajcie chłopakowi szansę. Zresztą, od zawsze było tak, że jak ktoś się wychylał i chciał być ambitny, to go zawsze gnoili. Wyder, nie poddawaj się. Twój system nie osiągnie raczej sukcesu komercyjnego (brak aplikacji pod niego), ale będziesz miał satysfakcję i na pewno dużo wiedzy nabędziesz podczas pisania.
// a wszystko w jedyne trzy miesiące ;-) - ŁF
a dajesz chociaz gwarancje, ze to niczego nie spierdoli
// niewiara i złosliwośc niewiarą i złosliwością, ale kultura osobista kulturą osobistą i powinna ona zawsze byc przestrzegana w miejscach i przy spotkaniach publicznych [mf]
//ja tylko sie kulturalnie pytam
Ladnie to tak robic sobie jaja z kolegow programistow? Tyle trudu wkladasz, zeby ludzie uwierzyli, ze mowisz powaznie. Powinienes isc do kabaretu i przestac obrazac zapracowanych ludzi, ktorzy "osiedli na laurach".
A ja mam watpliwosci, czy Ty w ogole umiesz pisac programy w TP (pod DOS-a). Mnie na informatyce uczyli, ze QuickSort pod DOS-a trzeba pisac bez rekurencji, bo standardowo stos jest maly i dla wiekszych tablic program sie wysypuje. (ja TP znam tylko troszke, ale nie moglem wytrzymac). Tak wiec, jesli znasz TP tak dobrze jak piszesz, wkleilbys zapewne kod nie wykorzystujacy rekurencji (rekurencja, patrz: http://pl.wikipedia.org/wiki/Rekurencja).
P.S. Pozrdow swoja rodzinke.
P.S. Juz zrobiles dobra robote, bo zostalem w pracy 2 godziny dluzej zeby to wszystko poczytac. Masz umnie piwo [browar] . No chyba, ze Panowie z 4p Cie zwerbowali dla wiekszej poczytnosci :->.
// eee...quicksort bez rekurencji? daj kod :] a stos o rozmiarze kilkunastu kB wystarczy na posortowanie całej zawartości pamięci kompa (bo to logarytmicznie idzie) - ŁF