caracteristicas-y-funciones-del-sistema-operativo

Características y funciones del sistema operativo

Cuando alguien me pregunta “¿qué hace realmente un sistema operativo?”, respondo sin rodeos: organiza y reparte recursos para que las aplicaciones funcionen sin estrellarse entre sí. El SO decide qué proceso usa la CPU, qué datos viven en RAM, cómo hablamos con el disco y la red, y dónde se guardan los archivos. Esa es la esencia; el resto son detalles y garantías para que todo vaya fluido.

Qué es un sistema informático: hardware y software

Un sistema informático es la suma de hardware (CPU, RAM, discos, periféricos) y software (SO + aplicaciones). La CPU ejecuta instrucciones, la RAM guarda lo “vivo” del momento, el almacenamiento persiste datos, y los periféricos hacen de puerta de entrada/salida. El SO es el “director de orquesta” que gestiona el hardware y provee servicios (archivos, procesos, seguridad) a las apps.

Ejemplo rápido: si abro un editor de texto, el SO carga el programa desde disco a RAM y lo pone en cola para la CPU. Si imprimo, envía los datos al driver de la impresora y gestiona la E/S hasta terminar.

Representación y codificación de la información

Por debajo, todo es binario (0 y 1). Usamos también decimal, octal y hexadecimal para representar datos con más comodidad; por ejemplo, cada dígito hexadecimal equivale a 4 bits. Caracteres como “A” se codifican siguiendo tablas tipo ASCII o Unicode (A = 65 en decimal = 01000001 en binario). Las cantidades se miden en bits/bytes y múltiplos (KB/MB/GB; también KiB/MiB con base 2).

Ejemplo rápido: en Linux puedo curiosear la tabla ASCII con man ascii o imprimir el código de “A” con printf "%d" \'A\'. En Windows, chcp me dice la página de códigos activa.

Elementos y funciones del sistema operativo

Kernel y controladores (drivers)

El kernel es el núcleo que corre con privilegios máximos y expone servicios de sistema (procesos, memoria, archivos, controladores). Un fallo serio aquí puede tumbar el equipo, por eso su diseño es meticuloso.

Gestión de memoria, CPU y E/S

  • Memoria: asigna y libera RAM; usa memoria virtual y paginación para aislar procesos.
  • CPU: planifica qué proceso/hilo corre en cada instante; algoritmos como round-robin o prioridades equilibran respuesta y rendimiento.
  • E/S: coordina dispositivos (teclado, disco, red) a través de drivers, interrupciones y buffers.
  • Sistema de archivos: mantiene tablas de abiertos, inodos, espacios libres, etc.

Interfaz de usuario: CLI vs entorno gráfico

Puedes interactuar con línea de comandos (bash, zsh) o entorno gráfico (Explorador, GNOME, KDE). Ambos traducen tus acciones (clics o comandos) a operaciones del sistema.

Ejemplo rápido: para copiar un archivo, en GUI arrastras; en CLI usas cp origen destino. Mismo resultado, dos interfaces.

Procesos del sistema operativo

Estados del proceso y el planificador

Un proceso es un programa en ejecución que necesita CPU, memoria, archivos y E/S. Suele moverse entre Listo (Ready), Ejecución (Running) y Bloqueado (Waiting/Sleeping); en Linux existen estados más finos (Sleeping, Zombie, etc.). El planificador lo empuja de Listo→Ejecución cuando hay CPU, y lo manda a Bloqueado si espera disco o usuario.

Herramientas: Task Manager, ps, top, señales/kill

En Windows lo visualizo con Administrador de tareas; en Linux, con ps, top o monitores gráficos. Para terminar un proceso: “Finalizar tarea” en Windows o kill en Linux.

Ejemplo rápido: si top muestra un proceso al 100% de CPU, puedo bajar su prioridad o matarlo (kill -9 PID) si está colgado. En Windows, clic derecho → Finalizar tarea hace lo mismo.

