18 Feb
Conceptos Clave en Sistemas Operativos y Programación
Evolución de los Sistemas Operativos
Quinta Generación: Aparecen los circuitos LSI. Surge el PC de IBM. Se universaliza el uso de redes de datos.
Estructuras de Sistemas Operativos
- Estructura Monolítica: El sistema es un conjunto de procedimientos y cada uno puede invocar o llamar al otro. No se ocultan datos. Es difícilmente ampliable.
- Estructura en Capas: Un conjunto de niveles virtuales superpuestos hasta llegar al usuario final. Cada capa define el nivel de privilegio. Facilita la modificación del sistema operativo.
- Microcliente y Cliente Servidor: Tipo de núcleo de un sistema operativo que provee un conjunto de primitivas o llamadas al sistema mínimas para implementar servicios básicos. El resto de servicios se ejecutan como procesos servidores en espacio de usuario. La capacidad de proceso está repartida entre los clientes y los servidores.
Interfaces y Herramientas
- API: Conjunto de bibliotecas de programación que elaboran y publican los fabricantes de componentes para permitir a los programadores de aplicaciones utilizar tales servicios. Representa una interfaz de comunicación entre componentes software y detalla solamente la forma de llamar a cada función y la tarea que ésta desempeña, sin importar cómo se lleva a cabo dicha tarea.
- Win32: Compuesta por funciones en C almacenadas en librerías de enlace dinámico (DLL). Estas librerías las utiliza Windows cuando quiere añadir alguna funcionalidad a sus SSOO.
- SDK: Kit de desarrollo de aplicaciones proporcionado por Microsoft que incluye la documentación y las herramientas necesarias para que los programadores puedan crear sus aplicaciones y aprovechar los recursos del sistema.
Tipos de Interfaz de Usuario
- Interfaz para los comandos de usuario:
- Modo Texto: Las órdenes se dan en forma de líneas de texto que el usuario escribe sobre un terminal.
- Formato Gráfico: Interfaces gráfico de usuario intuitivos, dinámicos y productivos.
Clasificación de Sistemas Operativos
- Monousuario: Todos los recursos del sistema están disponibles para un solo usuario.
- Multiusuario: Varios usuarios pueden ejecutar procesos distintos sobre la misma CPU y compartir el uso de los recursos existentes en el sistema de forma simultánea.
- Monotarea: Solo puede ejecutarse un proceso y hasta que no termine no se inicia el siguiente.
- Multitarea: Se pueden ejecutar varios procesos simultáneamente.
- Monoproceso: Cuando hay instalado un único procesador. Todos los trabajos irán alternando la ocupación de la CPU.
- Multiproceso: Cuando hay instalados varios procesadores en el mismo ordenador y el sistema operativo es capaz de utilizarlos simultáneamente.
- Asimétrico: Selecciona un procesador para ejecutar el código del sistema operativo mientras que los otros procesadores ejecutan trabajos de usuario.
- Simétrico: Permiten que el sistema operativo funcione bajo cualquier procesador libre o en todos los procesadores simultáneamente, compartiendo la memoria entre todos ellos.
- Tiempo Real: Utilizados cuando tenemos procesos que deben responder a requisitos temporales muy estrictos.
- Sistemas Interactivos: Sistemas operativos más extendidos. El SO dispone de mecanismos que permiten planificar la ocupación de la CPU.
Tipos de Procesamiento
- Procesos por Lotes: Un proceso no comienza hasta que el anterior no ha terminado.
Tipos de Sistemas Operativos
- SSOO Centralizados: Los computadores mainframe se encargaban de todo el procesamiento y los usuarios manejaban terminales sin memoria ni procesador.
- SSOO de Red: Mantienen a dos o más computadoras unidos a través de algún medio de comunicación con el objetivo de compartir los diferentes recursos y la información del sistema.
- SSOO Distribuidos: Sistemas casi independientes que permiten distribuir los trabajos, tareas o procesos entre un conjunto de procesadores.
Virtualización
- Virtualización de Servidores o SSOO: Consiste en el enmascaramiento de recursos del servidor incluyendo el número e identificación de servidores físicos individuales, procesadores y sistemas operativos de los usuarios del servidor.
- Virtualización de Almacenamiento: Unificación de los dispositivos de almacenamiento de una red de área de almacenamiento en lo que simula ser un simple dispositivo de almacenamiento desde una consola central.
- Virtualización del Escritorio: Separación entre el sistema físico y el escritorio, perteneciendo datos y herramientas empleados por el usuario englobándose en un escritorio virtualizado que se almacena en un servidor remoto en lugar de la máquina física.
Lenguajes de Programación
- Lenguaje de Programación: Conjunto de reglas, herramientas y condiciones que nos permiten crear programas o aplicaciones dentro de una computadora.
- Lenguaje de Máquina: Son los que entiende la computadora sin necesidad de realizar ninguna conversión.
- Lenguaje de Bajo Nivel: Los lenguajes de bajo nivel o ensambladores son aquellos cuyas sentencias están formadas por códigos nemotécnicos.
- Lenguaje de Alto Nivel: Son aquellos que poseen sentencias formadas por palabras similares a las de los lenguajes humanos.
Paradigmas de Programación
- Programación Secuencial: Creación de programas a partir de un conjunto de sentencias escritas de forma secuencial y cuya ejecución sigue dicha secuencia.
- Programación Estructurada: Más conocidas y antiguas que existen. Se basa en la modularidad de los programas, que se dividen en módulos más pequeños y cada uno realiza una tarea específica.
- Programación Orientada a Objetos: Es una forma de estructurar un programa.
- Programación Lógica: Lo más importante es definir un conjunto de hechos, conocidos con anterioridad, y un conjunto de reglas que nos definen las distintas relaciones que existen entre los componentes del programa. Utiliza lenguajes de alto nivel.
Deja un comentario