Chce napisac system cos ala windows xp


(Kozokslawomir) #1

Wiele wody upłynie, zanim będziesz rozumował działanie kernela... Zakładam, że jak coś o pascalu gadasz, to raczej nie znasz zasad składni żadnego języka (chyba że polskiego :stuck_out_tongue_winking_eye:). Ucz się najpierw HLL'a takiego jak C++, Python. Później zaczytaj się w asemblerze pod architekturę x86. Aha - i potrzebna będzie znajomość działania OS'a.

http://rudy.mif.pg.gda.pl/~bogdro/

Kursów HLL'ów poszukaj sam.


(Gutek) #2

Używając przycisku zmien.gif

Pozdrawiam Gutek


(somekind) #3

Prosty kurs: http://4programmers.net/OS_Programming/Kurs_pisania_systemu_operacyjnego,_cz%C4%99%C5%9B%C4%87_1

Trzeba znać architekturę sprzętu, kilka języków programowania (chociaż niekoniecznie, wszystko da się zrobić w ASM), a na początek przeczytać taką książkę: http://www.twojaksiazka.com.pl/x_C_I__P_423324.html

Biorąc pod uwagę to, że nad Windowsem pracuje klika tysięcy osób przez klika lat, to sensowny termin napisania tego samemu to jakieś kilkanaście tysięcy lat.


(Mk Md) #4

Nad takim systemem pracuje zespół programistów przez wiele miesięcy.

Jeśli chcesz poznać działanie i strukturę systemu operacyjnego, możesz się "wyposażyć" w takie coś:slight_smile:

http://wnt.pl/product.php?action=0&prod_id=563&hot=1


(Monczkin) #5

Born_to_Hack_96 , na forum używamy polskiej pisowni. Popraw błędy, inaczej temat zostanie usunięty. przeczytaj regulamin forum.


(Marcin 110) #6

Pewnie przyda się także http://www.amazon.com/Operating-Systems-Design-Implementation-3rd/dp/0131429388 (nie mam pojęcia, czy w Polsce w ogóle jest dostępne 3-cie wydanie). Książka omawia, oprócz samej teorii związanej z projektowaniem, w praktyce zaimplementowany przez autora książki system operacyjny - MINIX 3, w skrócie klon UNIXa oparty o mikrojądro, zgodny z POSIXem.


(przemo_li) #7

Nie wiem skąd te gadki o długiej nauce ?!? osa napisałem w 2 tyg. :slight_smile: będąc w gimnazjium :smiley:

Poszukaj tutoriali o OS programming np. na binboy był dobry po polsku. Postępuj dokładnie tak jak piszą a coś napiszesz. A przy okazji sam się przekonasz o Co biega.

PS tutoriale zazwyczaj możesz przepisywać na ślepo (ja tak zrobiłem choć 95% rozumiałem) dzięki temu przynajmniej nauczysz się co trzeba się nauczyć :smiley:


(kijek) #8

Coś w rodzaju Win. XP? Chyba sobie żartujesz. Jeśli napiszesz coś w rodzaju DOSa, to będzie to wielkie osiągnięcie, ale nie przyjdzie Ci to prędko i łatwo. Będziesz musiałbyś samemu pisać sterowniki pod sprzęt, zaprogramować obroty dysku i wiele, wiele innych rzeczy. A język, który musisz znać to Assembler, za pomocą którego można łatwo rozwalić komputer, dodatkowo wskazany byłby C.


(przemo_li) #9

Ehh Unixa zaprogramowali w 2 dni :slight_smile: ale od czegoś się zaczyna.

PS nie wyobrażam sobie aby ktokolwiek zaczynał przygodę z programowaniem bo chce wyświetlić "hello world!"

Więc trzeba mieć marzenia.


(kijek) #10

