logo

Tutorial del sistema operatiu

Un sistema operatiu (SO) és un programari que gestiona i gestiona els recursos de maquinari i programari d'un sistema informàtic. Proporciona interacció entre usuaris d'ordinadors i maquinari informàtic. Un sistema operatiu s'encarrega de gestionar i controlar totes les activitats i compartir els recursos informàtics. Un sistema operatiu és un programari de baix nivell que inclou totes les funcions bàsiques com la gestió del processador, la gestió de la memòria, la detecció d'errors, etc.

Aquest tutorial del sistema operatiu cobrirà tots els conceptes bàsics per avançar del sistema operatiu com l'estructura del sistema, la planificació de la CPU, el bloqueig, la gestió de fitxers i discs i molts més.

Articles recents sobre sistemes operatius

  • Conceptes bàsics
  • Estructura del sistema
  • Programació de la CPU
  • Sincronització de processos
  • Bloqueig
  • Processos i fils
  • Gestió de la memòria
  • Gestió de fitxers i discs
  • Misc

Fonaments:

  1. Introducció del sistema operatiu
  2. Tipus de sistemes operatius
  3. Funcions del sistema operatiu
  4. Sistemes en temps real
  5. Tasques en sistemes de temps real
  6. Diferència entre multitasca, multithreading i multiprocessament
  7. Tipus de memòria d'ordinador (RAM i ROM)
  8. Diferència entre sistemes operatius de 32 bits i 64 bits
  9. Què passa quan encenem l'ordinador?
  10. Bloc d'arrencada
  11. UEFI (Unified Extensible Firmware Interface) i en què es diferencia de la BIOS

Estructura del sistema:

  1. Microkernel
  2. Subsistema d'E/S del nucli (sistema d'E/S)
  3. Nucli monolític i diferències clau amb Microkernel
  4. Introducció de la trucada al sistema
  5. Obtenir/establir límits de recursos del procés a C
  6. Operacions en mode dual al sistema operatiu
  7. Instruccions privilegiades i no privilegiades

Programació de la CPU:

  1. Procés | (Introducció i diferents estats)
  2. Estats d'un procés
  3. Taula de processos i bloc de control de processos (PCB)
  4. Programador de processos
  5. Programació de la CPU
  6. Programació preventiva i no preventiva
  7. Mesureu el temps dedicat al canvi de context?
  8. Diferència entre despatxador i planificador
  9. Programació FCFS | Set 1
  10. Programació FCFS | Set 2
  11. Efecte comboi en sistemes operatius
  12. Anomalia de Belady
  13. Programació de la feina més curta (o SJF) | Conjunt 1 (no preventiu)
  14. Programa per a la planificació de la feina més curta (SJF) | Set 2 (preventiu)
  15. Programació de la primera feina més curta amb temps d'explosió previst
  16. Programa de temps restant més llarg primer (LRTF).
  17. Algorisme de temps restant més llarg primer (LRTF).
  18. Programació de Round Robin
  19. Programació de Round Robin egoista
  20. Programació Round Robin amb diferents horaris d'arribada
  21. Programació prioritària
  22. Programa per a la planificació preventiva de la CPU amb prioritat
  23. Programació prioritària amb hora d'arribada diferent - Set 2
  24. Inanició i envelliment en sistemes operatius
  25. Programació de la següent ràtio de resposta més alta (HRRN).
  26. Programació de cues multinivell
  27. Programació de la cua de comentaris multinivell
  28. Programació del procés de loteria
  29. Programació de múltiples processadors

>> Test sobre la planificació de la CPU



hivern triple

