Conceptos Fundamentales de Informática y Sistemas Operativos

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 10,8 KB

1. Datos, Codificación y Representación de la Información

En un programa informático, se distinguen varios tipos de datos:

  • Datos de entrada: Necesarios para iniciar un programa.
  • Datos intermedios: Se almacenan temporalmente para obtener un resultado.
  • Datos de salida: Representan el resultado final del programa.

Además, los datos pueden ser:

  • Fijos o constantes: Tienen un valor exacto y concreto que no cambia durante la ejecución del programa.
  • Variables: Pueden modificarse durante el proceso.

Según su naturaleza, los datos se clasifican en:

  • Numéricos: 0, 1, 2, 3...
  • Alfabéticos: A, B, C...
  • Alfanuméricos: 6, A, C, 8...

Los sistemas informáticos utilizan diferentes métodos para representar la información:

  • Método directo: Binario (base 2), octal (base 8) y hexadecimal (base 16). Se utilizan 3 bits para representar un dígito octal y 4 bits para un dígito hexadecimal.
  • Codificación numérica:
    • Coma fija: Representa números enteros. En binario puro, con 32 bits, el primer bit (más a la izquierda) indica el signo (0 para positivo, 1 para negativo). El número más alto representable es 231. Si se supera este valor, se produce un desbordamiento (overflow).
    • Coma flotante: Representa números enteros y decimales. Se utiliza precisión simple (32 bits) o doble precisión (64 bits).
  • Codificación alfanumérica: El estándar ASCII utiliza 7 u 8 bits para representar letras, números y caracteres especiales.

2. Sistemas Operativos

Un sistema operativo (SO) es un conjunto de programas, servicios y funciones que gestionan y coordinan el funcionamiento del hardware y el software de un ordenador. Sus principales funciones incluyen:

  • Coordinar y ejecutar programas.
  • Acceder a dispositivos de entrada/salida (E/S).
  • Gestionar archivos.
  • Supervisar y corregir errores.
  • Suministrar información sobre el uso y la utilización del sistema.

2.1. Gestión de la Memoria

El administrador de memoria controla qué partes de la memoria están ocupadas y cuáles están libres. Gestiona el intercambio de datos entre el disco duro y la memoria principal. El bloque de control de procesos (BCP) almacena información de cada proceso, permitiendo la comunicación entre ellos. Si la memoria principal se llena, se utiliza la técnica de SWAP o paginación.

Los niveles de acceso al sistema operativo, de menor a mayor privilegio, son:

  • Nivel de usuario
  • Supervisor
  • Ejecutivo
  • Núcleo (Kernel)

2.2. Tipos de Procesamiento

  • Proceso por lotes (Batch): Ejecuta uno o varios programas de forma diferida.
  • Proceso en tiempo real: Los programas se procesan en el momento en que se ejecutan.

2.3. Clasificación según el Número de Usuarios

  • Monousuario: Todos los recursos están a disposición de un único usuario (ejemplo: MS-DOS).
  • Multiusuario: Los recursos se comparten entre varios usuarios, que pueden acceder de forma remota al servidor con distintos niveles de privilegios de acceso y ejecución (perfiles de usuario). Ejemplo: Linux, Windows Server.

2.4. Clasificación según el Número de Procesos

  • Monoprogramación: Solo se ejecuta un proceso a la vez, desde que se inicia hasta que termina. No implica necesariamente que sea monousuario.
  • Multiprogramación: Permite la ejecución de varios programas. En realidad, solo ocurre cuando un PC tiene más de un procesador, pero aun así, puede alternar la ejecución de varios programas.
  • Monoprocesador: Solo puede usar un procesador.
  • Multiprocesador: Puede usar dos o más procesadores.
    • Simétrico: Reparte el trabajo entre los procesadores.
    • Asimétrico: Determinados procesos se ejecutan siempre en el mismo procesador (especialización).
  • Tiempo real: Se ejecuta tras lanzar el proceso.
  • Tiempo compartido: Cada proceso usa la CPU hasta que termina su turno.

Los sistemas operativos actuales son abiertos y segmentados, articulándose en niveles donde cada uno se encarga de una función específica. Los sistemas operativos de última generación son los de máquina virtual.

Otros conceptos relacionados son:

  • Clúster: Red de ordenadores interconectados que trabajan como un único sistema.
  • VPN: Conexión remota segura a una red privada.

3. Procesos, Flujos de Control e Hilos

Un proceso es un programa en ejecución. Cada proceso tiene un PID (identificador de proceso), un nombre único que lo identifica. El BCP (Bloque de Control de Proceso) guarda el identificador, la prioridad y la ubicación en memoria del proceso.

