Miesiąc temu Hans-Joerg Frieden opisywał biblioteki z AmigaOS 4, a w tym miesiącu jego brat Tomasz Frieden prezentuje w jaki sposób kernel ExecSG podchodzi do obsługi pamięci. Dla członków "Amiga Club" dostępny jest ponadto wrześniowy numer magazynu CAM.
Dodano: 2003-09-10 00:00, Autor: kb, Kategoria: AmigaOS, Liczba wyświetleń: 4057
ExecSG - obsługa pamięci
- Discord (online: ) «»
-
Online: 14
- AmiKit
- Archi-TECH
- Cizar
- IMPBot
- juen
- Laubzega
- m...
- MaaG^dA
- Marek_B
- Nightmare777
- Patu
- spazma
- SZAMAN
- ZeeWolf
-
komentarz #1 wysłany: brak daty
Na początku ładny opis starego execa, potem opisał, że teraz będzie lepiej ale jak co do czego to i tak nie napisał co jest zrobione
Ciekawe czy pozbędą się w końcu MEMF_CHIP - w końcu na A1 tego nie będzie a i teraz obsługę custom chipów wymagających CHIPu można (IMHO) zrzucić na odpowiednie device (np. paula_audio.device , które jako uprzywilejowane z faktu bycia częścią systemu miałyby do niego dostęp.
Majaczę?
-
komentarz #2 wysłany: brak daty
Dużo ciekawostek, zero konkretów, nie licząc pamięci wirtualnej, ale to mieliśmy już w OS 3.x poprzez łatki (GigaMem, VMM). Zobaczymy jak sobie poradzą z separacją przestrzeni adresowych aplikacji bez łamania kompatybilności.
-
komentarz #3 wysłany: brak daty w odpowiedzi na komentarz #2
Jak to jak? Każą poprawić i przekompilować programy
-
komentarz #4 wysłany: brak daty w odpowiedzi na komentarz #3
w os-x sie dalo
opis ladny, plan ambitny.
co do kompatybilnosci zgaduje, ze shared mem bedzie nieswapowalna, niemapowalna etc, w realnej przestrzeni, a tylko appsy dla os4 beda mogly dostac pamiec w wirtualnej przestrzeni.
a wracajac do realiow to na MDC zaczela sie pojawiac zgrabna dokumentacja. streamowo-filtrowo-codecowy system datatypow zapowiada sie na godny os4 :]
jak narazie to mplayer rzadzi. ciekawe kiedy bedzie mozna pornole streamowac przez datatypes? )
-
komentarz #5 wysłany: brak daty w odpowiedzi na komentarz #4
Tak, tylko spróbuj nauczyć system, żeby umiał zgadnąć, że program, który żąda MEMF_ANY w rzeczywistości chciałby MEMF_PUBLIC.
-
komentarz #6 wysłany: brak daty w odpowiedzi na komentarz #5
/* exec memory types redefinions for AmigaOS4 */ #define MEMF_ANY MEMF_PUBLIC i jedziemy - stara MEMF_ANY dostaje wartość MEMF_PUBLIC a na potrzeby nowego softu wprowadzamy więcej flag. Przez to program z AmigaOS <4 żadając MEMF_ANY dostaje MEMF_PUBLIC - kwestia przemapowania typów pamięci w exec.library/memory_functions.
-
komentarz #7 wysłany: brak daty w odpowiedzi na komentarz #6
Taaa... i świetnie to zadziała na już skompilowane programy...
-
komentarz #8 wysłany: brak daty w odpowiedzi na komentarz #7
Jeśli program binarny chce dostać MEMF_ANY to ustawia to przy wywołaniu funkcji alokującej pamięć.
W AmigaOS3 mamy coś w tym stylu (nie pamiętam i nie mam includów pod ręką):
#define MEMF_PUBLIC 4
#define MEMF_FAST 2
#define MEMF_CHIP 1
#define MEMF_ANY 0
Funkcja AllocMem sprawdza jaki typ pamięci dostała jako parametr i odpowiednio na to reaguje. Jeśli w AmigaOS4 jej odpowiednik będzie wiedzieć, że wartość 0 (czyli stare MEMF_ANY) ma oznaczać to samo co 4 (czyli stare MEMF_PUBLIC) to programy już skompilowane będą działały poprawnie. Na potrzeby programów z AmigaOS4 i tak przecież kilka nowych flag dojdzie więc nowe programy będą używać np. MEMF_ANY_MEM a wartość MEMF_ANY będzie mieć tą samą wartość co MEMF_PUBLIC:
#define MEMF_SHARED 16
#define MEMF_ANY_MEM 8
/*
for compatibility with AmigaOS <4 software - do not use in new code
*/
#define MEMF_PUBLIC 4
#define MEMF_FAST 2
#define MEMF_CHIP 1
#define MEMF_ANY 4
-
komentarz #9 wysłany: brak daty w odpowiedzi na komentarz #8
No tak, jeżeli nie będą próbować używać obecnie istniejących flag w nowym kodzie, a stare zmapować na nowe flagi na tyle ile się da, to ma to szanse powodzenia. Tylko, że to już powinno dać się łatwo sprawdzić, na obecnym AmigaOS4.0 68k. Jeżeli tego w nim nie ma, to znaczy, że już zaczęli pisać AmigaOS4 niekompatybilny z istniejącym AmigaOS4
- Discord
-
Online: 14
- AmiKit
- Archi-TECH
- Cizar
- IMPBot
- juen
- Laubzega
- m...
- MaaG^dA
- Marek_B
- Nightmare777
- Patu
- spazma
- SZAMAN
- ZeeWolf
- Menu
- Baza wiedzy
- Simon's Podcast
-
- #11: jak kot w smole
25-07 czas: 22 min - #10: kodowanie upadku
10-07 czas: 33 min - #9: infantylny Mefisto
26-06 czas: 26 min
- #11: jak kot w smole
- Najpopularniejsze