1. Herramientas de programación (SOFTWARE).

2.Sistema Operativo.

3.Programas que componen los Sistemas Operativos.

4.Sistemas Operativos multitarea.

5.Multiprogramación.

6.Sistemas de Procesamiento Interactivo.

7.Procesamiento por lotes.

8.Procesamiento Combinado.

9.Administradores del S.O.

10. Administración de memoria: Monotarea, particiones fijas, particiones variables, paginación, segmentación.

11.Administración de Procesos: Tiempo Compartido (time-sharing), Prioridades, Colas de espera de procesos.

12.Administración de Entradas Salidas: Spooling.

13.Intercambio.

14.Memoria Virtual.

Herramientas de Programación (SOFTWARE)

Las herramientas de programación son esenciales para el desarrollo de software. Algunas de ellas incluyen:

  • Editores de Código: Visual Studio Code, Atom, Sublime Text.

  • Entornos de Desarrollo Integrado (IDEs): Eclipse, IntelliJ, Visual Studio.

  • Compiladores: GCC, Clang, Microsoft Visual C++.

  • Depuradores: GDB (GNU Debugger), WinDbg.

  • Control de Versiones: Git, SVN.

  • Herramientas de Construcción: Make, Gradle, Maven.

Sistema Operativo

Un Sistema Operativo (SO) es un software que gestiona los recursos de hardware y proporciona servicios a los programas de aplicación. Coordina el uso del hardware para permitir una ejecución eficiente de programas.

Programas que Componen los Sistemas Operativos

  • Kernel: Gestiona los recursos de hardware.

  • Gestor de Procesos: Controla la ejecución de programas.

  • Gestor de Memoria: Administra la memoria del sistema.

  • Gestor de Archivos: Organiza y controla el acceso a los archivos.

  • Interfaz de Usuario: Facilita la interacción entre el usuario y la computadora.

Sistemas Operativos Multitarea

Permite la ejecución simultánea de múltiples tareas, compartiendo el tiempo de CPU entre ellas.

Multiprogramación

Mantiene múltiples programas en memoria, permitiendo que la CPU cambie a ejecutar otro programa mientras uno está esperando operaciones de entrada/salida.

Sistemas de Procesamiento Interactivo

Diseñados para admitir la interacción en tiempo real con el usuario, proporcionando respuestas rápidas a las solicitudes del usuario.

Procesamiento por Lotes

Ejecución de tareas sin intervención del usuario, donde los trabajos se agrupan y se ejecutan secuencialmente.

Procesamiento Combinado

Combina características de procesamiento por lotes y sistemas interactivos, permitiendo tanto tareas programadas por lotes como interacción en tiempo real.

Administradores del S.O.

  • Administrador de Tareas: Supervisa el rendimiento del sistema y asigna recursos.

  • Administrador de Memoria: Controla la gestión de la memoria.

  • Administrador de Archivos: Maneja la organización y acceso a los archivos del sistema.

Administración de Memoria

- Monotarea: Sistema que ejecuta una tarea a la vez.

- Particiones Fijas: Divide la memoria en áreas de tamaño predeterminado.

- Particiones Variables: Permite asignar memoria dinámicamente.

- Paginación: Divide la memoria en páginas de tamaño fijo.

- Segmentación: Divide la memoria en segmentos lógicos.

Administración de Procesos

- Tiempo Compartido (Time-Sharing): Permite que varios usuarios compartan simultáneamente la CPU.

- Prioridades: Asigna prioridades a los procesos para determinar el orden de ejecución.

- Colas de Espera de Procesos: Organiza los procesos según su estado y prioridad.

Administración de Entradas/Salidas

- Spooling: Técnica que utiliza una cola para gestionar múltiples trabajos de impresión o entrada/salida, mejorando la eficiencia del sistema.

Intercambio

- Intercambio (Swapping): Mueve procesos entre la memoria principal y el almacenamiento secundario para liberar espacio.

Memoria Virtual

Extiende la memoria principal utilizando espacio en el disco. Permite que los programas se ejecuten aunque no todos los datos estén en la memoria RAM.