Wiem, że Unix a Linux to co innego, ale czemu by nie napisać czegoś, co pozwoli autorowi zrozumieć, że to nie jest łatwe. Linus Torvalds jądro Linuksa pisał przez 9 lat samemu, a przynajmniej tak gdzieś kiedyś czytałem (to była zaufana strona).


(Marcin 110) #11

:o możesz podać źródło tej informacji?

BTW: czy ten Twój system robi coś poza wyświetlaniem napisu hello world?

Bez przesady - jakieś pół roku do wersji 0.01 (źródło)


(przemo_li) #12

The art of Unix programmig. W 2 pierwszych rozdziałach szukaj. Choć od razu dodam że masz rację że nie od razu zbudowano Rzym. I ten Unix też wszystkiego nie miał.

Normalna konsola Ty wpisujesz tekst a a monitorze pokazuje się to co wpiszesz. (Oczywiście w kolorkach) Asembler tylko jako podstawka C dla obsługi przerwań i "terminala".

PS jest taka stronka gdzie można dużo się dowiedzieć (polecam):

http://wiki.osdev.org/Main_Page


(somekind) #13

Może lepiej napisz, co on miał.

Obsługiwał magnetofon i czytniki kart perforowanych?

Widzisz różnicę między tym swoim systemem, a Windowsem XP, o którego pyta autor wątku? ;>


(przemo_li) #14

Add 1 wtedy niczego innego nie było. Więc sarkazm Ci się nie udał. Zaimplementowali obsługę dysku i podejście wszysko jest plikiem.

Wcześniej mieli burzę mózgów prze 2 dni.

Oszczędź sobie i innym a poczytaj książkę o podanym tytule.

Add 2 Widzę. Ale co to ma wspólnego ?? Jak chcesz zostać pilotem to nie zaczynasz od stwierdzenia co zrobić aby sterować modelem samolotu, Li tylko pytasz się jak zostać pilotem Boeinga 707. (Widzisz analogię ??) A później się uczysz, uczysz i uczysz.


(Marcin 110) #15

Świetne wiki!

Na moje oko to jest prosty program, który z racji braku wsparcia systemu operacyjnego mocno się rozrósł. Oracle kiedyś wspierał takie rozwiązanie, że dało się uruchomić bazę danych bez OS'a, ale to nie czyniło go OS'em.


(somekind) #16

To nie był sarkazm ;]

Nieprawdą jest, że niczego innego nie było. Jeśli chodzi o nośniki danych, to dyski twarde były na pewno, a FDD właśnie wynaleziono.

Porównujesz pisanie systemu operacyjnego na PC i na PDP-7, co zbytniego sensu nie ma.

Ponadto powołujesz się na źródła, których nawet nie jesteś skłonny podlinkować, co jest niezbyt wiarygodne.

Zwracasz nam uwagę, że piszemy o potrzebie długiej nauki. Bo tak jest.

Można napisać "OSa" w dwa dni korzystając przy tym z tutoriala, nawet nie rozumiejąc o co w tym chodzi. Wszystko co on zrobi, to zabootuje się i wyświetli komunikat na ekranie.

Ale jeśli chcemy napisać coś funkcjonalnego i potrafiącego cokolwiek ponad to, to będzie trzeba dużo czasu i przede wszystkim wiedzy. O to pytał autor tego wątku.


(roobal) #17

(przemo_li) #18

Pewnie - nic nie umie i ma zacząć od React OS :slight_smile: powodzenia :slight_smile:

Link do książki (ja ją mam po polsku w formie papierowej :stuck_out_tongue: "Unix sztuka programowania")

http://www.faqs.org/docs/artu/

PS "art of unix programming" w google i pierwszy wynik od góry.


(roobal) #19

Nie chodzi o to, że ma robić przy projekcie nie wiadomo co ale na przykład mógłby pisać łatki czy coś w tym stylu albo mógłby zacząć chociażby przeglądać sobie kod źródłowy, w taki sposób też się można czegoś nauczyć.

Pozdrawiam!