Sistemas Operativos 4 tareas principales: • • • • Proporcionar interfaz: de comando o gráfica. Administrar los dispositivos de hardware en la computadora. Administrar y mantener los sistemas de archivo de disco. Apoyar a otros programas. ("llamadas del sistema" ) Clasificación: • De multiprogramación (o multitarea). • De tiempo compartido. • Distribuidos. • Sistema fuertemente acoplado. • Sistema débilmente acoplado. Características de los SO distribuidos: • Sistemas Autónomos con comunicación y cooperación. • Objetivo clave: La transparencia. • Proporcionan medios para la compartición global de recursos. Conceptos de los sistemas distribuidos • Transparencia • Eficiencia • Flexibilidad • Núcleo monolítico Vs. Micro núcleo • Escalabilidad • Fiabilidad • Comunicación Sistemas Operativos de red (NOS). Mantiene computadoras unidas a través de algún medio de comunicación, con el objetivo primordial de poder compartir los diferentes recursos y la información del sistema. Diferencias: Sistema Operativo de Red • Computadoras interconectadas • Los usuarios saben de la existencia de varias computadoras • Cada máquina ejecuta su propio SO local y tiene su propio usuario o grupo de usuarios. Sistemas Operativos Distribuidos: • Existe un software que distribuye las tareas • Para los usuarios es transparente donde realizan sus tareas y guardan su información. • Aparece como un sistema de un solo procesador • Son sistemas autónomos capaces resolver tareas globales. • Es indispensable el uso de redes para intercambiar datos. Seguridad en los Sistemas Operativos Sistemas seguros e inseguros frente a: • Violaciones en los sistemas informáticos • Acceso de personas no autorizadas • Software con efectos destructivos: virus informáticos. Seguridad Externa: Son mecanismos para asegurar el sistema sin que el mismo intervenga. • Seguridad física: Contra destrucción de información por fuego, etc. • Seguridad de administración: Impide el acceso lógico al sistema. Seguridad Interna: El propio sistema controla los mecanismos que aseguran el sistema informático. Estructura de un sistema operativo Estructura modular (sistemas monolíticos). • No existe estructura. • Son una colección de procedimientos Estructura por microkernel. • Funciones centrales controladas por el núcleo (kernel) • La interfaz del usuario es controlada por el entorno (Shell). • Funciones de bajo nivel y de interpretación de comandos separadas. Estructura por anillos concéntricos (capas). Estructura cliente – servidor • Se mantiene un núcleo mínimo. • La mayoría de las funciones se implantan en los procesos del usuario. • Lo único que hace el núcleo es controlar la comunicación entre los clientes y los servidores. Proceso Proceso Servidor Cliente Cliente Del proceso Servidor de la terminal Servidor de archivos ... Servidor de la memoria Modo usuario Modo núcleo Núcleo Los clientes obtienen el servicio al enviar mensajes a los procesos servidores Máquina 1 Cliente Núcleo Máquina 2 Máquina 3 Servidor de hi Servidor procesos Núcleo Núcleo Máquina 4 de Servidor terminales de Núcleo Red Mensaje del cliente al servidor UNIX: • • • • • Multiusuario que incorpora multitarea. Permite múltiples tareas y múltiples usuarios. Método sencillo de organizar archivos Permite la protección de archivos. Las instrucciones del UNIX no son intuitivas. NFS: Network File System • Desarrollo de Sun Microsystems • Surgió para UNIX pero se amplió a otros S. O. (ej.: MS - DOS). • Soporta Sistemas y Hardware heterogéneos. La Arquitectura de NFS • Clientes y servidores comparten un sistema de archivos común. • Generalmente todos los clientes y servidores están en la misma LAN, pero no es necesario. • NFS permite que cada máquina sea cliente y servidor al mismo tiempo. • Los clientes acceden a los directorios exportados mediante el montaje. • Archivos compartidos: figuran en los directorios de varias máquinas. Objetivos de los Protocolos de NFS • Soportar un sistema heterogéneo en donde los clientes y servidores podrían ejecutar distintos S.O. en hardware diverso. • Define dos protocolos: cliente y servidor El Protocolo: • Solicitudes de los clientes a los servidores. • Respuestas de los servidores a los clientes. - NFS posee el esquema de protección de UNIX (“rwx”) para el propietario, grupo y otros. - NFS solo trata el sistema de archivos. - NFS no hace referencia a otros aspectos, Ej: la ejecución de un proceso. - NFS es software débilmente acoplado en hardware débilmente acoplado. • Cada computadora puede ejecutar su propio S.O. • Solo se dispone de un sistema compartido de archivos. • El tráfico cliente - servidor debe obedecer los protocolos NFS Figura: Estructura de capas de NFS. Familias de UNIX: Cada fabricante ha ido desarrollando sus estándares: • AT&T: el interfaz SYSTEM V • HP: UP-UX (tipo SYSTEM V) • DEC: ULTRIX (tipo 4.2BSD) • Microsoft: XENIX • IBM: AIX. • Implementaciones de tipo académico, como MINIX. • Otros UNIX: SCO • LINUX Minix • • • • • • • • • Escrito por Andrew Tannebaum. MINIX: (mini-Unix) Pequeño, para entender la forma en que trabajaba. Eliminaba los problemas legales Estructurado en forma más modular. El sistema de archivos no era parte del sistema operativo Unix se diseñó para ser eficiente; MINIX se diseñó para ser legible El código de MINIX, tenia más de 3000 comentarios incluídos. Al igual que Unix, MINIX se escribió en lenguaje C. No requería de un disco duro para correr. LINUX • Linus Torvalds distribuyó Linux bajo licencia GPL • Cualquier persona puede bajar, usar, modificar e incluso vender Linux, sin pagar un peso. • La única condición es que los cambios o mejoras deben ser públicos. Funciones • • • • • Sistema multitarea Sistema multiusuario Shells programables Independencia de dispositivos Comunicaciones Familia Windows Windows 3.x • Es de 16-bit. • Windows 3.1 y Windows for Workgroups (Windows 3.11). • Windows 3.1 es un ambiente multitarea para una PC "DOS-based". No tiene capacidad de Networking. Windows for Workgroups • Diseñado para Networking basado en Windows y peer-to-peer. • Provee un modo simple de compartir recursos. • No está previsto para proveer alto nivel de seguridad o para soportar muchos usuarios. Windows 95 / 98 • Es un SO de 32-bit tipo desktop (standalone). • Mantiene la posibilidad de ejecutar programas de DOS (16-bit). • Ganancia de performance cuando se ejecutan programas de 32-bit. • El pre-emptive multitasking lo hace mas confiable que Windows 3.x. • Requerimientos de hardware mayores que Windows 3.x, pero compatible con un amplio rango de hardware existente. • Se puede formar una red peer-to-peer, igual que WFW. • Se puede configurar como Workstation en una red NT Server. Windows NT • SO de 32-bit • Windows 95/98 = máxima compatibilidad con HW y SW existentes e instalación fácil. • NT = máxima performance, confiabilidad industrial y seguridad. • Requerimientos de hardware mayores • La interface del usuario de NT 4.0 similar a la de Windows 95 Comprende dos productos: • NT Server • NT Workstation NT Workstation • Un potente sistema operativo de 32-bit tipo desktop • Puede trabajar dentro de un ambiente peer-to-peer workgroup • Diseñado para Workstation en un ambiente NT Server Características de NT • Diseñado con el "Networking" en mente • Soporta los siguientes file systems: NTFS, CDFS y FAT (16) • Es muy portable. • Incorpora hardware abstraction layer (HAL) • Escalabilidad • Soporta full pre-emptive multitasking para todas las aplicaciones. • Cumple norma C2 del "US Department of Defense security Standard". Tiene muchas opciones de seguridad, incluyendo las siguientes: • Mandatory logon • Discretionary Access • Memory protection • Auditing New technology file system (NTFS) es el file system nativo de NT. NT 4.0 es soportado en las siguientes redes: • Banyan VINES • DEC Pathworks • IBM LAN Server • Microsoft LAN Manager • Microsoft Windows for Workgroups • Novell NetWare • AppleTalk • TCP/IP • NetBEUI. • IPX/SPX. También es soportado, con software adicional, en las redes SNA de IBM. NT soporta clientes de muchas otras redes incluyendo: • MS-DOS • Macintosh • OS/2 • Novell NetWare Windows NT presenta una arquitectura del tipo cliente-servidor. Objetivos de diseño: • Un núcleo tan pequeño como fuera posible (basado en micro-kernel) • Soportar los sistemas distribuidos En el diseño de Windows NT han confluido tres modelos: • Modelo cliente-servidor. • Modelo de objetos. • objetos software (lógicos) • Los dispositivos hardware (físicos) también son objetos. (UNIX, trata a los dispositivos como ficheros). • Modelo de multiprocesamiento simétrico. Ventajas de Windows NT. • Multitarea y multiusuario. • Soporta el uso de múltiples procesadores. • Soporta diferentes arquitecturas. • Permite el uso de servidores no dedicados. • Soporta acceso remoto, detección de intrusos, y seguridad en sesiones remotas. • El sistema está protegido del acceso ilegal a las aplicaciones. • • • • • Permite cambiar periódicamente las contraseñas. Soporta múltiples protocolos. Soporta múltiples impresoras y prioridades en colas de impresión. Posibilidad de asignar diferentes permisos a diferentes de usuarios. Permite realizar diferentes tipos de auditorias Desventajas de Windows NT. • No permite criptografía de llave pública ni privada. • Consume muchos recursos de Hardware. • No se puede limitar el espacio en el disco duro. • No soporta archivos de NFS. Seguridad. • Seguridad por medio del acceso mediante cuentas y contraseñas. • Protecciones para directorios, archivos, y periféricos • Permite administrarla de modo centralizado La Conexión con Internet: Usa el FTP (nativo del WEB. ) Dominios. • Es un grupo de servidores que funcionan como un único sistema. • Microsoft adopta el estilo de UNIX referente a los dominios • La administración de red se basa en los dominios y relaciones de confianza. • Los servidores del dominio utilizan las mismas cuentas de usuario. Sistemas operativos a futuro • Los SO deben ser robustos. • Ninguna acción del usuario debe afectar al sistema. • Debe ser imposible que cualquier programa interrumpa el funcionamiento de otros programas, o de la máquina en su totalidad. El Sistema Operativo del Mañana ¿? Actualmente, hay solamente dos paradigmas fundamentales: • Intérprete de línea de comando (UNIX, DOS) • Interfaz gráfica (Macintosh OS, OS/2, Windows). Sistemas operativos e Internet en televisión