Thread View: pl.comp.lang.asm
15 messages
15 total messages
Started by TheVoid
Fri, 22 Jan 2010 16:56
planista w 16-bitowym OS?
Author: TheVoid
Date: Fri, 22 Jan 2010 16:56
Date: Fri, 22 Jan 2010 16:56
11 lines
1713 bytes
1713 bytes
Witam. Czy zdarzały się dawniej 16-bitowe systemy operacyjne działające w trybie rzeczywistym, które miały zaimplementowany (nawet najprostszy) algorytm szeregowania zapewniający wielozadaniowość? Jeśli tak, to proszę o wymienienie nazwy choćby jednego. Jeśli nie, to proszę o podanie przyczyny, z powodu której taki OS nie powstał lub nie mógł powstać (np. 1 MB pamięci nie wystarczyło na realizację takiego pomysłu lub brakowało wsparcia ze strony procesora w postaci odpowiednich instrukcji). Pozdrawiam.
Re: planista w 16-bitowym OS?
Author: minięty czas
Date: Sat, 23 Jan 2010 05:41
Date: Sat, 23 Jan 2010 05:41
23 lines
2302 bytes
2302 bytes
onegdaj ‟TheVoid” rzecze:
> Czy zdarzały się dawniej 16-bitowe systemy operacyjne działające w
> trybie rzeczywistym, które miały zaimplementowany (nawet najprostszy)
> algorytm szeregowania zapewniający wielozadaniowość? Jeśli tak, to
> proszę o wymienienie nazwy choćby jednego. Jeśli nie, to proszę o
> podanie przyczyny, z powodu której taki OS nie powstał lub nie mógł
> powstać (np. 1 MB pamięci nie wystarczyło na realizację takiego pomysłu
> lub brakowało wsparcia ze strony procesora w postaci odpowiednich
> instrukcji).
nie znam historii, ale istniały rozszerzenia —chyba dzisiaj można
by je nazwać ‚bibliotecznymi’— ‟dosa”, a pominąwszy to co najbardziej
reklamowane, gdy historia zanika, to nie wiem, czy ‟uniksopodobne”
;-) były pisane na początku do tego trybu.
ale tzw. ‘schedulera’ nie nazwałbym planistą, bo nie każdy ‘schedu-
ler’ mógłby być nazwany planistą, a co najwyżej ‛zmieniarką’ (kojarzy
się ze śmieciarką, ale ta ostatnia nazwa potocznie jest używana w infor-
matyce ;-) ). planista to ktoś kto układa plan czegoś naprzód,
a nie tylko podejmuje decyzje na bieżąco.
--
qo |) CPL: cs[0..1] (ss[0..1]) p lvl of curr code!
_x/ , RPL: seg_sel[0..1] privilege lvl of seg_sel!
| ng __ -- __ -- __ -- __ -- __ -- __ -- __ -x86-,
,__ -- __ -- DPL: 2._word_of_seg_desc[13..14]:`f seg_desc ,
Re: planista w 16-bitowym OS?
Author: Wiktor S.
Date: Sat, 23 Jan 2010 21:50
Date: Sat, 23 Jan 2010 21:50
12 lines
1551 bytes
1551 bytes
> Jeśli nie, to proszę o podanie przyczyny, z powodu której taki OS nie > powstał lub nie mógł powstać (np. 1 MB pamięci nie wystarczyło na > realizację takiego pomysłu lub brakowało wsparcia ze strony procesora > w postaci odpowiednich instrukcji). Nie musi być żadnych "odpowiednich instrukcji". Co prawda, takie są w 16- i 32-bitowym trybie chronionym, ale w praktyce dzisiejsze systemy operacyjne z nich nie korzystają. Z tego powodu z architektury x86-64 nawet USUNIĘTO sprzętową obsługę wielozadaniowości. -- Azarien
Re: planista w 16-bitowym OS?
Author: TheVoid
Date: Sun, 24 Jan 2010 13:43
Date: Sun, 24 Jan 2010 13:43
12 lines
1846 bytes
1846 bytes
> Nie musi być żadnych "odpowiednich instrukcji". Co prawda, takie są w 16- i > 32-bitowym trybie chronionym, ale w praktyce dzisiejsze systemy operacyjne z > nich nie korzystają. Z tego powodu z architektury x86-64 nawet USUNIĘTO > sprzętową obsługę wielozadaniowości. > > -- > Azarien Zatem wnioskuję, że jest możliwe napisanie OS w trybie rzeczywistym, który miałby prostą obsługę wielozadaniowości. Domyślam się, że w takim wypadku wystarczy skorzystać z przewania zagara i robić software'owe context/task switch'e.
Re: planista w 16-bitowym OS?
Author: Michoo
Date: Sun, 24 Jan 2010 13:52
Date: Sun, 24 Jan 2010 13:52
17 lines
1597 bytes
1597 bytes
TheVoid pisze: > > Zatem wnioskuję, że jest możliwe napisanie OS w trybie rzeczywistym, > który miałby prostą obsługę wielozadaniowości. Domyślam się, że w > takim wypadku wystarczy skorzystać z przewania zagara i robić > software'owe context/task switch'e. TSR pod dosem tak działały - pisałeś position-independent code ładowałeś wskaźnik pod przerwanie zegarowe i już - wszystkie TSR'y uruchamiały się w fifo co takt. "Prawdziwe" niezależne zadania da się uzyskać dopiero gdy procesor oferuje tryb chroniony. Bez tego ktoś może nadpisać wektor przerwań i po wielozadaniowości. -- Pozdrawiam Michoo
Re: planista w 16-bitowym OS?
Author: Wiktor S.
Date: Sun, 24 Jan 2010 15:44
Date: Sun, 24 Jan 2010 15:44
10 lines
1350 bytes
1350 bytes
> "Prawdziwe" niezależne zadania da się uzyskać dopiero gdy procesor > oferuje tryb chroniony. Bez tego ktoś może nadpisać wektor przerwań i > po wielozadaniowości. Wiesz, w 32-bitowym Windows, jak się bardzo uprzesz, też możesz nadpisać wszystko z tablica GDT włącznie. -- Azarien
Re: planista w 16-bitowym OS?
Author: Wojciech Muła
Date: Sun, 24 Jan 2010 16:12
Date: Sun, 24 Jan 2010 16:12
12 lines
1452 bytes
1452 bytes
"Wiktor S." <wswiktor&poczta,fm@no.spam> wrote: > > "Prawdziwe" niezależne zadania da się uzyskać dopiero gdy procesor > > oferuje tryb chroniony. Bez tego ktoś może nadpisać wektor przerwań i > > po wielozadaniowości. > > Wiesz, w 32-bitowym Windows, jak się bardzo uprzesz, też możesz nadpisać > wszystko z tablica GDT włącznie. Ale nie zrobisz tego przypadkiem i z poziomu zwykłej aplikacji. w.
Re: planista w 16-bitowym OS?
Author: TheVoid
Date: Mon, 25 Jan 2010 15:12
Date: Mon, 25 Jan 2010 15:12
11 lines
1874 bytes
1874 bytes
> Jak ktoś się uprze to często i tak może coś zrobić. A na procesory bez > żadnego trybu chronionego jak najbardziej były tworzone systemy > wielozadaniowe i to z wydziedziczaniem -- choćby Minix (na PCty) albo > (starszy) Amiga OS. Dzięki. Minix będzie zatem obiektem moich badań. Jescze pytanko. Czy ktokolwiek z Was, kto używał Minixa uważa ten system za wolny (w sensie prędkości)?
Re: planista w 16-bitowym OS?
Author: Sebastian Kaliszewski
Date: Mon, 25 Jan 2010 15:49
Date: Mon, 25 Jan 2010 15:49
28 lines
2313 bytes
2313 bytes
Michoo wrote: > TheVoid pisze: >> >> Zatem wnioskuję, że jest możliwe napisanie OS w trybie rzeczywistym, >> który miałby prostą obsługę wielozadaniowości. Domyślam się, że w >> takim wypadku wystarczy skorzystać z przewania zagara i robić >> software'owe context/task switch'e. > TSR pod dosem tak działały - pisałeś position-independent code ładowałeś > wskaźnik pod przerwanie zegarowe i już - wszystkie TSR'y uruchamiały się > w fifo co takt. > > "Prawdziwe" niezależne zadania da się uzyskać dopiero gdy procesor > oferuje tryb chroniony. Bez tego ktoś może nadpisać wektor przerwań i po > wielozadaniowości. Jak ktoś się uprze to często i tak może coś zrobić. A na procesory bez żadnego trybu chronionego jak najbardziej były tworzone systemy wielozadaniowe i to z wydziedziczaniem -- choćby Minix (na PCty) albo (starszy) Amiga OS. Bez wydziedziczania (kooperatywny multitasking) to w trybie rzeczywistym choćby Windows 3.0 działały. \SK -- "Never underestimate the power of human stupidity" -- L. Lang -- http://www.tajga.org -- (some photos from my travels)
Re: planista w 16-bitowym OS?
Author: Piotr Wyderski
Date: Thu, 28 Jan 2010 11:42
Date: Thu, 28 Jan 2010 11:42
11 lines
1528 bytes
1528 bytes
Sebastian Kaliszewski wrote:
> Jak ktoś się uprze to często i tak może coś zrobić. A na procesory bez
> żadnego trybu chronionego jak najbardziej były tworzone systemy
> wielozadaniowe i to z wydziedziczaniem -- choćby Minix (na PCty) albo
> (starszy) Amiga OS.
Jak i chyba większość starszych komórek. :-)
Pozdrawiam
Piotr Wyderski
Re: planista w 16-bitowym OS?
Author: Piotr Wyderski
Date: Thu, 28 Jan 2010 11:44
Date: Thu, 28 Jan 2010 11:44
9 lines
1403 bytes
1403 bytes
Wiktor S. wrote:
> Wiesz, w 32-bitowym Windows, jak się bardzo uprzesz, też możesz nadpisać
> wszystko z tablica GDT włącznie.
To było możliwe tylko w serii 9x.
Pozdrawiam
Piotr Wyderski
Re: planista w 16-bitowym OS?
Author: Wiktor S.
Date: Fri, 29 Jan 2010 10:41
Date: Fri, 29 Jan 2010 10:41
11 lines
1332 bytes
1332 bytes
>> Wiesz, w 32-bitowym Windows, jak się bardzo uprzesz, też możesz >> nadpisać wszystko z tablica GDT włącznie. > > To było możliwe tylko w serii 9x. Nie? Sterowniki trybu jądra działają w ring 0. -- Azarien
Re: planista w 16-bitowym OS?
Author: Jacek Karas
Date: Tue, 09 Feb 2010 10:55
Date: Tue, 09 Feb 2010 10:55
16 lines
1647 bytes
1647 bytes
TheVoid <lasmar@o2.pl> wrote: : Witam. : Czy zdarzały się dawniej 16-bitowe systemy operacyjne działające w : trybie rzeczywistym, które miały zaimplementowany (nawet najprostszy) : algorytm szeregowania zapewniający wielozadaniowość? : Jeśli tak, to proszę o wymienienie nazwy choćby jednego. : Jeśli nie, to proszę o podanie przyczyny, z powodu której taki OS nie : powstał lub nie mógł powstać (np. 1 MB pamięci nie wystarczyło na : realizację takiego pomysłu lub brakowało wsparcia ze strony procesora : w postaci odpowiednich instrukcji). Lata 90-te XX w. Multi-T. Pelna wielozadaniowosc - napisany w Australii. Uzywany w Polsce, bardzo jak na te czasy ciekawa "konstrukcja". Pozdrawiam j.Karas
Re: planista w 16-bitowym OS?
Author: Andrzej Grażyński
Date: Sat, 13 Mar 2010 16:04
Date: Sat, 13 Mar 2010 16:04
19 lines
1927 bytes
1927 bytes
TheVoid pisze: > Witam. > Czy zdarzały się dawniej 16-bitowe systemy operacyjne działające w > trybie rzeczywistym, które miały zaimplementowany (nawet najprostszy) > algorytm szeregowania zapewniający wielozadaniowość? > Jeśli tak, to proszę o wymienienie nazwy choćby jednego. > Jeśli nie, to proszę o podanie przyczyny, z powodu której taki OS nie > powstał lub nie mógł powstać (np. 1 MB pamięci nie wystarczyło na > realizację takiego pomysłu lub brakowało wsparcia ze strony procesora > w postaci odpowiednich instrukcji). > > Pozdrawiam. Podstawowa przyczyna,dla której taki system nie powstał: program działający w Realmode mógłby bardzo łatwo (nawet wbrew intencji autora) sparaliżować działanie planisty, np. blokując przerwania (CLI), mieszając po ekranie itd. A skoro program mogł zmonopolizować zarządzanie komputerem, to lepiej było pozwolić mu zrobić co chce, bez wywłaszczania sterowania i właśnie dlatego wymyślono wielozadaniowość kooperatywną.
Re: planista w 16-bitowym OS?
Author: TheVoid
Date: Tue, 23 Mar 2010 12:37
Date: Tue, 23 Mar 2010 12:37
16 lines
2324 bytes
2324 bytes
On 13 Mar, 17:04, Andrzej Grażyński <grazy...@petex.com.pl> wrote: > Podstawowa przyczyna,dla której taki system nie powstał: program > działający w Realmode mógłby bardzo łatwo (nawet wbrew intencji autora) > sparaliżować działanie planisty, np. blokując przerwania (CLI), > mieszając po ekranie itd. A skoro program mogł zmonopolizować > zarządzanie komputerem, to lepiej było pozwolić mu zrobić co chce, bez > wywłaszczania sterowania i właśnie dlatego wymyślono wielozadaniowość > kooperatywną. Można by wtedy stworzyć kod, który przejąłby przerwanie INT 3, włączył tryb pracy TRAP, czyli krokowy i analizował każdą następną instrukcję, którą chce wykonać program (czywiście z pewnymi wyjątkami). Prawdopodobnie wydajność takiego systemu byłaby totalnie niska, bo na każdą jedną instrukcję programu mogłoby przypadać dziesiątki lub setki instrukcji weryfikujących jej poprawność, ale mógłby to być całkiem bezpieczny system - taki Master Control Program :D
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads