System operacyjny!!!

0

Jestem w trakcie pisania systemu operacyjneo i mam już całkiem sporo, ale zatrzymałem się na pewnym drobiazgu (:P). MIanowicie chodzi o wielowątkowość. Generalnie wiem jak to zrobić, ale jednak tak nie do końca.

Chodzi o to że programy trzeba by ciąć na fragmenty kodu, wyniki wywalać do pamięci i tak w kółko. Ale jest kilka ale (:)):

-na jak duże części ciąć programy?
-jak wyłapać np skok do miejsca programu znajdującego się w innym kawałku kodu
-no w jaki sposób wykonać tylko część kodu programu?

0

Poczutaj intel processor's architecture, a bedziesz wiedział... poza tym instrukcje mozna ciac, ale tylko na małe fragmęty, odpowiadające buforowi komand w procesokru...

0

Nie wiem czy to dobry pomysł ale możesz wykorzystać przerwanie 1 lub 3 (dokładnie niepamietam). Otóż to przerwanie wykonuje się po każdej komendzie wykonanej przez procka.

0

nul po tym co napisales z tym cieciem progsow dla uzyskania wielowatkowosci to nie chce pytac jak zaimplementowales reszte tego OSa [diabel]
Read Podstawy Systemow operacyjnych Silberschatza.
To ciecie progsa to raczej stronicowanie pamieci ale na pewno nie wielowatkowosc - tu raczej chodzi o zmiane konteksu [diabel]

0

Albo mi się wydaje, albo nie wykonujesz części kodu, tylko część programu. Po pocięciu kodu na części, które miałyby wykonywać się w poszczególnych wątkach, nic nie mógłbyś uruchomić. Za to jak chodzi o sposoby odwoływania się do innych wątków, to chyba uchwyty byłyby najlepsze, albo pointery do konkretnego miejsca w pamięci. Tak czy siak, to nie sądzę, by jedna osoba była na prawdę w stanie stworzyć system operacyjny... Takimi projektami zajmują się olbrzymie grupy programistów i też im nie zawsze wychodzi (czyt: patrz Microsoft(R) ;) ). Co najwyżej możesz stworzyć nakładkę, taką jaką jest Windows 3.1x lub 9x (z tego co wiem, NT, ME 2k i XP są już osobnymi systemami operacyjnymi). W wątpliwość można też poddać (zakładając, że jednak tego dokonasz) wydajność takiego systemu, napisanego w języku wysokiego poziomu... (Chyba, że piszesz w Asm'ie lub czystym C). Nie chcę cię zniechęcać, ale sugeruję przemyśleć kontynuację tego projektu, żeby nie stracić za dużo pracy i czasu. Jeśli jednak zdecydujesz kontynuować, trzymam kciuki i życzę powodzenia (może wreszcie doczekamy się czasów, kiedy na większości komputerów na świecie chodzić będą inne systemy, niż te koncernu Microsoft... :-P ).
[dopisane do postu poniżej]
Tak, ale to chyba był ciut bardziej zaawansowany programista... poza tym samo jądro to nic... Z samym jądrem nie jesteś nawet w stanie odpalić linuxa, a co dopiero coś w nim robić... Korzysta on z masy programów i bibliotek dołączanych w trakcie pracy (w przeciwieństwie do Windowsa nie musisz przeresetowywać kompa przy instalacji nowego urządzenia, więcej - możesz odpowiednio wyłączyć odpowiednie kontrolery i nawet przykładowo podpiąć dysk w trakcie pracy). Oprócz tego domyślam się, że system ten był pisany w języku niskiego poziomu, jakim jest ASM, może częściowo w C.
[dopisane]
Wybacz radi, jeśli od tej rady robi ci się nie dobrze - chciałem dobrze. Nie o to chodzi, że chcę go zniechęcać, a to że stworzenie systemu operacyjnego jest trudne, to taka prawda i nikt tego nie zmieni. Nie napisałem, że nie da rady tego zrobić, bo znam osobę, która sama dla własnej przyjemności stworzyła sobie własny system operacyjny (ta osoba będzie wiedziała, o kogo chodzi, jak będzie chciała - niech się ujawni). Może nie miał ten system dużych możliwości, ale miał z tego satysfakcję i bardzo dobrze. Chodzi o to, że sam nie raz zabierałem się za coś, co przerastało moje możliwości i potem tego żałowałem - straciłem kupę czasu i wiary w siebie, w związku z czym chciałem ostrzec nula (chyba tak to się odmienia). Jeśli uważa, że ma szansę napisać coś porządnego (nie musi byc to system, który zdobędzie sławę, nawet na swój skromny użytek), to będzie z siebie dumny i jak napisze, że nu się udało, to ja będę się cieszył, że mogę z ludźmi o takich osiągnięciach dyskutować na jednym forum. Naprawdę mi przykro, że źle to odebrałeś - chciałem dobrze.

0

No nie wiem, Linus sam napisał jądro Linuxa

0

Bez urazy, ale po wypowiedzi Adama robi mi się niedobrze :-( Proszę mnie źle nie zrozumieć - dawanie takich "złotych" rad nikomu nie służy. Zawsze najłatwiej jest napisać, że coś jest trudne i nie warto tego robić. Osobiście, znam wielu takich ludzi, którzy dają takie rady bo najczęściej sami niewiele potrafią (nie podważam tym samym umiejętności Adama). Jedną z moich ulubionych wypowiedzi jest, cytuję "coś się psuje ? w takim razie najlepiej format c:" ...

//haha - skąd ja znam taką wypowiedź - dobrze powiedziane [browar] - m.M

0

No cóż taki widocznie Adam jest.

Ja tyż często daję rady, z tym że moje są nie przemyślane i często bez sensu :-D :-D :-D

Ale są :-)

[browar]

0

Ech. Wy tu się ort! na bzdurne tematy. System już działa i ma się nieźle nawet ma obsługe okien ale nie mogę odpalić wielowątkowości. Niestety widzę że tu nikt mi w tym nie pomoże. A to co pisasłem to była tylko sugestia, jak ktoś ma inny pomyśł to byłby wdzięczny

0

Bez urazy, ale po wypowiedzi Adama robi mi się niedobrze :-( Proszę mnie źle nie zrozumieć - dawanie takich "złotych" rad nikomu nie służy. Zawsze najłatwiej jest napisać, że coś jest trudne i nie warto tego robić. Osobiście, znam wielu takich ludzi, którzy dają takie rady bo najczęściej sami niewiele potrafią (nie podważam tym samym umiejętności Adama). Jedną z moich ulubionych wypowiedzi jest, cytuję "coś się psuje ? w takim razie najlepiej format c:" ...

//haha - skąd ja znam taką wypowiedź - dobrze powiedziane [browar] - m.M

//dopisane
W takim razie zgoda. Jak pisałem, nie miałem na zamiarze nikogo urazić ale ja sam mam wiele niemiłych doświadczeń związanych z "f(l)achowcami" :-) Rozumiem, o ci Ci chodziło Adam. Zgoda :-) A propos wielowątkowości : proponuję wejść na strone http://mega-tokyo.com/forum/ Co prawda, forum jest po angielsku, ale zostało stworzone do dyskusji o sostemach operacyjnych. Spróbuj nul.