Sincronització de processos:

  1. Sincronització de processos | Introducció
  2. Sincronització de processos | Set 2
  3. Secció Crítica
  4. Comunicació entre processos
  5. Comunicació entre processos: mètodes
  6. IPC mitjançant memòria compartida
  7. IPC utilitzant cues de missatges
  8. Comunicació basada en missatges en IPC (comunicació entre processos)
  9. Comunicació entre dos processos mitjançant senyals en C
  10. Semàfors en el sistema operatiu
  11. Mutex vs. Semàfor
  12. Sincronització de processos | Monitors
  13. Algoritme de Peterson per a l'exclusió mútua | Conjunt 1 (implementació bàsica de C)
  14. Algoritme de Peterson per a l'exclusió mútua | Conjunt 2 (cicles de CPU i tanca de memòria)
  15. Algoritme de Peterson (Ús de processos i memòria compartida)
  16. algorisme de Dekker
  17. Algoritme de fleca
  18. Problema productor consumidor utilitzant semàfors | Set 1
  19. Problema del filòsof de menjador amb l'ús de semàfors
  20. Solució de menjador-filòsofs amb monitors
  21. Problema lectors-escriptors | Conjunt 1 (Introducció i solució de preferències de lectors)
  22. Solució Reader-Writers amb monitors
  23. Problema del barber dormit
  24. Bloquejar el mecanisme de sincronització variable
  25. Bloqueig Mutex per a la sincronització de fils de Linux
  26. Inversió de prioritat: què dimonis!
  27. Quina diferència hi ha entre la inversió de prioritat i l'herència prioritària?
  28. Sincronització de processos
  29. Comunicació entre processos: mètodes

>> Qüestionari sobre Gestió de processos en SO

Bloqueig:

  1. Introducció al bloqueig
  2. Detecció i recuperació de bloqueig
  3. Bloqueig, inanició i bloqueig de vida
  4. Prevenció i evitació de bloquejos
  5. Algoritme del banquer
  6. Gràfic d'assignació de recursos (RAG)
  7. Mètodes d'assignació de recursos als processos per sistema operatiu
  8. Programa per a l'algoritme del banquer
  9. Algorisme del banquer: imprimeix tot l'estat segur (o seqüències segures)
  10. Algorisme de detecció de bloqueig
  11. Programa per a la condició lliure de bloqueig al sistema operatiu
  12. Detecció de bloqueig en sistemes distribuïts
  13. Tècniques utilitzades en l'enfocament centralitzat de la detecció de bloqueig en sistemes distribuïts

>> Test sobre Deadlock

Processos i fils:

  1. Sistema operatiu | Fil
  2. Fils i els seus tipus
  3. Sistema operatiu | Fil de nivell d'usuari vs fil de nivell de nucli
  4. Multitasca basada en processos i en fils
  5. Models de rosca múltiple
  6. Beneficis del multithreading
  7. Processos zombis i la seva prevenció
  8. Nombre màxim de processos Zombie que pot gestionar un sistema
  9. Sistema operatiu | Trucada de procediment remot (RPC)

