foregår typisk via en database, fx Redis, som ofte skal køre i et cluster. 3. Heartbeating kan udgøre en væsentlig mængde trafik og kræve flere ressourcer end selve beskederne, der bliver sendt frem og tilbage. 1. Publish-subscribe kræver ofte en vis mængde systemressourcer. 4. Publish-subscribe er ofte implementeret via WebSockets, men mange firewalls tillader ikke protokollen.
network. The network contains three types of entities: supernodes, ordinary nodes, and the login server. Previously, any client with good bandwidth, no restrictions due to firewall or NAT, and adequate processing power could become a supernode. In 2012, Microsoft altered the design of the network, and brought all supernodes under their control as hosted servers in data centres.
eller slet ikke sker. Den kan sørge for at modtage beskeder og sende dem videre til behandling både en-efter-en og parallelt for bedre udnyttelse af ressourcer på tværs af netværk. En message queue skaber løs kobling mellem applikationer. Den skaber asynkronitet og sikrer atomicitet.
Kernen er en slags koordinator, der sørger for at programmer kan få adgang til processoren, at der kan gemmes data i hukommelsen og så videre. Kernen sørger fx for virtuel adressering af hukommelse, så programmer ikke behøver kende til og tage hensyn til hinanden under afvikling.
must be exceptionally careful to ensure that your code does not cause the system to crash, does not provide any unauthorized user access to someone else’s files or memory, does not introduce remote or local root exploits, and does not cause inadvertent data loss or corruption. Kernel programming is a black art that should be avoided if at all possible.
computer med x86-arkitektur. Ved opstart bliver kernen indlæst i hukommelsen af en boot loader. Så starter den og indtræder i protected mode, hvor den kan bruge virtuel adressering mv. BIOS MBR Boot loader Kernen starter real address mode
En proces er en instans af noget, der bliver afviklet. En proces har en mængde ressourcer til rådighed og har mulighed for at afvikle tråde og andre processer. Bemærk: når en proces starter en anden proces, så bliver den proces gaflet. Den nedarver sin forælders omgivelser, men får tildelt en separat plads i hukommelsen.
som en proces kan bruge til at afvikle en instruktion. En tråd deler hukommelsesområde med sin proces og er afhængig af selvsamme. En proces har altid som minimum én tråd. En tråd kan fx indeholder en instruktion om at dividere to tal, som kernen så kan udføre - resultatet kommer derefter tilbage i processen.
fordi flere systemer kan køre på én server. Virtualisering er en form for distribuering af et system, der giver mulighed for afvikling af enten delvist afhængige eller uafhængige miljøer. Udnyttelsen af ressourcer på en computer - altså CPU, RAM og så videre - er ofte ikke effektiv over tid, hvorfor det giver mening at virtualisere på den ene eller anden facon.
den mest simple form for scheduling, hvor instruktioner afvikles i den rækkefølge, som de modtages i. Shortest-Remaining-Time afvikler instruktioner, der tager kortest tid, først. Det kan resultere i starvation af længerevarende processer. Round-Robin giver alle instruktioner en del af den samlede CPU- tid. Hvis en instruktion ikke når at blive færdig indenfor tidsrammen, så går turen videre til den næste.