Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Pisanie Systemu Operacyjnego

Ostatnio zmodyfikowano 2009-01-06 21:02
Autor Wiadomość
DeBugger
Moje refleksje...
» 2008-12-22 10:03:19
Teraz ja chciałbym coś napisać - ciągle zdobywamy doświadczenie w programowaniu, jednakże trzeba mieć go dużo, aby napisać system własnoręcznie. Ja myślę, że około  8-12 lat doświadczenia w programowaniu trzeba mieć. Co do własnych binarek. Najlepiej zrobić tak - napisać własny kompilator do C/C++, pobrać kod źródłowy jakiegoś znanego, OpenSourcowego kompilatora(choćby gcc), skompilować go pod własnym kompilatorem, i już mamy 2. :P

Kontynuując o kompilatorze - można by "wbudować" tego własnego kompilatora do systemu, a także zainstalować (opcjonalnie) jakiś inny(np. wymieniony wyżej gcc).

Co do własnej inicjatywy pisania OSa. Ja chciałbym sam napisać OSa, jednakże mam jeszcze zbyt mało doświadczenia. Nie opierał on by się na jądrze Linuxa(ani innego systemu), ale jeżeli sam napisałbym OSa sobie, chciałbym poprosić o włączenie go do inicjatywy OpenSource, aby był Linuxem(choć nie korzystałbym z żadnych Linuxowych komponentów). NAPISAŁBYM obsługę znanych rodzaji pakietów(np. .rpm, .deb), jednakże od podstaw, nie korzystając z niczego.
P-2889
Proxym
» 2008-12-23 00:30:56
Hmm... Co do kompilatora to bierze się kody źródłowe np. gcc (ale są jeszcze inne nie zapominajmy) i robimy port do swojego system. Po co pisać swój OS ? Chcecie pokazać że umieć może lepiej wspomóc inny projekt amatorskiego os'a np. Idyllaos (http://idyllaos.org) i do tego polskiego ^^.
Pozdrawiam
P-2902
DejaVu
» 2008-12-23 02:25:08
Cóż... faktem jest, że roboty jest dużo... bardzo dużo. Tak sobie myślę, że jakbym miał zaczynać pisać system operacyjny, to najpierw napisałbym prosty i wygodny edytor tekstowy pod konsolę na początek działający pod linuxem. Potem pewnie pokusiłbym się o zrobienie środowiska tekstowego dla C++ działającego również pod Linuxem. Dopiero po napisaniu tych dwóch rzeczy mógłbym myśleć o pisaniu własnego OS'a, z którym będzie znacznie więcej roboty niż z tymi dwoma programami. Tak wogóle jak się teraz zastanawiam to myślę, że najpierw zrobiłbym listę programów, które byłyby mi potrzebne w moim systemie. Myślę też, że po przeanalizowaniu wszystkich za i przeciw... doszedłbym do wniosku, że lepiej będzie napisać własny interfejs graficzny pod Linuxa, a pisanie systemu bym sobie odpuścił, bo w końcu Linux jest dobrym system operacyjnym, tylko drażniące są jego interfejsy graficzne (bynajmniej dla mnie). Zważywszy na możliwości jakie daje Linux na dzień dzisiejszy myślę, żyłoby to najrozsądniejszym posunięciem programistycznym.

Faktem jest, że jeśli chciałbym pracować pod jakimś systemem operacyjnym chciałbym mieć możliwość korzystania z internetu w trybie graficznym. Między rozpoczęciem pisania systemu, a napisaniem przeglądarki Internetowej i trybu graficznego we własnym systemie operacyjnym jest ogromna przepaść czasowa i w tym miejscu mógłbym powiedzieć 'stałem się człowiekiem, który wyłącza się z życia publicznego na kilka lat wybierając tą drogę i chcąc ją zrealizować'. Przez te kilka lat można znacznie lepiej wykorzystać swój potencjał programistyczny (nawet jeśli się go początkowo nie ma zbyt wielkiego). Przykładem może być pisanie chociażby artykułów - licząc, że byłbyś w stanie napisać 25 artykułów rocznie poświęconych programowaniu i z nowych technologii/bibliotek które poznałeś, to po przypuścmy 4 latach masz 100 artykułów na koncie, każdy artykuł opracowywałeś 2 tygodnie więc masz dużą wiedzę na temat każdego z nich i co więcej masz co wpisać sobie w CV'ke - znajomość bibliotek: (tutaj pewnie z lista 12 bibliotek na dzieńdobry), no i parę wzorców projektowych byś też zapewne podłapał.

Innymi słowy: chcesz pisać system operacyjny - dostań pracę w Microsofcie w odpowiednim dziale ;) Osoby, które zabierają się za pisanie systemu operacyjnego i z jakimiś sensownymi efektami są prawdopodobnie już ustatkowane finansowo (mają pracę), mają rodzinę i robią to hobbystycznie bo chcą porobić coś innego niż to co na codzień ma w pracy.

Na koniec chcę dodać, że to tylko moja opinia i możecie się z nią niezgadzać, jednak jakieś idee zapewne dostrzeżecie w tym co napisałem tu :)
P-2903
lynx
Temat założony przez niniejszego użytkownika
» 2008-12-23 18:25:24
Tutaj daje link do kernela Linux. Można sobie pobrać i analizować. :) Polecam stare wersje ( ftp://ftp.kernel.org/pub/linux/kernel/Historic/ ), ponieważ są krótsze skutkiem czego prostsze do analizowania.
P-2905
GoldWolf
» 2008-12-25 10:11:29
O razu jak przeczytałem temat, nasunęło mi się by skorzysta z karnela linuksa. Chociaż doświadczenia mam żadne w temacie to jednak lepiej jest skorzystać już z bardzo dobrego rozwiązania i rozwinąć go w swoją stronę.

Chociaż jestem przeciwny powstania kolejnej dystrybucji linuksa, jest już ich tak wiele, że po prostu syf się zrobił. Dlatego linuks dalej jest w miejscu jak przed powstaniem, bo każdy kto tylko się obraził na jakąś dystrybucje tworzy swoją co pokazuje nam obecny rozwój tego systemu. I zamiast się rozwijać to stoi w miejscu. Ludzie powinni się skupić na 2-3 dystrybucjach i maksymalnie je dopieścić.

Sama idea systemu może nie jest zła, ale jeżeli chce się coś zrobić tylko dla lub pod siebie to nie ma to najmniejszego sensu, szkoda po prostu czasu.
P-2964
marvolo
» 2009-01-06 21:02:38
@Piotr Szawdyński:
To tak, jakbyś zamierzał od razu zainstalować pierwszą wersję swojego OSa na własnym komputerze i pisać go dalej z tego poziomu. Jakby nie było QEMU czy tym podobnych programów...

Osobiście, jeżeli ktoś chce się nauczyć assemblera pod kątem pisania OSa, to polecam zapoznać się z MikeOS - ładnie opisany, dość krótki kod. Można się dużo nauczyć. Jest (dla niektórych - niestety) po angielsku.
P-3496
1 « 2 »
Poprzednia strona Strona 2 z 2