Operativsystemet (OS) interagerar med program på flera viktiga sätt, främst genom en uppsättning tjänster och mekanismer som gör det möjligt för program att köra och få tillgång till systemresurser. Dessa interaktioner kan i stort sett kategoriseras:
1. Processhantering:
* skapande och uppsägning: OS ansvarar för att skapa nya processer (instanser av att köra program) och säga upp dem när de är färdiga eller möter fel. Detta innebär att tilldela resurser som minne och tilldela ett process -ID.
* schemaläggning: OS:s schemaläggare bestämmer vilken process som ska använda CPU vid varje given tidpunkt, hantering av exekveringstidsskivor för att låta flera program köras samtidigt (även på en enkärnig processor genom tidsskivning).
* Kontextväxling: När schemaläggaren växlar mellan processer sparar operativsystemet det aktuella tillståndet för en process (register, minnespekare etc.) och laddar tillståndet för nästa process. Detta möjliggör effektiv multitasking.
* Inter-Process Communication (IPC): OS tillhandahåller mekanismer (rör, uttag, delat minne, meddelandeköer) som låter olika processer kommunicera och utbyta data.
2. Minneshantering:
* allokering och DealLocation: OS fördelar minne till processer när de skapas och hanterar det när de är slut. Det hanterar virtuellt minne, vilket gör att processer kan komma åt mer minne än vad som är fysiskt tillgängligt genom att byta sidor till och från disken.
* Skydd: OS säkerställer att processer inte stör varandras minnesutrymmen och förhindrar kraschar och säkerhetssårbarheter. Detta är avgörande för stabilitet och säkerhet.
* Sökning och segmentering: Dessa tekniker gör det möjligt för operativsystemet att effektivt hantera minnet och dela upp det i mindre, hanterbara enheter.
3. Filsystemhantering:
* Filåtkomst: Program begär åtkomst till filer via systemsamtal. OS hanterar att hitta filerna på disken, hantera åtkomstbehörigheter och överföra data mellan programmet och disken.
* Kataloghantering: OS hanterar organisationen av filer och kataloger i filsystemet.
* filmetadata: OS upprätthåller metadata om filer (storlek, skapande datum, behörigheter etc.).
4. Input/Output (I/O) Hantering:
* enhetsdrivare: OS använder enhetsdrivrutiner för att kommunicera med hårdvaruenheter (tangentbord, mus, diskenheter, nätverksgränssnitt). Program interagerar med operativsystemet, som i sin tur interagerar med förarna för att utföra I/O -operationer.
* buffring: OS använder ofta buffertar för att förbättra I/O -effektiviteten och överföra data i större bitar.
5. Systemsamtal:
Detta är det primära gränssnittet mellan ett program och OS. Systemsamtal görs av ett program till OS för specifika tjänster. Dessa förfrågningar hanteras vanligtvis av OS -kärnan. Exempel inkluderar:
* `Open ()` - Öppna en fil.
* `Read ()` - Läs data från en fil eller enhet.
* `Skriv ()` - Skriv data till en fil eller enhet.
* `gaffel ()` - Skapa en ny process.
* `exit ()` - avsluta en process.
Mekanism:
Interaktionen inträffar vanligtvis genom ett väl definierat gränssnitt, som ofta involverar systemsamtal som åberopas genom programvaruavbrott eller fällor. När ett program behöver en OS -tjänst ringer det ett systemsamtal. OS -kärnan tar sedan kontrollen, kör den begärda tjänsten och returnerar kontrollen till programmet. Denna kontrollerade interaktion säkerställer systemstabilitet och förhindrar program från att direkt komma åt hårdvara eller andra processers resurser utan tillstånd.
Sammanfattningsvis fungerar OS som en mellanhand mellan program och den underliggande hårdvaran, vilket ger en stabil, säker och effektiv miljö för programutförande och resurshantering. OS hanterar alla detaljer på låg nivå och frigör program från att behöva hantera sådana komplexiteter.