Skocz do zawartości

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

JohnBelushi

Robię system operacyjny.

Polecane posty

Chciałbym zrobić jakiś system operacyjny na jądrze Linuxa (ale to potem)...

Myślę, żeby zrobić takiego... hmm... dosa na początek.

W C++ bym go miał zamiar zrobić...

Co wy na to? Da się? Albo nie: Co o tym sądzicie?

Dla niedowiarków:

Bill Gates, Steve Jobs zaczynali sami w dwie-trzy osoby....

Link do komentarza
Udostępnij na innych stronach

W C++ nie pisze się OS, jest zdecydowanie za mało wydajny.

Zacznij uczyć się programować, zacznij uczyć się teorii OS. Zrozumiesz, że "zrobienie prostego DOSa na początek" wcale nie jest takie łatwe jak się wydaje.

Trzeba myśleć o wielu problemach: o sposobie przechowywania plików, o komunikacji z podzespołami i komunikacji z użytkownikiem.

Link do komentarza
Udostępnij na innych stronach

Hakken -> O ile pamiętam, znaczna część jądra linuksowego jest napisana w C++, a tylko najbardziej core'owe rzeczy w asemblerze.

JohnBelushi -> Najpierw poćwicz programowanie w jakimkolwiek języku przez czas dłuższy niż parę miesięcy, a wtedy weź się za pisanie własnego systemu operacyjnego. Polecam google z hasłem "własny system operacyjny" lub podobnie. Pytań takich jak Twoje są dziesiątki. Jaki język się uczyć? FAQ Ci powie.

Poczytaj też http://wiki.osdev.org/Expanded_Main_Page

Link do komentarza
Udostępnij na innych stronach

W sumie dobrze, ze ten temat powstał, to nie będę robił offtopu w temacie o studiach.

Co jest takiego skomplikowanego przy pisaniu OSu? Moja intuicja mówi mi, że korzystając z funkcji zwrotnych i uchwytów byłbym w stanie zrobić bardzo zgrabny modułowy system.

Problemem jest oczywiście interakcja ze sprzętem, ale to nie jest komplikacja natury językowej, a wiedzy/czasu na opracowanie sterowników.

C++ jest zdecydowanie za mało wydajne do pisania OS' date=' zbyt wysokopoziomowe.[/quote']Co to znaczy zdecydowanie? Co to znaczy za mało wydajne? Co jest mało wydajne w C++? W czym C++ ustępuje C pod względem wydajności?
Link do komentarza
Udostępnij na innych stronach

Co to znaczy zdecydowanie? Co to znaczy za mało wydajne? Co jest mało wydajne w C++? W czym C++ ustępuje C pod względem wydajności?

Od systemu operacyjnego oczekuję szybkości, a programy napisane w C++, obiektowo, są wolniejsze od tych napisanych w C.

Trzeba się zapytać, ile chce się napisać/wymyślić samemu, a ile użyć gotowych rozwiązań.

Przyjmując, że znaczną część weźmiemy gotową, to oczywiście trudność takiego przedsięwzięcia maleje (ale też nie do tego stopnia, żeby osoba która nigdy nie miała styczności z programowaniem, ani informatyką jako taką, mogła za szybko zacząć).

Teraz wypunktuje to, co według mnie sprawiałoby problemy (przyjmując, że wszystko robimy sami):

- Komunikacja ze sprzętem, o czym wspomniałeś

- Własny system plików

- komunikacja z użytkownikiem

- bootloader (teoretycznie nie może zajmować więcej niż 512b)

To podstawa, potem należałoby się jeszcze pobawić w chociażby zabezpieczenia.

nie jest komplikacja natury językowej

Nie mówię, że jest to problem z językiem C++ czy jakimkolwiek innym, mówię o systemie operacyjnym jako takim.

Link do komentarza
Udostępnij na innych stronach

Ha! Jeśli opanujesz assemblera w wystarczającym stopniu, to branża przyjmie cie z otwartymi ramionami wink_prosty.gif

Jeśli to co napisałeś jest prawdą, to może ja zacznę się Assemblera od razu uczyć, z myślą o przyszłości?

Assembler to język niskiego poziomu.Jeśli nie miałeś styczności z programowaniem i nie rozumiesz jak działa komputer to będzie ciężko.Jeśli chcesz zacząć przygodę z programowaniem, to kup sobie książkę, czytaj powoli i ze zrozumieniem.A Język wybierz sobie zależnie od tego co chcesz robić.Jeśli chodzi o pisanie programów to możesz się uczyć np. Pythona,LUA, C, C++, Pascala itd. Jeśli chcesz pisać strony internetowe to ucz się np. Ruby, Pearl, PHP, JavaScript itd. dodatkowo w tym przypadku przyda Ci się znajomość HTML/XHTML i CSS.Znaczniej łatwiej jest nauczyć się tworzyć strony, niż pisać programy.Chociaż możesz zacząć od C++, nikt Ci nie zabrania, ale wszystko musisz raczej robić ze zrozumieniem.

Link do komentarza
Udostępnij na innych stronach

Gość
Temat jest zablokowany i nie można w nim pisać.


  • Kto przegląda   0 użytkowników

    • Brak zalogowanych użytkowników przeglądających tę stronę.
×
×
  • Utwórz nowe...