Arquitectura del sistema operativo

Kernel monolítico, por capas, cliente-servidor y microkernel

  • Monolítico: todo el núcleo corre junto en modo privilegiado; eficiente pero menos modular (Linux clásico).
  • Por capas: funciones ordenadas jerárquicamente; cada capa sirve a la superior.
  • Cliente-servidor: servicios del SO separados como servidores que se comunican por mensajes.
  • Microkernel: el núcleo minimiza funciones (planificación, IPC, interrupciones) y expulsa servicios al espacio de usuario, ganando modularidad.

Ejemplo rápido: Linux (monolítico con módulos), Windows NT (híbrido) y macOS/Darwin (Mach + capas UNIX) ilustran ventajas y trade-offs: rendimiento vs modularidad.

Sistema de archivos: organización y permisos

Estructura jerárquica en Linux (/) y unidades en Windows (C:\)

El sistema de archivos es árbol jerárquico. En Linux todo cuelga de / (p. ej., /home, /etc); en Windows, cada unidad es un árbol separado (C:\, D:\).

Inodos, metadatos y ACL

Los archivos tienen nombre y metadatos (tamaño, fechas, propietario). Linux guarda atributos en el i-nodo; Windows/NTFS añade atributos (solo lectura, oculto, sistema) y ACL detalladas.

Archivos vs directorios y permisos rwx

En Unix/Linux, permisos rwx para propietario/grupo/otros controlan lectura, escritura y ejecución. En Windows, la ejecución depende de la extensión y las ACL, no de un bit x.

Ejemplo rápido (CLI Linux):

ls -l
drwxr-xr-x  5 usuario grupo 4096 jun  1 10:00 Documentos
-rw-r--r--  1 usuario grupo 1024 jun  1 09:00 nota.txt

La d inicial indica directorio; - indica archivo. Para entrar en un directorio necesitas permiso x; para listar, r + x.

Ejemplos prácticos rápidos

Ver permisos con ls -l y diferencias en Windows

  • Linux: chmod u+x script.sh añade ejecución al propietario.
  • Windows: la ejecución depende de extensión (p. ej., .exe, .bat) y permisos en ACL; puedes ajustar permisos desde Propiedades → Seguridad.

Crear, listar y navegar: mkdir, ls, cd

  • Crear carpeta: mkdir proyectos
  • Entrar: cd proyectos
  • Listar: ls -l
    Estos comandos te obligan a entender permisos y jerarquía, justo lo que el SO protege y organiza.

Conclusiones y recursos para practicar

Si tuviera que condensarlo: el sistema operativo es el árbitro que asigna memoria, planifica CPU, atiende E/S y estructura archivos para que cada app viva en paz con las demás. Dominar sus piezas —kernel, procesos, memoria, arquitectura y archivos— te permite diagnosticar cuellos de botella y trabajar con soltura en cualquier entorno.

Ideas de práctica (5–10 min):

  1. Abre el Administrador de tareas o top y observa qué proceso consume CPU.
  2. En Linux, usa ls -l y traduce permisos; intenta cambiarlos con chmod.
  3. Escribe un número en hex y pásalo a binario (cada dígito hex → 4 bits).

FAQs

¿Qué hace el kernel exactamente?
Administra hardware en modo privilegiado y ofrece servicios: procesos, memoria, archivos y drivers.

¿Por qué el SO usa planificación?
Para repartir CPU entre procesos y mantener respuesta (p. ej., round-robin y prioridades).

¿Linux y Windows organizan igual el disco?
No. Linux cuelga todo de /; Windows separa por unidades (C:\, D:\).

¿Qué diferencia hay entre archivo y directorio?
El archivo guarda datos; el directorio guarda entradas que apuntan a archivos/subdirectorios (i-nodos).

julian lopez jimenez

Hola, encantado de conocerte.

Regístrate para recibir las últimas entradas, cada domingo.

¡No hago spam!