Definición de Sistema Operativo (1).

Anuncio
Definición de Sistema Operativo
El sistema operativo es el programa (o software) más importante
de un ordenador. Para que funcionen los otros programas, cada
ordenador de uso general debe tener un sistema operativo. Los
sistemas operativos realizan tareas básicas, tales como
reconocimiento de la conexión del teclado, enviar la información a
la pantalla, no perder de vista archivos y directorios en el disco, y
controlar los dispositivos periféricos tales como impresoras,
escáner, etc.
Ejemplos SO
Clasificación de los Sistemas Operativos
Los sistemas operativos pueden ser clasificados de la siguiente forma:
• Multiusuario: Permite que dos o más usuarios utilicen sus
programas al mismo tiempo. Algunos sistemas operativos permiten
a centenares o millares de usuarios al mismo tiempo.
• Multiprocesador: soporta el abrir un mismo programa en más de
una CPU.
• Multitarea: Permite que varios programas se ejecuten al mismo
tiempo.
• Multitramo: Permite que diversas partes de un solo programa
funcionen al mismo tiempo.
• Tiempo Real: Responde a las entradas inmediatamente. Los
sistemas operativos como DOS y UNIX, no funcionan en tiempo
real.
Componentes SO
Manejo de comunicaciones
Manejo de procesos
Dispositivos
entrada/salida
SO
Manejo memoria
interna
Manejo archivos
y directorios
Manejo memoria externa
Gestión de procesos
Comunicación entre proceso.-
Mecanismos
que permite a los procesos comunicarse .
Memoria compartida
Pipes
Sockets
Cola de Mensajes
Gestión de
procesos
Se ocupa de los mecanismos y
políticas para compartir o repartir un
procesador entre diversos procesos
Sincronización entre proceso
.-
Mecanismos
que permite a los procesos sincronizarse .
Semáforos
Exclusión mutua
 Mensajes
Planificación entre proceso.- Es la parte del SO
que realiza toma la decisión que proceso debe ejecutarse de
acuerdo a ciertas políticas.
RR
FIFO
Prioridad
Colas múltiples
Primero el trabajo mas corto
Gestión memoria
El manejo de memoria tiene que ver con la asignación, el mapeo lógico
y físico, la memoria virtual y los mecanismo de protección.
Además, consiste en el proceso de asignar memoria para propósitos
específicos, ya sea en tiempos de compilación o de ejecución.
Generalmente se divide en dos particiones
• Una para el SO residente
• Procesos de usuarios
El manejo de memoria virtual consiste en hacer creer a los programas
que existe una memoria principal de gran tamaño y explota localidad
de acceso a través de la jerarquía de memoria. Además la gestión de
memoria debe cumplir algunos requisitos de protección como el
código de procesos no debe hacer referencia a posiciones de otros
procesos sin permiso.
Gestión de dispositivos
Sobre el manejo de dispositivos podemos tratar los driver, el buffering y el
spooling.
En el campo de la Informática, el spooling (Simultaneous Peripheral
Operations On-Line) se refiere al proceso mediante el cual la computadora
introduce trabajos en un buffer (un área especial en memoria o en un disco),
de manera que un dispositivo pueda acceder a ellos cuando esté listo.
Un controlador de dispositivo (llamado normalmente controlador, o, en
inglés, driver) es un programa informático que permite al sistema
operativo interactuar con un periférico, haciendo una abstracción
del hardware y proporcionando una interfaz -posiblemente estandarizadapara usarlo. Se puede esquematizar como un manual de instrucciones que le
indica cómo debe controlar y comunicarse con un dispositivo en particular.
Por tanto, es una pieza esencial, sin la cual no se podría usar el hardware.
Memorias intermedias (buffers).
Otra solución a la lentitud de los dispositivos de E/S es el buffering, que es la
utilización de memoria intermedia (o buffer). El buffering trata de mantener
permanentemente ocupados tanto la CPU como los dispositivos de E/S. La idea es
muy sencilla, los datos que se transmiten de memoria al periférico, y viceversa, son
volcados en el buffer donde están disponibles para ser utilizados.
Por ejemplo, para el envío de datos a un dispositivo de salida, la CPU vuelca los datos
al buffer (memoria intermedia) hasta que el dispositivo de salida pueda aceptarlos.
Cuando el dispositivo de salida vacíe el buffer, reclamará tiempo de CPU mediante una
línea de interrupción habilitada para tal efecto. La CPU dejará la tarea que esté
haciendo (aquí entra en juego la prioridad del dispositivo implicado en la tarea en
ejecución y del dispositivo que genera la interrupción) guardando el estado del
programa que se estaba ejecutando en la pila, para continuar donde estaba, una vez
atendida la interrupción, que en este caso consistirá en volver a llenar el buffer e
instruir al dispositivo para que inicie la lectura de los datos. Por tanto, debe existir una
comunicación entre CPU y periférico, y una gestión del buffer.
Gestión archivos
Es la parte del SO que se encarga de proporcionar a los usuarios y
aplicaciones servicios para el uso, acceso y control acceso , tanto de archivos
como directorios.
Los objetivos básicos de la gestión de archivos son: garantizar que la
información del archivo sea valida, optimizar el acceso a los archivos, proveer
soporte E/S a gran variedad de dispositivos de almacenamiento , entregar los
datos que el usuario pide, minimizar o eliminar una potencial perdida de
datos, proveer un conjunto estándar de rutinas E/S, proveer soporte de E/S a
múltiples usuarios.
Las funciones básicas que debe cubrir son:
• Crear archivos
•Borrar archivos
•Abrir archivos
•Cerrar archivos
Elementos sistema Operativo
Podemos decir que los elementos mas comunes dentro de un
sistema operativos son.
• El núcleo
• Llamadas al sistema
• El Shell
El kernel o núcleo
 Lugar donde residen todos los módulos del SO.
 Generalmente solo representa una pequeña porción
del código del SO.
 Kernel generalmente se encuentra en memoria
principal
 Funciones:
 Procesamiento de interrupciones
 Creación/destrucciòn de procesos
 Sincronización de procesos
 Soporte a actividades de E/S
 Soporte a actividades de asignación de memoria
 Soporte a actividades de desasignaciòn de memoria
 Soporte de actividades con archivos
Modo Nùcleo
Modo usuario
Llamadas al sistema
Programa 2 del usuario
Programa 1 del usuario
1
3
Tabla de
despacho
Procedimientos de servicios
El shell
Shell se emplea para referirse a aquellos programas que proveen una interfaz de
usuario para acceder a los servicios del sistema operativo. Estos pueden
ser gráficos o de texto simple, dependiendo del tipo de interfaz que empleen.
Los shells están diseñados para facilitar la forma en que se invocan o ejecutan los
distintos programas disponibles en el computador.
Funciones SO
Tipos núcleos
Descargar