Tema6 - Introducción A Los Sistemas Operativos
Tema6 - Introducción A Los Sistemas Operativos
Tema6 - Introducción A Los Sistemas Operativos
Tema 6
ndice
6.1 Conceptos generales y definiciones. 6.2 Introduccin a la historia de los sistemas operativos. 6.3 Mdulos de un Sistema Operativo. 6.4 Operaciones bsicas del sistema operativo. 6.5 Comandos y llamadas al sistema.
Conceptos Generales
Qu es un SO?
Un Sistema Operativo es el Software encargado de la realizacin de las operaciones y funciones que hace un ordenador que, en general, son muy complicadas para los usuarios, proporcionando un uso ms sencillo. Sus principales objetivos son:
Eficiencia.
Proporciona servicios como: creacin y ejecucin de programas, deteccin de errores, operaciones E/S, control de acceso al sistema
Algunos SO
Funciones del SO
El sistema operativo se sita por encima del Hardware de la mquina. Es una abstraccin para que las aplicaciones, de modo que ests pueden funcionar con independencia al Hardware concreto (e.g., todas las aplicaciones de Windows pueden hacer uso del ratn, sin importarles su marca, modelos, etc.)
Funciones del SO
Tiene como funcin la de administrar todas las tareas que se estn ejecutando y darles un orden. Multiplexacin (comparticin) de recursos:
En tiempo: Cuando dos o ms programas se quieren ejecutar en la CPU, el SO les va proporcionando accesos primero a uno y despus al otro. En espacio: Cuando se ejecutan varios programas, stos se guardan en memoria principal y el SO es el encargado de que no haya conflictos entre ellos.
Interfaz de Usuario
Actualmente, una de las principales partes del sistema operativo. Es el programa con el que el usuario interacta con el ordenador.
Incluye pantallas, ventanas, mens, Textual: lnea de comandos, programas cuya interfaz son caracteres GUI (Graphic User Interface)
Puede ser :
Zooming user interface : Interfaz de enfoque en 3D GUIs de uso especfico : Pantallas tctiles, consolas, Ms cercanos al humano. E.g., S.O. manejado por voz
Administracin de Recursos
Consiste en la administracin del rendimiento del computador al ser ejecutados varios programas o procesos que requieren el mismo recurso (memoria, impresora).
Son necesarios permisos de administrador (Root) para otorgar recursos a los solicitantes.
Administracin de Archivos
Es una aplicacin que permite almacenar, operar y asegurar archivos. El sistema operativo es el encargado de :
Los primeros gestores fueron desarrollados para trabajar con comandos de texto. En el presente, gracias a la interfaz grfica se hacen ms sencillos y adquieren ms funciones
Icono: pictograma que hace referencia a distintos comandos o procesos asociados a l.
Administracin de Tareas
Proporcionar informacin sobre todas los programas y procesos que se encuentran funcionando en tiempo real. Incluye nombre del proceso, usuario que lo ejecuta, memoria que est usando y una breve descripcin.
Procesos en Linux
Servicios de Soporte
Actualizacin de versiones Mejoras de seguridad Adicin de utilidades Nuevos controladores para perifricos Correccin de bugs y errores de software
En los aos 40, tras la segunda Guerra Mundial naci lo que hoy conocemos como informtica. Los programadores programaban directamente el hardware de la maquina. Slo haba unos pocos y su uso era cientfico.
En 1956 naci el primer S.O. creado para un ordenador IBM704, que ejecutaba un programa al terminar el anterior. (procesamiento por lotes). Ms tarde aparecen los sistemas operativos de monitor residente y almacenamiento temporal
MONITOR RESIDENTE: Con un funcionamiento muy bsico y simple. PROCESAMIENTO POR LOTES: Agrupaba las instrucciones en grupos, ejecutndolos de forma sucesiva para reducir el tiempo de procesamiento. ALMACENAMIENTO TEMPORAL: Reduca el tiempo de apertura de los programas, ejecutando el programa y la siguiente operacin simultneamente, gracias al buffering y el spooling.
En los 60 lleg la revolucin de los sistemas operativos, gracias a los circuitos cerrados, que incrementaban la potencia de los ordenadores. Aparece un sistema operativo multiusuario llamado MULTICS, que ms tarde fracas. Y despus naci UNIX, la base de la mayora de los S.O. que manejamos diariamente. En los 80 surgi con fuerza el desarrollo de las interfaces grficas en los S.O. para facilitar el uso a las personas que manejaban los PCs (que proliferaban).Y aqu nacieron Windows y MacOS.
A partir de los 90 nace Linux. Ao tras ao han ido mejorando el rendimiento y las aplicaciones de los sistemas operativos, creando interfaces cada vez mas adaptables y llamativas, y mejorando el rendimiento de nuestros ordenadores, llegando hasta el punto de incluirlos en nuestros mviles como por ejemplo ANDROID.
Estructura en capas
Los S.O. se estructuran en capas: Nivel Ncleo: Gestin bsica de procesos. Nivel BFS: Gestin Bsica de Ficheros. Nivel Sistema: Llamadas al sistema, carga, ejecucin y finalizacin de procesos.
Ncleo
Kernel (en alemn) es el mdulo ms interno y principal del S.O. (sobre l se sustentan los dems). Se encuentra sobre el hardware del equipo y permite que ste se comunique con los dems niveles. Es la parte que ms depende de la mquina, por lo que generalmente contiene cdigo en ensamblador; el resto del S.O. generalmente se desarrolla con un lenguaje de programacin de mayor nivel (normalmente en C). Funciones:
Establece el entorno en el que ejecutar los procesos. Gestiona los recursos bsicos del sistema tales como la administracin de memoria, la creacin, planificacin e intercomunicacin de procesos y los mecanismos de entrada/salida.
Planificador
El planificador es un submdulo encargado de la administracin del procesador (como recurso necesario para ejecutar los procesos). La planificacin es bsica para la gestin de procesos.
El planificador emplea una tcnica llamada time slicing (fraccin de tiempo) que consiste en ejecutar los procesos (darles el control del procesador) durante un intervalo de tiempo. Si al concluir ese intervalo el programa no ha finalizado el proceso se vuelven a ejecutar durante otra fraccin de tiempo ms tarde.
Administrador de memoria
Es un submdulo encargado de la administracin de la memoria principal del equipo (como recurso necesario para ejecutar los procesos). La memoria permite almacenar y recuperar informacin. Funciones:
Contabiliza la memoria disponible del sistema y la que utiliza cada uno de los procesos activos. Asigna memoria libre a los procesos que la solicitan al ejecutarse. Una vez que el proceso ha finalizado recupera la memoria que se le haba asignado. Gestiona la memoria virtual en caso de que haya.
El administrador de archivos
Formalmente, es un conjunto de datos abstractos que son implementados para el almacenamiento, la organizacin jerrquica, la manipulacin, el acceso, el direccionamiento y la recuperacin de datos.
El sistema de archivos sigue generalmente una jerarqua de datos que sigue una distribucin de tipo rbol. En esta jerarqua, se determina la relacin fsica entre los archivos (ruta de almacenamiento) y la relacin lgica (correspondencia de los datos). La jerarqua tipo rbol se puede alterar mediante enlaces, llamadas etc.
Cada sistema operativo posee su propio administrador de archivos, regulado por una interfaz. La interfaz que se nos muestra puede ser de tipo grfico o de tipo texto.
El administrador de archivos
Establecer los mecanismos de seguridad y proteccin para los datos contenidos en el computador. Reconocer los distintos tipos de archivo y tratarlos de manera especfica. Regular los permisos que poseen los usuarios sobre los archivos. Administrar la manera en la que el contenido se guarda en el disco duro, y las formas de acceder a este ms tarde.
Sistema de entrada/salida
A nivel de hardware, los dispositivos de entrada/salida permiten a la computadora relacionarse con el mundo, transmitiendo la informacin a travs de los buses de datos.
Debido a la heterogeneidad de estos, es muy costoso que la CPU se encargue de su administracin. Por este motivo, los dispositivos se conectan a una unidad de control de dispositivos.
A nivel de S.O., se realiza una abstraccin que permite ofrecer a las aplicaciones y entornos de ejecucin servicios genricos que permiten manejar los dispositivos de entrada y salida del sistema, mediante un conjunto de manejadores.
Software a nivel de usuario (interfaz): Permite una comunicacin simple con el dispositivo. Software del dispositivo: Asigna los permisos y tareas correspondientes al dispositivo. Manejador de dispositivo: Comunica el sistema operativo con el controlador de dispositivo correspondiente. Manejador de interrupciones: Acta de interruptor, encendiendo y apagando la comunicacin con el dispositivo.
Sistema de entrada/salida
Llamadas al sistema
Una llamada al sistema es la forma que tiente una aplicacin para solicitar cierto servicio al SO. Dependiendo de la arquitectura del procesador esa llamada se hace de diferentes formas aunque nos centraremos en la interrupcin por software. Linux principalmente usa la interrupcin por software en arquitectura x86.
Llamada al sistema
Cuando se aplica una llamada al sistema, se interrumpe la ejecucin del programa y guarda sus datos en su PCB (Bloque de Control de Procesos) para continuar su ejecucin posteriormente.
Tipos de interrupcin
Por hardware: son asncronas, es decir, se pueden producir en cualquier momento. Son externas al procesador y ligadas a sistemas de E/S. Traps: causadas por operaciones no permitidas como divisin entre 0. Por software: ocasionadas por un programa en ejecucin, que est esperando por ejemplo que el usuario pulse una tecla, que la impresora est disponible,
Se utilizan diferentes instrucciones en cdigo mquina para permitir hacer una interrupcin. Se solicita al SO realizar determinadas funciones mediante interrupciones. Al finalizar la tarea se retorna al proceso anterior y continua su ejecucin.
Usaremos el ejemplo del int 21h en ensamblador con la que conseguiremos poder dar caracteres de salida como proceso de palabras por ejemplo. Para ejecutarlo se utiliza una combinacin de 3 instrucciones:
mov dl,a mov ah,2 int 21h Donde a es un caracter ascii que queremos sacar por pantalla, 21h especifica que queremos utilizar la interrupcin 21h (que corresponde a las llamadas al S.O. para E/S) y el 2 indica la funcin concreta a utilizar dentro de la int 21h, que en este caso es sacar por pantalla un carcter, pero con otros valores podemos p.e. introducir un carcter por teclado.
Bibliografa
Bibliografa
Informtica bsica. CEDED S.A. 1987. Modern Operating Systems. Tanenbaum, A.S. PrenticeHall. 1992. "Fundamentos de Sistemas Operativos". Lister, A. M., Editorial Gustavo Gili, 1986. "Distributed Systems. Concepts and Design". Coulouris, G., Dollimore, J., Kindberg, T. "Operating Systems Concepts". Silberschatz, A., Galvin, P. B. Addison-Wesley. 1994.
Bibliografa
Bibliografa