Strona 1 z 3

Jak się tworzy systemy operacyjne

: 12 stycznia 2016, 14:57
autor: Eliro
Nigdy nie zagłębiałem się bardziej w te tematy, bardziej zajmowałem się tworzeniem oprogramowania na system operacyjny niż samym jego tworzeniem, ale od niedawna mam debiana 8.02 i nauka C++ wygląda nieco inaczej niż na windowsie(kilka funkcji inaczej się piszsze).

Na początek:
Jak powstało jądro linuxa i jak opierając się o niego stworzono debiana?
Zagłębiając się bardziej:
W jaki sposób tworzy się system operacyjny od zera? Ile to zajmuje i jaka wiedza jest do tego potrzebna? Nie chcę robić konkurencji, ale chciałbym wiedzieć jak to wszystko działa i być może sprawdzić na własnej skórze ile w to pracy trzeba włożyć.

: 12 stycznia 2016, 15:12
autor: dedito

: 12 stycznia 2016, 19:38
autor: pasman
Eliro pisze: ile w to pracy trzeba włożyć.
możesz przyjąć na początek że jesteś wstanie utworzyć 100 linii kodu dziennie.
czyli np minix 4k linii - 40 roboczo-dni.
linux 1.0 ma 100k linii czyli 1000 roboczo-dni.
linux 4.0 ma 18mln linii, czyli 180 tys roboczo-dni.

oczywiście jak znajdziesz pomocnych kolegów to będzie szybciej.

: 12 stycznia 2016, 20:12
autor: Yampress
No ale trzeba jeszcze umieć pisać i nie robić błędów w oprogramowaniu bo dojdzie kolejny czas na naprawę błędów i douczenie się programowania.

Nie twórz kolejnego systemu, którego będziesz używał jedynie TY.
Napisz lepiej jakiś potrzebny brakujący program, który przyda się. Albo dołącz do jakiegoś istniejącego już projektu programistycznego.

: 14 stycznia 2016, 11:03
autor: Eliro
Żeby dołączyć do projektu trzeba coś umieć, więc wracamy do punktu wyjścia. W tej chwili nie planuje zostać programistą w jakimś projekcie, bo system operacyjny chciałbym przystosować do sterowania moimi robotami.
Jak zrobić system operacyjny.

Systemy operacyjne pozwalają ludziom na interakcje z komputerowym sprzętem. Są one zrobione z setek tysięcy linii kodu. Są one robione zazwyczaj w językach programowania C, C++ i asemblerze.

Kroki

1. Naucz się programować zanim zaczniesz. Język asembler jest istotny; Uzupełnienie językiem niskiego poziomu jak C jest zdecyodwanie zalecane.

2. Zdecyduj jakie nośniki chcesz załadować na twoim OS. To może być dysk CD, dysk DVD, dysk flash, twardy dysk, dyskietka albo inny PC.

3. Zdecyduj się na główny pomysł OS. W Windowsie na przykład łatwy w użyciu GUI i duże zabezpieczenia są główną ideą.

4. Docelowa platforma procesora, którą twój system operacyjny będzie wspierał(...)
O tym wiem, ale chciałbym wiedzieć jak wygląda takie programowanie systemu operacyjnego w praktyce. Chodzi o samo programowanie, bo przecież w code blocks'ie tego nie napiszę. Dowiedziałem się tu jedynie jakie języki będą mi potrzebne.

: 14 stycznia 2016, 16:37
autor: Yampress
żeby napisać system trzeba jeszcze o wiele więcej umieć i mieć mnóstwo wolnego czasu.

: 14 stycznia 2016, 17:47
autor: Eliro
To może zrób mi listę rzeczy, które muszę umieć, a ja krok po kroku nauczę się tego.

: 14 stycznia 2016, 18:04
autor: mike26
Pamiętam dwa lata przede mną na studiach był chłopak który chciał napisać własny system, profesorowie pomagali mu ale raczej mu się nie udało ;(
Jeśli chodzi o ciebie, chcesz system do sterowania robotami tak więc Assembler i C.
Od razu mowie, że w luj z tym roboty.
Co to za robot?

: 18 stycznia 2016, 12:24
autor: Eliro
A może mnie ktoś naprowadzić jak wygląda tworzenie od strony praktycznej takiego kodu systemu operacyjnego? Jakieś przykładowe fragmenty kodu? Najlepiej tego na początku.

: 18 stycznia 2016, 12:30
autor: dedito
Proszę bardzo -> https://www.kernel.org/