TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN PROFESOR: MSC. P. Norma Maya Pérez SISTEMAS OPERATIVOS Sistemas Operativos I. Fundamentos del sistema operativo. OBJETIVO: El alumno seleccionará un sistema operativo de acuerdo a sus características y funciones para su instalación. Sistemas Operativos TEMAS Evolución. Características. Clasificación. Sistemas Operativos Evolución de los sistemas operativos Sistemas Operativos GENERACIONES 1945-1955 Tubos de vacío y Tableros S.O. No existía 1955-1965 Transistores y Sistemas por lotes FMS (sistema Monitor Fortran) e IBSYS de IBM 1965-1980 Circuitos integrados y multiprogramación OS/360, CTSS, MULTICS, UNIX 1980-A la fecha Computadoras Personales CP/M, DOS, MS-DOS, WINDOWS, S.O. de Red, S.O. Distribuidos Sistemas Operativos Procesamiento en serie Las primeras computadoras electrónicas digitales no tenían S. O. las mecánicas de esta época eran tan primitivas que con frecuencia los programas se introducían bit a bit mediante grupos de interruptores mecánicos. Posteriormente los programas se introducían en la computadora en lenguaje máquina mediante tarjetas perforadas y se desarrollaron los lenguajes ensambladores para acelerar el proceso de programación. Sistemas Operativos Sistemas Operativos Procesamiento por lotes Aparecieron los sistemas que generalmente ejecutaban un grupo de tareas a la vez y simplificaban la transición para obtener la máxima utilización del sistema de cómputo. Estos sistemas se denominaron sistemas de procesamiento por lotes, ya que los programas y los datos eran proporcionados a la computadora en grupos o lotes. Sistemas Operativos Sistemas Operativos Sistemas por Lotes. Sistemas Operativos Multiprogramación. Los diseñadores de SO observaron que mientras una tarea esperaba a que se completara una operación de entrada o de salida para poder seguir usando el procesador, otra tarea podría aprovechar el procesador ocioso. De manera similar, cuando una tarea estaba utilizando el procesador, otras podrían utilizar los diversos dispositivos de entrada y salida. Sistemas Operativos Sistemas Operativos Existe un SO diferente: • En cada evolución y tipo de computadora, • Para cada modo de procesamiento. Sistemas Operativos Sistema Operativo Definición Software cuya labor es administrar todos los dispositivos de una computadora y proporcionar una interfaz más sencilla a los programas de usuario para comunicarse con el hardware. Sistemas Operativos UBICACIÓN DEL SISTEMA OPERATIVO Programas De Aplicación Programas del Sistema Sistema Bancario Reservación De Vuelos Navegador Web Compiladores Editores Intérprete de Comandos (Shell) Sistema Operativo Lenguaje de Máquina Hardware (mínimo 2 Niveles o capas) Microarquitectura Dispositivos Físicos Translada y traduce los datos del lenguaje de alto nivel a lenguaje binario Se agrupan los dispositivos físicos para formar unidades funcionalesregistros internos de la CPU Circuitos integrados Cables, fuentes de potencia, etc. Ing.electrónico Sistemas Operativos Sistemas Operativos Sistemas Operativos Características y Funciones de los sistemas operativos Sistemas Operativos Principales funciones de los S.O. Proporciona la interfaz entre los usuarios y el hardware de un sistema informático. Permite que los usuarios compartan entre sí el hardware y los datos. Evitar que los usuarios se interfieran recíprocamente. Planifica la distribución de los recursos entre usuarios. Facilita la entrada/salida. Recuperarse de los errores. Contabilizar el uso de los recursos. Facilitar las operaciones en paralelo. Organizar los datos para lograr un acceso rápido y seguro. Manejar las comunicaciones en red. Sistemas Operativos Clasificación de los sistemas operativos Sistemas Operativos Por los servicios que ofrecen Por su estructura Estructura monolítica. Estructura jerárquica. Máquina virtual. Cliente–servidor (microkernel). Número de usuarios. Monousuarios. Multiusuarios. Número de tareas. Monotareas. Multitareas. Número de procesadores. Uniproceso. Multiproceso. Simétricos. Asimétricos. Por la forma de ofrecer sus servicios SO de red. SO distribuidos. Esta clasificación es la más comúnmente usada y conocida desde el punto de vista del usuario final. Sistemas Operativos Por su estructura Según [alcal92], se deben observar dos tipos de requisitos cuando se construye un SO, los cuales son: Requisitos de usuario: sistema fácil de usar y de aprender, seguro, rápido y adecuado al uso al que se le quiere destinar. Requisitos del software: donde se engloban aspectos como el mantenimiento, forma de operación, restricciones de uso, eficiencia, tolerancia frente a los errores y flexibilidad. Sistemas Operativos Por su estructura - Estructura monolítica. Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra (ver figura). Sistemas Operativos Por su estructura -- Estructura jerárquica. A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los sistemas, se hizo necesaria una mayor organización del software, del sistema operativo, donde una parte del sistema contenía subpartes y esto organizado en forma de niveles. De tal forma que cada una de ellas estuviera perfectamente definida y con un claro interface con el resto de elementos. Capa 5 – usuario capa 4 – archivos capa 3 – entrada/salida capa 2 – comunicaciones capa 1 – memoria capa 0 – gestión CPU – hardware EN LA ESTRUCTURA ANTERIOR SE BASAN PRÁCTICAMENTE LA MAYORÍA DE LOS SISTEMAS OPERATIVOS ACTUALES. OTRA FORMA DE VER ESTE TIPO DE SISTEMA ES LA DENOMINADA DE ANILLOS CONCÉNTRICOS O "RINGS". Intérprete de comandos (shell) Aplicaci ón de usuario Spo ol Gestión de información Gestión de Gestión de memoria E/S Gestió n de CPU Organización jerárquica (anillos) Sistemas Operativos Por su estructura MÁQUINA VIRTUAL. El objetivo de los sistemas operativos de máquina virtual es el de integrar distintos SO dando la sensación de ser varias máquinas diferentes. - - El núcleo de estos SO se denomina monitor virtual y tiene como misión llevar a cabo la multiprogramación, presentando a los niveles superiores tantas máquinas virtuales como se soliciten. - Estas máquinas virtuales no son máquinas extendidas, sino una réplica de la máquina real, de manera que en cada una de ellas se trata de un tipo de SO que presentan una interface a cada proceso, mostrando una máquina que parece idéntica a la máquina real subyacente. Sistemas Operativos Por su estructura CLIENTE-SERVIDOR (MICROKERNEL) - El tipo más reciente de sistemas operativos es el denominado cliente-servidor, que puede ser ejecutado en la mayoría de las computadoras, ya sean grandes o pequeñas. Sirve para toda clase de aplicaciones por tanto, es de propósito general. - El núcleo tiene como misión establecer la comunicación entre los clientes y los servidores. Los procesos pueden ser tanto servidores como clientes. - Estos servidores deben tener mecanismos de seguridad y protección que, a su vez, serán filtrados por el núcleo que controla el hardware. (UNIX) Sistemas Operativos Cliente-Servidor a tres niveles (three tier). La aplicación se distribuye en los tres niveles: aplicación, datos e interface de usuario Base de datos •Data validation Lógica de aplicación •Database access •Business logic •Data processing logic Ordenador de escritorio Servidor de BD • User Interface Servidor de Aplicaciones Cliente Sistemas Operativos Cliente-Servidor n niveles La aplicación se distribuye en los n niveles: aplicación, datos e interface de usuario Base de datos •Data validation •Database access Servidor de BD Servidor WEB Lógica de aplicación •Business logic •Data processing logic Servidor de Aplicaciones Ordenador de escritorio • User Interface Cliente Sistemas Operativos Por los servicios que ofrecen A) por el número de usuarios: Monousuarios - Son aquellos que soportan a un usuario a la vez, sin importar el número de procesadores que tenga la computadora o el número de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Las computadoras personales típicamente se han clasificado en este renglón. Multiusuarios Son capaces de dar servicio a más de un usuario a la vez, ya sea por medio de varias terminales conectadas a la computadora o por medio de sesiones remotas en una red de comunicaciones. No importa el número de procesadores en la máquina ni el número de procesos que cada usuario puede ejecutar simultáneamente. Sistemas Operativos Por los servicios que ofrecen B) POR EL NÚMERO DE TAREAS: Monotareas - Sólo permiten una tarea a la vez por usuario. Puede darse el caso de un sistema multiusuario y monotarea, en el cual se admiten varios usuarios al mismo tiempo pero cada uno de ellos puede estar haciendo solo una tarea a la vez. Multitareas Permite al usuario estar realizando varias labores al mismo tiempo. Por ejemplo, puede estar editando el código fuente de un programa durante su depuración mientras compila otro programa, a la vez que está recibiendo correo electrónico en un proceso en background. Es común encontrar en ellos interfaces gráficas orientadas al uso de menús y el ratón, lo cual permite un rápido intercambio entre las tareas para el usuario, mejorando su productividad. Sistemas Operativos Por los servicios que ofrecen C) POR EL NÚMERO DE PROCESADORES: Uniproceso Un sistema operativo uniproceso es aquél que es capaz de manejar solamente un procesador de la computadora, de manera que si la computadora tuviese más de uno le sería inútil. El ejemplo más típico de este tipo de sistemas es el DOS y MacOs. Multiproceso Un sistema operativo multiproceso se refiere al número de procesadores del sistema, que es más de uno Y éste es capaz de usarlos todos para distribuir su carga de trabajo. Generalmente estos sistemas trabajan de dos formas: simétrica o asimétricamente. Sistemas Operativos Por la forma de ofrecer sus servicios Esta clasificación también se refiere a una visión externa, que en este caso se refiere a la del usuario, el cómo accesa a los servicios. Sistemas operativos de red Tienen la capacidad de interactuar con sistemas operativos en otras computadoras por medio de un medio de transmisión con el objeto de intercambiar información, transferir archivos, ejecutar comandos remotos y un sin fin de otras actividades. El punto crucial de estos sistemas es que el usuario debe saber la sintaxis de un conjunto de comandos o llamadas al sistema para ejecutar estas operaciones, además de la ubicación de los recursos que desee accesar. Sistemas Operativos Por la forma de ofrecer sus servicios SISTEMAS OPERATIVOS DISTRIBUIDOS Un SO distribuido es una colección de sistemas informáticos autónomos capaces de comunicación y cooperación mediante interconexiones de hardware y software. Históricamente, los sistemas de computo distribuidos evolucionaron a partir de las redes de computadoras en las que un número de equipos en gran medida independientes están conectados mediante enlaces y protocolos de comunicación. Un SO distribuido gobierna la operación de un sistema informático distribuido y proporciona una abstracción de máquina virtual a sus usuarios. - Proporcionan generalmente medios para la compartición global de los recursos del sistema, tales como la capacidad computacional, los archivos y los dispositivos de E/S. Además de los servicios típicos de un SO proporcionados en cada nodo para beneficio de los clientes locales Sistemas Operativos Estructura de un Sistema Operativo Sistemas Operativos Sistemas Operativos Kernel o Núcleo Es el programa medular que ejecuta programas y gestiona dispositivos de hardware tales como los discos y las impresoras. Sistemas Operativos Shell Proporciona una interfaz para el usuario. Recibe ordenes del usuario y las envía al núcleo para ser ejecutadas. Sistemas Operativos Sistema de archivos Organiza la forma en que se almacenan los archivos en dispositivos de almacenamiento tales como los discos. Sistemas Operativos Utilidades Son programas especializados, tales como editores, compiladores y programas de comunicaciones, que realizan operaciones de computación estándar. Este componente es incluido en SO como Linux, que permiten crear utilidades con las herramientas que proporcionadas. Sistemas Operativos Bibliografía Sistemas Operativos BIBLIOGRAFÍA BÁSICA: Andrew S. Tanenbaum. (2009).Sistemas Operativos Modernos. 3ª.Edición. México, México, Prentice Hall. Molina, Francisco y Peramato, Iván, (2011), Enciclopedia de GNU/Linux para Usuarios y Administrador, D.F., México, Alfaomega, RaMa. Sistemas Operativos BIBLIOGRAFÍA BÁSICA: Gómez, J. y Padilla, N. y Gil, J. A. (2006). Administración de Sistemas Operativos Windows y Linux: Un Enfoque Práctico. D.F., México, Ra-Ma. Gómez Lopez, J. (2011). Administración de Sistemas Operativos: Un Enfoque Práctico. 2ª Edición. D.F., México, RA-MA. Sistemas Operativos BIBLIOGRAFÍA ANEXA: Sistemas Operativos ACTIVIDAD ENTREGABLE UNIDAD I TABLA COMPARATIVA DE SO WINDOWS Y WINDOWS SERVER, LINUX Y MAC FECHA DE ENTREGA: 13-15 DE MAYO DE 2015 FORMA DE ENTREGA: DIGITAL FORMATO WORD e-mail: nmayp1809@gmail.com