Gestió de la memòria:

  1. Disseny de la jerarquia de memòria i les seves característiques
  2. Introducció a la memòria i a les unitats de memòria
  3. Diferents tipus de memòria RAM (memoria d'accés aleatori)
  4. Buddy System: tècnica d'assignació de memòria
  5. Gestió de la memòria | Mètode d'assignació de particions
  6. Particionament fix (o estàtic) al sistema operatiu
  7. Particionament variable (o dinàmic) al sistema operatiu
  8. Assignació no contigua en el sistema operatiu
  9. Adreça lògica vs física al sistema operatiu
  10. Paginació
  11. Requisits del sistema de gestió de memòria
  12. Gestió de memòria: mapeig d'adreces virtuals a adreces físiques
  13. Entrades de la taula de pàgines
  14. Memòria virtual
  15. Intercalat de memòria
  16. Preguntes de memòria virtual
  17. Virtualització basada en sistemes operatius
  18. Taula de pàgines invertides
  19. Espai d'intercanvi
  20. Gestió d'errors de pàgina
  21. Particionament fix (o estàtic) al sistema operatiu
  22. Segmentació
  23. Segmentació de memòria en microprocessador 8086
  24. Programa per a l'algorisme Next Fit en gestió de memòria
  25. Superposicions en la gestió de la memòria
  26. Algorismes de substitució de pàgines
  27. Programa per a algorismes de substitució de pàgines | Set 1 (LRU)
  28. Programa per a l'algoritme de substitució òptima de pàgines
  29. Implementació de la memòria cau LFU (ús menys freqüent).
  30. Política de substitució de pàgines de segona oportunitat (o rellotge).
  31. Tècniques per manejar el Thrashing
  32. Assignació de memòria del nucli (sistema d'amics i sistema de lloses)
  33. Programa per a l'esquema d'assignació de memòria d'amics en sistemes operatius | Conjunt 1 (assignació)
  34. Programa per a l'esquema d'assignació de memòria d'amics en sistemes operatius | Conjunt 2 (desassignació)
  35. Biblioteques estàtiques i dinàmiques | Set 1
  36. Treballar amb biblioteques compartides | Set 1
  37. Treballar amb biblioteques compartides | Set 2
  38. Named Pipe o FIFO amb un exemple de programa C
  39. Seguiment de l'ús de la memòria a Linux

>> Test sobre gestió de la memòria

Gestió de discs:

  1. Sistemes de fitxers
  2. Sistema de fitxers Unix
  3. Implementació de la gestió de directoris mitjançant Shell Script
  4. Directori de fitxers | Nom del camí
  5. Estructures de directori
  6. Mètodes d'assignació de fitxers
  7. Mètodes d'accés a fitxers
  8. Memòria secundària
  9. Memòria secundària: unitat de disc dur
  10. Algoritmes de programació de disc
  11. Programa per a l'algorisme de programació de disc SSTF
  12. De què es tracta exactament de Spooling?
  13. Diferència entre spooling i buffering
  14. Gestió de l'espai lliure

>> Test sobre sistemes d'entrada i sortida

Misc

  1. Introducció al sistema UNIX
  2. Comandes importants de Linux (leave, diff, cal, ncal, locate i ln)
  3. Estats del procés i transicions en un procés UNIX
  4. Introducció a Linux Shell i Shell Scripting
  5. 'crontab' a Linux amb exemples
  6. indepth i maxdepth a l'ordre find() de Linux per limitar la cerca a un directori específic.

Tipus de sistemes operatius

  • Sistema operatiu per lots (p. ex., procés de transaccions, sistema de nòmines, etc.)
  • Sistema operatiu multiprogramat (per exemple, Windows, UNIX, macOS, etc.)
  • Sistema operatiu de temps compartit (p. ex., Multics, Linux, etc.)
  • Sistema operatiu en temps real (p. ex., PSOS, VRTX, etc.)
  • Sistema operatiu distribuït (per exemple, LOCUS, Solaris, etc.)

Funcions del sistema operatiu

  • Gestió de memòria i processador
  • Gestió de xarxes
  • Gestió de la seguretat
  • Gestió de fitxers
  • Detecció d'errors
  • Comptabilitat laboral

Preguntes freqüents sobre el sistema operatiu

P.1 Per què aprendre Sistemes operatius?

Respon :

git superi

El sistema operatiu és la part més important d'un ordinador. Mitjançant el sistema operatiu, els usuaris poden interactuar amb el programari informàtic. Proporciona una interfície entre el maquinari i la CPU. També proporciona una plataforma perquè el programa s'executi i serveis als usuaris. Realitza totes les tasques bàsiques necessàries en una aplicació.

P.2 Escriu els 10 principals exemples de sistemes operatius?

Respon :

A continuació es donen alguns exemples de SO més populars:

  • Windows
  • Linux
  • MacOS
  • Ios
  • Android
  • Ubuntu
  • CentOS
  • Solaris
  • Chrome OS
  • Fedora

P.3 Quins són els avantatges d'un sistema multiprocessador?

Respon :

Un sistema multiprocessador implica el processament de dos o més programes informàtics simultàniament que comparteixen la mateixa àrea de memòria. Augmenta la fiabilitat.

tutorials de java

P.4 Què és un fil al sistema operatiu?

Respon :

Un fil és un procés o subprograma lleuger que forma part del procés o d'un programa. Un fil té el seu propi comptador de registres, pila, estat i programa.

Links ràpids :

  • Notes d'última hora (LMN) | Sistemes operatius
  • Preguntes més freqüents d'entrevista sobre sistemes operatius
  • 'Problemes de pràctica' en sistemes operatius!