logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Narzędzia do tworzenia "Systemu operacyjnego".

MikeLowrey 15 Maj 2010 16:31 2612 16
REKLAMA
  • #1 8078640
    MikeLowrey
    Poziom 10  
    Posty: 36
    Ocena: 1
    Witam, od razu mówię że nie mam zamiaru zrobić windowsa ani linuxa. Mam zamiar zrobić na początek coś w stylu Helo Word. Tylko mam pewien problem, potrzebuje jakichś narzędzi do tego. Czyli jakiś kompilator języka C . Czy istnieją biblioteki do obsługi karty graficznej trybie VGA?
  • REKLAMA
  • #2 8078765
    McMonster
    Poziom 32  
    Posty: 1942
    Pomógł: 182
    Ocena: 57
    Odpowiedzi na prawie wszystkie pytania są na tej stronie. Tylko najpierw dokładnie przeczytaj wszystkie artykuły z działu Basic introduction, a potem pozostałe, inaczej możesz stracić tylko czas, chęci i nerwy. O obsłudze jakiejkolwiek grafiki na początek właściwie zapomnij.
  • #3 8079735
    akaz_
    Poziom 13  
    Posty: 50
    Pomógł: 7
    GCC.
    Naucz się C i assemblera.
    Jeśli chcesz pisać OS, musisz te dwa języki znać w takim stopniu, byś myślał kodem tych języków.
    Inaczej zapomnij o czym kolwiek :)
  • #4 8080346
    several
    Poziom 15  
    Posty: 140
    Pomógł: 14
    Ocena: 1
    Hmm, a jak wygląda Hello World w pisaniu OS'a? Najpierw zapoznaj się dokładnie z mechaniką C i asm, jak zamkniesz oczy powinieneś umieć wyobrazić sobie n-wymiarowy problem a zaraz obok jego rozwiązanie w C lub asm. Wtedy dopiero zacznij przejmować się narzędziami do pisania OSów.

    szakal_1990 napisał:
    Na pierwsze Ci podpowiem, C jest już starym językiem. ściągnij z neta DEV C++, działa niemal że na każdym komputerze i jest darmowy. Z tym drugim nie wiem o co chodzi.


    Heh, ważne że jeden post więcej co nie?
  • #5 8081138
    MikeLowrey
    Poziom 10  
    Posty: 36
    Ocena: 1
    Miałem nadzieje że są jakieś biblioteki do C i nie będę musiał wchodzić zbytnio w kod maszynowy.
  • REKLAMA
  • #6 8081239
    McMonster
    Poziom 32  
    Posty: 1942
    Pomógł: 182
    Ocena: 57
    Pisanie systemów operacyjnych to jedna z najtrudniejszych rzeczy w całej informatyce, bo trzeba wiedzieć, jak działa komputer na najniższym poziomie, jaki może interesować programistę. Hobby ciekawe, ale wypada mieć na półce i w głowie kilka grubych tomów opisujących ten temat.
  • #7 8082077
    main88
    Poziom 12  
    Posty: 102
    Pomógł: 3
    Ocena: 5
    Przede wszystkim raczej nauka Assemblera, po to by zapoznać się z architekturą systemu, wpisywanie wartości do rejestrów itd., gdy bedziesz umiał już to, zapoznanie się z C będzie formalnością.
    A najlepiej zapoznaj się z tym jak działa Windows/Unix i działaj podobnie zgodnie z architekturą.
  • #8 8097746
    MikeLowrey
    Poziom 10  
    Posty: 36
    Ocena: 1
    Coś tam udało mi się zrobić z gotowców. Ale potrzebuje jakiejś wirtualnej maszyny w której będę mógł podejrzeć co jest w ramie, przydało by się też żeby mogła dziać w trybie krokowym. To by bardzo ułatwiło prace bo mógłbym śledzić wszystko na bieżąco. Czy istnieje coś takiego ?
  • #9 8098410
    utak3r
    Poziom 25  
    Posty: 741
    Pomógł: 60
    Ocena: 5
    Biblioteki?? A te biblioteki, to przepraszam, mają być dla tego Twojego systemu? :D
  • #10 8098673
    Jarosx9
    Poziom 35  
    Posty: 2785
    Pomógł: 265
    Ocena: 400
    Może mu chodzi o przerwanie 0x10. Bo na tym można spróbować zrobić "Hello word" bez systemu operacyjnego. Może nawet w bootloaderze.
  • REKLAMA
  • #11 8101111
    MikeLowrey
    Poziom 10  
    Posty: 36
    Ocena: 1
    Z tymi przerwaniami to sam sobie dam rade, bardziej potszebna mi jest maszyna wirtualna którą opisałem.
  • REKLAMA
  • #12 8103044
    MikeLowrey
    Poziom 10  
    Posty: 36
    Ocena: 1
    Teraz mam inne pytanie. Jakiego programu użyć żeby pisać w C i kompilować do pliku binarnego ?
  • #13 8103526
    utak3r
    Poziom 25  
    Posty: 741
    Pomógł: 60
    Ocena: 5
    gcc?
    A jak już opracujesz swoją nową bibliotekę standardową (libmyc ;) ) to przekompilujesz gcc z tą biblioteką i będziesz miał gcc dla tego systemu wyłącznie.
  • #14 8104248
    trol.six
    Poziom 31  
    Posty: 1650
    Pomógł: 151
    Ocena: 381
    MikeLowrey napisał:
    Witam, od razu mówię że nie mam zamiaru zrobić windowsa ani linuxa. Mam zamiar zrobić na początek coś w stylu Helo Word.

    No tak, w końcu oba już są. Pytanie podstawowe, na jaką platforme sprzętową chcesz pisać.

    Jeśli chodzi o procesory x86 x86_64. Na początek (a powinieneś bez problemu znaleźć więcej) kursik, narzędzia:
    http://www.osprogramming.webpark.pl/part1.html

    Ale jeśli chcesz naprawdę tworzyć system, to warto wiedzieć więcej, szczególnie na temat procesorów 32 i 64 bitowych. Zestaw rozkazów myśle to najłatwiejsza strona działania procesora. Poważniejsze problemy to przydział pamięci, kontrola procesów, obsługa procesorów wielordzeniowych, peryferia, itp. itd.

    Wtedy dopiero można zacząć pisać poważniej.
  • #16 8170140
    arrowman
    Poziom 11  
    Posty: 18
    Pomógł: 2
    Ocena: 1
    Witajcie,
    Może ktoś z Was wie jak kompilować/linkować w gcc do plików .bin?
  • #17 8170440
    McMonster
    Poziom 32  
    Posty: 1942
    Pomógł: 182
    Ocena: 57
    W najprostszej formie:

    gcc -o plik_wynikowy pliki_wejściowe


    I nie mówi się tu raczej o plikach o konkretnym rozszerzeniu, tylko po prostu o plikach binarnych.

Podsumowanie tematu

✨ W dyskusji poruszono temat narzędzi do tworzenia prostego systemu operacyjnego, w stylu "Hello World". Użytkownik poszukiwał kompilatora języka C oraz bibliotek do obsługi karty graficznej w trybie VGA. Odpowiedzi sugerowały naukę języków C i assemblera, jako kluczowych do zrozumienia działania systemów operacyjnych. Wskazano na trudności związane z pisaniem OS-ów oraz potrzebę znajomości architektury komputerów. Użytkownik zapytał o wirtualne maszyny do debugowania oraz o kompilację do plików binarnych, co spotkało się z odpowiedzią dotyczącą użycia GCC. Wspomniano również o kursach i zasobach dotyczących programowania systemów operacyjnych.
Wygenerowane przez model językowy.
REKLAMA