Post on 23-Jan-2016
Introducción a los SOsDefinición y funcionesEvolución de los sistemas operativosComponentes de un sistema operativo
Gestión de procesosGestión de la memoria principalGestión de archivosGestión del sistema de E/SGestión de almacenamiento secundarioTrabajo con redesSistema de protecciónIntérprete de comandos
¿Qué es un Sistema Operativo?Un programa que actúa como intermediario
entre el usuario de una computadora y el hardware
Objetivos principales:Hacer el sistema cómodo de usarUtilizar el hardware de forma eficiente
Hardware
Sistema Operativo
Software del Sistema
Software de aplicaciones
Usuarios
Componentes del sistema de cómputoHardware - proveé los componentes básicos de
cómputo (CPU, memoria, dispositivos de E/S).
Sistema Operativo - controla y coordina el uso del hardware entre los varios programas de aplicación para los diferentes usuarios.
Programas de Aplicación - define las formas en que los recursos del sistema son utilizados para resolver los problemas de cómputo de los usuarios (compiladores, bases de datos, juegos de video, programas de negocios).
Usuarios (gente, maquinas, otras computadoras).
Otras PerspectivasUn SO convierte el la computadora en una
máquina virtualAísla al usuario de la complejidad del hardware
Un SO es un asignador de recursosGestiona los recursos como CPU, memoria, etc. y los
asigna a tareas del usuario
Un SO es un programa de controlControla la ejecución de programas para prevenir errores
y usos inapropiados de la computadora.
Definición de Sistema OperativoNo hay una definición universalmente aceptada
“Todo lo que el vendedor entrega cuando se compra un SO” se aproxima bastantePero es muy variable
“El programa que está siempre ejecutándose en la máquina” es la definición que habitualmente se acepta. Dicho programa es denominado kernel o núcleo
Un programa que actúa como intermediario entre el usuario y el hardware de la computadora.
Evolución de los SOs Procesamiento en serie
Los trabajos se preparan y ejecutan uno a uno La preparación de trabajos requiere mucho tiempo
Procesamiento por lotes Se prepara un lote de trabajos y la computadora los ejecuta de
forma secuencial Reduce el tiempo de preparación de trabajos La CPU se queda ociosa cuando hay una operación de E/S
Multiprogramación Se mantienen varios trabajos en memoria, cuando uno hace E/S
se escoge otro para ocupar la CPU Mejora el rendimiento de las computadoras.
Esquema de la Memoria en sistemas Multiprogramados
Evolución de los SOs Tiempo compartido
Se conmuta rápidamente entre los procesos en ejecución Permite que varios usuarios puedan interaccionar con sus trabajos
simultáneamente
Sistemas multiprocesadores Consisten en varios procesadores compartiendo memoria Aplicaciones: fiabilidad, rendimiento, costo
Sistemas distribuidos Están formados por equipos autónomos conectados entre sí por líneas de alta
velocidad (ej. red local) El SO debe proporcionar transparencia en el acceso de los recursos de cualquier
equipo
Sistemas en tiempo real Las tareas poseen requisitos estrictos de tiempo El SO debe prescindir de algunos componentes para asegurar los requisitos de
tiempo
Gestión de ProcesosUn proceso es un programa en ejecución. Es una
unidad de trabajo en el sistema. Programa es una entidad pasiva mientras que
proceso es una entidad activaLos procesos necesitan recursos para realizar sus
tareas: CPU, memoria, E/S, archivos, etc. El sistema operativo realiza las siguientes
operaciones con los procesos:Crea y elimina procesosSuspende y reanuda procesosProvee mecanismos para la sincronización de procesosProvee mecanismos para la comunicación entre procesosProvee mecanismos para la gestión de interbloqueo
Gestión de la Memoria PrincipalLa memoria principal es un recurso al que la CPU
puede acceder directamente
Los programas deben estar en memoria antes de poder ser ejecutado.
El SO gestiona la memoria y para ello debe ser capaz de:Llevar el control de las partes de memoria usadas en cada
momento y de quién las usa.Decidir qué procesos o datos se cargan o se liberan de la
memoriaAsignar y liberar espacio de memoria conforme se necesite
Gestión de ArchivoUn archivo es una representación lógica uniforme
que hace el SO del almacenamiento de información.
De esta forma el SO abstrae las propiedades físicas de los dispositivos de almacenamiento
Los archivos se suelen agrupar en directorios
Las tareas que el SO realiza en relación a la gestión de archivos son:Crea y elimina archivos y directoriosProporciona primitivas para la manipulación de archivos y
directoriosEstablece una correspondencia entre los archivos y el
almacenamiento secundarioControla los accesos de usuarios y programas a los archivos
Gestión del Sistema de E/SUn propósito del SO es ocultar los detalles de
los dispositivos hardware al usuarioEl sistema de E/S se encarga de:
Planificar las peticiones de E/S para mejorar el rendimiento
Gestionar la memoria de E/S incluyendo caching: almacenamiento de datos en dispositivos
de acceso rápido para mejorar el rendimiento buffering: almacenamiento de datos temporalmente
mientras se transfieren
Gestión de Almacenamiento SecundarioEn los dispositivos de almacenamiento secundario
se suelen encontrar los datos permanentes y los que no caben en la memoria principal
La gestión correcta de este recurso es muy importante para una computadora
El SO se encarga de las siguientes actividades:Administración del espacio libreAsignación de almacenamientoPlanificación del discoFormateo de discosControl del sector de arranqueManejo de bloques defectuososAdministración del espacio de intercambio
Trabajo con RedesLos procesadores de un sistema distribuido
se conectan por medio de redes de comunicaciones
Cada máquina de la red puede ser diferente y cada una de ellas posee en general distintos recursos
El SO debe permitir el acceso a los recursos de las máquinas conectadas a la red
Sistema de ProtecciónLa protección se refiere a cualquier mecanismo para
controlar el acceso de los procesos o usuarios a los recursos definidos por el SO
La memoria y los dispositivos de E/S están protegidos
Existen instrucciones de máquina privilegiadas (sólo las debe ejecutar el SO)
Los sistemas distinguen los usuarios para determinar lo que puede hacer cada unoCada usuario posee un identificador: nombre y númeroEl identificador se asocia con todos los archivos y procesos
del usuario para determinar el control de accesoLos usuarios se pueden agrupar formando grupos con los
mismos permisos
Intérprete de comandosEs uno de los programas más importantes del SOActúa de interfaz entre el usuario y el SODiversos tipos de shell:
Gráficos: fáciles de usar (ej. basados en ventanas)Texto: muy potentes pero más difíciles de usar
Las órdenes emitidas al intérprete de comandos sirven para:Administrar procesosManejar la E/SAdministrar el almacenamiento secundarioGestionar la memoria principalAcceder al sistema de archivosProteger el sistemaTrabajar con redes