0

Heh przeciez podalem ksiazke w ktorej jest wszystko na temat OS-ow zarowno wind jak i linuxow, nawet laik po przeczytaniu tej ksiazki zakuma czym jest wielowatkowosc.

0
  1. Nul... czy ten system jest OpenSource??? :d
  2. chciałbym zobaczyć efekty takiej pracy... opublikujesz to gdzieś?
  3. jak długo nad tym pracowałeś?
  4. jak długo zajmowałeś się programowaniem zanim zabrałeś się za robienie systemu operacyjnego?

Jeżeli to naprawdę działa... to podziwiam i gratuluję!

0

ad.1. System być może będzie Open Source, ale stanie się to nie wcześniej niż zostanie on ukończony
ad.2. na razie sory ale nic z tego za dużo roboty mnie to kosztowało żeby tak po prostu źródełko rozsyłać
ad.3.Już leci drugi rok z przerwami
ad.4.Programuję od 9 roku życia (to były początki) a mam 17. Łatwo policzyć :-P

0

to moze pokażesz jakieś screene, lub coś w tym rodzaju. Zademonstruj nam swoją prace niemusi być kodzik. Pozdrawiam

0

http://www.nondot.org/sabre/os/articles

tam masz wszystko... :d

0

Hej nul, od ostatniego posta minęło parę miesięcy, czy teraz mógłbyś już nam cos pokazać, chociaż małe demko, kawałek źródła, screena albo fragment dokumentacji?

0

ej no gdzie te screeny!!

coś ich nie widze :-8

0

Nie odgrzewajcie nieświeżych kotletów ;]

Jakby coś miał to na pewno sam by się z tym zgłosił.......

0

A pod jakim modem kodujesz (chronionym, rzeczywistym, Unreal itp.)? Pod RM mam jakis kod, ale wymaga drobnej zmiany w formacie pliku wykonywalnego.
KZ

// nul gdybyś chcial kontynuowac ten wątek, cos miał... daj znac ktoremus z moderatrorów, żeby odblokowali. dla wiadomości innych... nul nie zalogował się od 03-12-2003, więc bez sensu odgrzewać taki topic [mf]

1 użytkowników online, w tym zalogowanych: 0, gości: 1