Förebyggande multitasking

Preemptive multitasking ( priority multitasking , engelska  preemptive multitasking , literally preemptive multitasking ) är en typ av multitasking där operativsystemet bestämmer sig för att växla mellan uppgifter efter ett visst tidskvantum [1] .

Funktioner

Beslutet fattas i enlighet med uppgifternas prioriteringar. Till skillnad från kooperativ multitasking överförs kontrollen till operativsystemet oavsett tillståndet för körande applikationer, på grund av vilket, i synnerhet, hängda (till exempel loopade ) applikationer, som regel, inte "hänger" operativsystemet. Regelbundet byte av uppgifter förbättrar också systemets lyhördhet , effektiviteten av att frigöra systemresurser som inte längre används av uppgiften [1] [2] .

Vid implementering skiljer sig förebyggande multitasking från kooperativ multitasking, i synnerhet genom att det kräver bearbetning av ett systemavbrott från en hårdvarutimer [ 3] . Efter att tidskvantumet för processen har löpt ut, inträffar ett avbrott och processschemaläggaren anropas . Frekvensen av att anropa schemaläggaren är avgörande: att ringa den för ofta kommer att slösa CPU-tid.

Stöd i operativsystem

Förebyggande multitasking används i de flesta moderna generella operativsystem [4] , till exempel: Windows 9x och NT [5] , Linux (och andra UNIX ) [6] och OS/2 [7] , [8] Mac OS [9 ] [10] och BeOS [11] , MenuetOS och KolibriOS [12] . Ett exempel på ett förebyggande multitasking-system tidigare än UNIX är VMS [13] . Det används också i många inbäddade realtidsoperativsystem som FreeRTOS [ 14] .

Se även

Anteckningar

  1. ↑ 1 2 Dorot Vyacheslav Leonidovich. Förebyggande multitasking // Explanatory Dictionary of Modern Computer Vocabulary . - 3:e uppl. - BHV-Petersburg, 2004. - S. 143. - 608 sid. — ISBN 978-5-94157-491-9 .
  2. Hailperin, 2007 , sid. 37.
  3. Hailperin, 2007 , sid. 37-38.
  4. Alexey Belokopytov. Modern informationsteknik: en studieguide . — Liter, 2016-01-02. - S. 6. - 173 sid. — ISBN 9785457413658 .
  5. Yuri Abramovich Shchupak. Multitasking // WIN32 API: Windows Application Development . - Förlaget "Peter", 2008-07-14. - S. 17-18. — 592 sid. — ISBN 978-5-388-00301-0 . Arkiverad 15 september 2016 på Wayback Machine
  6. Raymond, 2005 , 3.1.2. Multitasking-stöd, sid. 81.
  7. Raymond, 2005 , 3.2.3. OS/2, sid. 92.
  8. Alexander Vladimirovich Gordeev. Planering och schemaläggning av uppgiftsprocesser // Operativsystem: [i riktning mot förberedelser. "Informatik och datateknik" ]. - Förlaget "Peter", 2009. - S. 57. - 417 sid. — ISBN 9785947236323 . Arkiverad 15 september 2016 på Wayback Machine
  9. Detta gäller för moderna versioner, från och med OS X, det "klassiska" Mac OS implementerade icke-förebyggande multitasking (se t.ex. Raymond, 2005 , 3.2.2. Mac OS, s. 91
  10. Pavel Urusov. Rutna äpplen. Värsta Apple-produkterna . gagadget.com (5 februari 2015). Hämtad 1 september 2016. Arkiverad från originalet 15 september 2016.
  11. Historik om operativsystemet BeOS  // Hacker. - 2013. - Nr 10 . Arkiverad från originalet den 26 augusti 2016.
  12. Sergey Kuzmin. Det nya ansiktet för Menuet OS . comprice.ru (15 december 2004). Hämtad 1 september 2016. Arkiverad från originalet 13 oktober 2016.
  13. Raymond, 2005 , 3.2.1. VMS, sid. 89.
  14. Kormanyos, 2015 , sid. 196-197.

Litteratur