Introducción a los Sistemas Operativos: Arquitectura, Funciones y Tipos
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 9,08 KB
Introducción
Un Sistema Operativo (SO) actúa como intermediario entre el usuario y el hardware, proporcionando un entorno para ejecutar programas.
Arquitectura de un Computador
La arquitectura de un computador se divide en dos partes:
Hardware
Se refiere a los componentes tangibles del sistema informático.
Software
El equipamiento lógico o soporte lógico de un sistema informático.
Software
El software es un conjunto de instrucciones que le indican al hardware qué hacer.
- Lenguaje de Programación: Lenguaje que permite escribir software.
- Programa: Representación de algún software en un lenguaje de programación específico.
Lenguajes de Programación
Lenguaje de Máquina
- Único lenguaje que entiende el hardware (máquina).
- Específico para cada hardware (procesador, dispositivos, etc.).
- Usa exclusivamente el sistema binario.
- Programa: almacenado en memoria, contiene instrucciones y datos.
Lenguaje Ensamblador
- Usa mnemónicos (palabras cortas escritas con caracteres alfanuméricos), para codificar las operaciones.
- Es específico (aunque no único) para cada lenguaje de máquina.
- Estructura de una instrucción: MNEMÓNICO ARGUMENTO(S)
- Los datos y/o direcciones son codificados generalmente como números en sistema hexadecimal.
Lenguaje de Alto Nivel
- Basado en una estructura gramatical que permite el anidamiento de instrucciones.
- Cuenta con un conjunto de palabras reservadas, para codificar estructuras de control y/o instrucciones.
- Permite el uso de símbolos aritméticos y/o relacionales.
- Permite al programador olvidarse del direccionamiento de memoria.
- En general: permite la realización de programas independiente del Hardware.
Sistema Operativo
Software encargado de administrar los recursos del sistema.
- Ofrece un conjunto de primitivas a otro software, que le permiten a este último ser tan independiente de la arquitectura de hardware como le es posible.
- Ofrece un conjunto de comandos a los humanos, para interactuar con la máquina.
Diversificación del Software
- Software de aplicación
- Software del sistema
Abstracción de Recursos
El software del sistema provee un modelo abstracto de cómo funcionan los componentes del hardware.
- Máquina abstracta: es una simulación de un computador real.
- Proceso: programa ejecutándose en una máquina abstracta.
Compartición de Recursos
- Multiprogramación: Compartición multiplexada en espacio y en tiempo.
- COMPARTICIÓN EXPLÍCITA DE RECURSOS: Permiten que los procesos usen recursos comunes con su propia estrategia.
- Aislamiento de recursos: obligación del SO de prevenir el acceso no autorizado a los recursos por una máquina abstracta, cuando están ya asignados. P.e. aislamiento de la memoria, procesador.
- Compartición autorizada: es deseable cuando los procesos deben cooperar entre sí, por tanto, deben de poder acceder al recurso compartido.
Funciones de un Sistema Operativo
- Según Tanenbaum: lo define según las funciones que cumple.
- Como máquina extendida.
- Usa hardware y periféricos de una forma sencilla mediante llamadas al Sistema.
- Como administrador de Recursos.
- Administra todos los elementos de un Sistema complejo (Procesadores, memorias, temporizadores, discos, entre otros).
Objetivos de un Sistema Operativo
- Ejecutar programas del usuario y resolver los problemas del usuario de manera fácil y sencilla.
- Hace que la computadora sea fácil y conveniente de usar.
- Utiliza el hardware de la computadora de forma eficiente.
Componentes de un Sistema Operativo
- Manejador de recursos: Administra y aloja los recursos.
- Programa de control: Controla la ejecución de los programas de usuarios y las operaciones de los dispositivos de entrada/salida.
- Kernel: Programa que corre en todo momento (todo lo demás es programa de aplicación).
Necesidad de un Sistema Operativo
- Usuario provee interfaces de usuario, interprete de comandos, estructura de directorios, programas de utilerías (compiladores, editores, filtros).
- Ambiente de programación provee un ambiente de alto nivel para manejo E/S, manejo de archivos, manejo de procesos.
- Eficiencia remplaza al operador en la calendarización de jobs, almacenamiento archivos de E/S, manejo de concurrencia.
El Sistema Operativo como Interfaz
Es una capa entre el usuario y el hardware. La interfaz ofrece una máquina extendida que es una abstracción de la realidad.
Tipos de Sistemas Operativos
Sistemas de Procesamiento por Lotes o Tandas
- Sirve trabajos individuales de una colección de trabajos predefinidos.
- El SO específica cada trabajo por medio de una lista de órdenes predefinidas: especificación de control de trabajos.
- Usuarios no interactúan con un trabajo.
- Al completar el trabajo, se imprimen los resultados y se devuelve al usuario.
Sistemas de Tiempo Compartido
- Varios usuarios interactivamente a la vez.
- Usuario establece una sesión interactiva con el computador y proporciona operaciones, programas y datos.
- SO proporciona una respuesta adecuada en tiempo a los usuarios.
- Gestión de los recursos y mecanismos de protección.
- Políticas de implementación para compartir equitativamente el procesador.
- Sistema multitarea: sistema multiprogramado de tiempo compartido que soporta varios procesos por usuario.
Computadores Personales y Estaciones de Trabajo
- Máquina completa dedicada a un solo usuario.
- Para el SO es más importante minimizar el tiempo de espera para el usuario en vez de maximizar la utilización del hardware.
- El computador puede realizar diferentes tareas concurrentemente.
Sistemas Embebidos
- Concebidos con la idea de controlar sistemas autónomos, carecen de usuario humano.
- Funciona como un componente de otro sistema más complejo.
- SO debe garantizar tiempos de respuesta para ciertas tareas.
- Limitaciones en potencia de procesamiento y memoria.
Sistemas de Tiempo Real
Hay sistemas en los que el tiempo de respuesta es crítico Control industrial Control de guiado de misiles Autómatas (air bag, inyección electrónica,…) Asistencia médica. Es aquel en el que si el proceso adecuado no se realiza dentro de unos límites de tiempo muy estrictos y muy pequeños, el sistema falla”. Tipos T.R RIGUROSO (hard real time) Garantizan que las tareas críticas se realizan a tiempo Poca memoria secundaria RAM, ROM S.O. muy simple
T.R.MODERADO (soft real time) Mezcla tareas de prioridades muy distintas No para control industrial Útiles para Multimedia, Realidad Virtual P.e. VMS, Unix, Windows
Computadores pequeños con capacidades de comunicación (SCC) Incluyen los computadores móviles y los inalámbricos Máquinas pequeñas, portátiles, diseñados para las comunicaciones SO con nuevas políticas de gestión de recursos, estrategias de gestión de energía, capacidad de almacenamiento limitado, etc. P.e. Tablet, set-top boxes, PDA…. PalmOS Windows CE
Sistemas paralelos Para ciertas situaciones se necesita mucha más velocidad Este sistema no es 4 veces más rápido! - Comunicación y sincronización - Conflictos en accesos a recursos comunes - No todo el código es paralelizable. Sistemas Tolerantes a Fallos
Sistemas distribuidos Para cuando se requiere mucha velocidad Distribuir el cálculo Se comparte recursos Impresoras, archivos, dispositivos, CPUs,…. Mayor velocidad Fiabilidad
SO de Mainframe Tales maquinas se diferencian por su capacidad de E/S. Estan orientados al procesamiento de varios trabajos a la vez.
SO de Servidor Se ejecutan en servidores. Dan servicio a multiples usuarios a travez de una red.
SO Multiprocesador Conectar varias CPUs en un solo sistema. Son variaciones de los SO de servidor con funciones especiales.
Componentes SO:
Gestión de procesos, hilos y recursos Gestión de memoria Gestión de archivos Gestor de dispositivos
Programa Es estático. No varía nada No tiene estado Variables sin valores Rutinas sin dirección Condiciones sin evaluar Es el algoritmo a ejecutar
Proceso Es dinámico Tiene estado Las variables tienen valores Rutinas están en alguna dirección
Condiciones se pueden evaluar Es la ejecución del algoritmo