Los hilos (hebras) son flujos de ejecución dentro de un proceso. Por ejemplo, al abrir un documento de Word, se crea un hilo. Al abrir otro documento, se crea otro hilo.

3.1. Estados de un Proceso

  • En ejecución: El proceso está utilizando la CPU.
  • En espera (preparado o activo): El proceso está listo para ejecutarse, pero no está utilizando la CPU.
  • Bloqueado: El proceso no puede continuar su ejecución debido a algún evento (por ejemplo, una operación de E/S).

3.2. Transiciones entre Estados

  • De ejecución a bloqueado.
  • De ejecución a preparado.
  • De preparado a ejecución.
  • De bloqueado a preparado.

3.3. Algoritmos de Planificación de Procesos

  • Round Robin: El quantum es un ciclo de la UCP (Unidad Central de Proceso) que representa un intervalo de tiempo de ejecución.
  • FIFO (First In, First Out): El primer proceso en llegar es el primero en ser atendido.
  • FCFS (First Come, First Served): Similar a FIFO.
  • SRTF (Shortest Remaining Time First): Se da prioridad al proceso con el menor tiempo restante de ejecución.
  • STR (Short Time Remainder): Similar a SRTF, priorizando los procesos más cortos.

3.4. Memoria Virtual, Paginación y Segmentación

La memoria virtual permite ejecutar procesos que no caben completamente en la memoria RAM, utilizando una parte del disco duro como extensión de la RAM. Windows suele reservar entre el 2% y el 5% del disco duro para este propósito, mientras que Linux utiliza una partición SWAP.

  • Paginación: Divide la memoria RAM en partes iguales llamadas marcos (frames) y los programas en páginas del mismo tamaño. Permite la asignación dinámica de memoria en zonas no contiguas.
  • Segmentación: Permite almacenar estructuras de tamaño variable. Cada segmento puede variar desde 0 hasta un máximo permitido. Se utilizan pilas (stacks) para gestionar la memoria.
  • Swapping: Similar a la memoria virtual, utiliza una partición propia en el disco duro. Según el estado del proceso, se mueve a la partición de swap (swap out) o se devuelve a la RAM (swap in). Se recomienda que la partición de swap sea el 20% del disco duro o el doble de la RAM.

3.5. Tipos de Programas según su Gestión de Memoria

  • Reubicables: Pueden cambiar de ubicación en la RAM una vez cargados, dejando espacio para otros programas.
  • Reentrantes: Si no se están ejecutando, liberan memoria para otros programas, moviéndose temporalmente a la memoria virtual.
  • Reutilizables: Pueden ser utilizados por varios usuarios a la vez.

3.6. Tipos de Periféricos

  • De bloque: Almacenan información en bloques de tamaño fijo (por ejemplo, discos duros).
  • De carácter: Introducen o envían datos carácter a carácter (por ejemplo, teclados, impresoras).

3.7. Tipos de Archivos

  • Regulares: Contienen información, como programas o textos.
  • Directorios: Contienen otros archivos o carpetas.
  • Especiales: No son ni archivos regulares ni directorios (por ejemplo, archivos de sistema).

4. Estructura del Disco, Particiones y Sistemas de Archivos

Un disco duro se organiza en las siguientes partes:

  • Sector de arranque: Contiene un pequeño programa que carga el sistema operativo en la memoria al arrancar el ordenador. También incluye una tabla con información del BPB (Bloque de Parámetros del BIOS).
  • FAT (Tabla de Asignación de Archivos): Tabla que indica la ubicación de los archivos en el disco, incluyendo su inicio, fin, tamaño y los sectores que ocupan.
  • Directorio raíz: Tiene un tamaño fijo y contiene información sobre los archivos, como el nombre, la extensión y el tamaño.
  • Datos: La zona más grande del disco, donde se almacena la información y el software del usuario.

4.1. Particiones

  • Primaria: Puede haber hasta 4 particiones primarias en un disco. La primera suele contener el sistema operativo principal.
  • Extendida: Solo puede haber una partición extendida por disco. Dentro de ella, se pueden crear unidades lógicas.

4.2. Gestores de Arranque

Permiten seleccionar el sistema operativo a arrancar. Ejemplos:

  • boot.ini (Windows)
  • LILO y GRUB (Linux)

4.3. Sistemas de Archivos

Determinan cómo se organizan y gestionan los archivos en el disco.

  • Windows: FAT32, NTFS.
  • Linux: Ext3, Ext4, ReiserFS, swap.

4.4. Rutas de Archivos

Indican la ubicación de un archivo en el sistema de archivos.

  • Windows: C:\Documents and Settings\Usuario\Escritorio\foto.jpg

Entradas relacionadas: