Sida 1 av 1

Mina gamla synder....

Postat: 28 apr 2022, 12:37
av Osprey
Mina gamla synder...

Jag började en gång i tiden med Un*x System V, långt innan Linux fanns. Men sedan hamnade jag under många år inom VAX/VMS, som för den delen är ganska likt Un*x och Linux.

Däremot är VMS (VAX/VMS och OpenVMS) mycket mer enhetligt än Linux (och Un*x), fast de smarta sakerna man kan åstadkomma med "awk" och "sed" finns inte där och "DCL" är klart bökigare än "bash".

Det jag däremot saknar mest i Linux, är att Linux inte har "AST:ar" som VMS däremot har. En "AST" (Asynchrous Trap Control) innebär att man kan säga till operativet att när något visst händer (man själv bestämmer vilket), så ska operativet anropa en viss funktion...

Vanligast är väl SYS$QIO (queue I/O) som väl närmast motsvaras av "read/write" i Linux. I VMS lägger man ut en QIO med READVBLK (read virtual block) mot nätet och anger vad som ska anropas när det finns något att läsa. I Linux däremot måste man ligga och "polla" den socket man har skapat....

Mycket bra i Linux, men inte allt.....
VMS

Re: Mina gamla synder....

Postat: 28 apr 2022, 13:46
av Osprey
Det vanligaste i VMS är väl då att man deklarerar upp ett antal händelser och vad systemet ska göra när de inträffar. De är lätt att göra i VAX/VMS och OpenVMS, men Linux har ännu inte något stöd för det. Kass...

Re: Mina gamla synder....

Postat: 28 apr 2022, 14:00
av Osprey
Det hade varit ganska lätt att lägga in stöd för AST:ar i "schedulern" i Linux också... Varför har ingen gjort det..??

Re: Mina gamla synder....

Postat: 28 apr 2022, 14:07
av Osprey
I VMS kunde man t.ex anropa SYS$QIO som antingen SYS$QIOW ("W" står för wait) eller också bara SYS$QIO, där man fick ange en rutin/funktion som skulle anropas via en AST när det hände något....

Linux har bara typ SYS$QIOW, varken mer eller mindre än det.... :P

Re: Mina gamla synder....

Postat: 28 apr 2022, 14:09
av Osprey
Jo, jag vet att man kan ange en timeout för läsningar i Linux... men man kan inte ange något speciellt som ska hända när läsningen eventuellt fungerar.....

Re: Mina gamla synder....

Postat: 28 apr 2022, 15:21
av Osprey
I VMS anger man alltså vad man väntar på med SYS$anything och sedan anropar man SYS$HIBER, som innebär att man ligger och väntar tills det man efterfrågat, händer.... saknar den möjligheten i Linux.....

Den vore dock så enkel att lägga till i kärnan på Linux (schedulern)........