Ao de la Inversin para el Desarrollo Rural y la Seguridad Alimentaria
ESCUELA DE INGENIERA DE SISTEMAS
SISTEMAS OPERATIVOS
PROFESOR: MARN RODRIGEZ, WILLIAM JOEL
ALUMNO:
CHAVEZ MAITA, LUIS JAVIER
VIII CICLO
HUACHO PER
2013
ESTRUCTURA DE UN SISTEMA OPERATIVO
SISTEMAS MODULARES O MONOLTICOS: Su caracterstica principal de este tipo de sistema operativo es que carece de estructura ya que est formada por diferentes procedimientos los cuales pueden ser llamados entre s a travs de sus diferentes interfaces. Sin embargo cabe destacar las falencias en este tipo de estructura que radica principalmente en la poca confiabilidad otorgada, ya que todo el sistema, al no tener una estructura definida, se ejecuta todo en el mismo nivel del kernel lo que hace altamente vulnerable, por esta razn cuando falla un programa se produce un error en todo el sistema. Adems, otro problema inherente al sistema monoltico es que si se modifica el hardware por o general es necesario recompilar el kernel para poder disponer de las funcionalidades llevando por ello a que se consuma tiempo y recursos porque la compilacin de un nuevo kernel puede durar varias horas y necesita de una gran cantidad de memoria. Sin embargo incluso en este tipo de sistemas es posible tener al menos algo de estructura. Los servicios (llamadas al sistema) que proporciona el sistema operativo se solicitan colocando los parmetros en lugares bien definidos, como en los registros o en la pila para despus ejecutar una instruccin especial de trampa de nombre llamada al ncleo. Ventajas: Rapidez, interfaz simple y homognea. Desventajas: Complejo, difcil de modificar.
Ejemplos de sistemas operativos UNIX: UNIX: Al igual que otros sistemas operativos, el sistema operativo UNIX es un conjunto de programas de utilidad y un conjunto de instrumentos que permiten al usuario conectar y utilizar esas utilidades para construir sistemas y aplicaciones. Caractersticas: PROGRAMAS DE UTILIDAD (UTILERIAS): El Sistema Operativo UNIX incluye una gran variedad de programas de utilidad que pueden ser fcilmente adaptadas para realizar tareas especficas. Estas utileras son flexibles, adaptables, portables y modulares, y pueden ser usadas junto con filtros y re direccionamientos para hacerlos ms poderosos. SISTEMA MULTIUSUARIOS: Dependiendo del equipo disponible, un UNIX puede soportar desde uno hasta ms de 100 usuarios, ejecutando cada uno de ellos un conjunto diferente de programas. SISTEMA MULTITAREAS: UNIX permite la realizacin de ms de una tarea a la vez. Pueden ejecutarse varias tareas en su interior, mientras se presta toda la atencin al programa desplegado en la terminal. ESTRUCTURA DE ARCHIVOS: La estructura de archivos del UNIX est pensada para facilitar el registro de una gran cantidad de archivos. Utiliza una estructura jerrquica o de rbol que permite a cada usuario poseer un directorio principal con tantos subdirectorios como desee; UNIX tambin permite a los usuarios compartir archivos por medio de enlaces (links), que hacen aparecer los archivos en ms de un directorio de usuario. Adems, UNIX permite proteger los archivos del usuario contra el acceso por parte de otros usuarios. ENTRADA Y SALIDA INDEPENDIENTE DEL DISPOSITIVO: Los dispositivos (como una impresora o una terminal) y los archivos en disco son considerados como archivos por UNIX. Cuando se da una instruccin al UNIX puede indicrsele que enve el resultado a cualquiera de los diversos dispositivos o archivos. Esta desviacin recibe el nombre de re direccionamiento de la salida. En forma similar, la entrada de un programa puede re direccionarse para que venga de un archivo en disco. En el UNIX, la entrada y la salida son INDEPENDIENTES DEL DISPOSITIVO, pueden re direccionarse hacia o desde cualquier dispositivo apropiado. COMUNICACIN ENTRE PROCESOS: UNIX permite el uso de conductos y filtros en la lnea de comandos. Un conducto (pipe) redirige la salida de un programa para que se convierta en entrada de otro. Un filtro es un programa elaborado para procesar un flujo de datos de entrada y producir otro de datos de salida. Los conductos y filtros suelen usarse para unir utileras y realizar alguna tarea especfica. LINUX: LINUX (o GNU/LINUX, ms correctamente) es un Sistema Operativo como MacOS, DOS o Windows. Es decir, Linux es el software necesario para que tu ordenador te permita utilizar programas como: editores de texto, juegos, navegadores de Internet, etc. Linux puede usarse mediante un interfaz grfico al igual que Windows o MacOS, pero tambin puede usarse mediante lnea de comandos como DOS. Linux tiene su origen en Unix. ste apareci en los aos sesenta, desarrollado por los investigadores Dennis Ritchie y Ken Thompson, de los Laboratorios Telefnicos Bell.
Caracteristicas: Libre, cualquiera lo puede usar, modificar y distribuir. Gratis, tantas licencias como se desee. Desarrollado por miles de voluntarios en el mundo. Cualquiera puede participar y pertenecer a la comunidad. Cdigo fuente abierto a todos. Alta estabilidad, por lo que es difcil que se quede colgado. Extremadamente seguro ya que tiene varios sistemas de proteccin. Facilidad de uso en muchas tareas. Lee y escribe en sistemas de archivos de Windows y Macintosh. Se comunica con cualquier otro sistema en red. Las distribuciones se basan en escritorios de ventana como KDE o Gnome. Necesita bajos requerimientos de Hardware. Ocupa poca memoria debido a la sencillez de UNIX. Posee mejores controladores grficos. Los dispositivos funcionan ms rpido. SYLLABLE Syllable es un sistema operativo libre que fue desarrollado para asegurar la existencia del hoy desparecido sistema operativo AtheOS. AtheOS fue implementado a principios de los aos 90 en su diseo tiene muchas semejanzas a BeOS pero se trata de sistemas operativos distintos, no son compatibles ni a nivel de cdigo fuente. Syllable se trata de un fork de AtheOS al cual se ha ido desarrollando e incorporndole nuevas caractersticas, aplicaciones y drivers. Hoy en da Syllable es un sistema operativo estable que cuenta con un desarrollo activo por parte de su comunidad. Este sistema operativo no es un clon de UNIX como puede ser Linux,*BSD etc. Se trata de un sistema operativo grfico y de escritorio principalmente escrito en C++ (su API es orientada a objetos como BeOS) y compatible en un 99% al estndar POSIX. Posee un sistema de ficheros transaccional de 64 bits, BASH como intrprete de comandos, arranca en unos 10 o 15 segundos, soporta SMP (Multiproceso simtrico) y su Interfaz grfica de usuario est integrada en el propio sistema operativo ( no se ejecuta como un programa aparte a diferencia de X11).
SISTEMAS JERAQUICOS: El objetivo principal de este tipo de estructura es la organizacin jerrquica del sistema operativo ya que con el tiempo fue creciendo las necesidades de los usuarios, por ello se dividi el sistema operativo en pequeas partes, de tal forma que cada una de ellas estuviera perfectamente definida con una clara interface con cada uno de los elementos. Esta organizacin jerrquica est compuestos por capas o anillos concntricos es decir, cada una de las capas o anillos estn construida sobre la anterior.
Capa 5 Usuario 4 Archivos 3 E/S 2 Comunicaciones 1 memoria 0 Gestin de CPU
Capa 0: En esta capa se proporciona la multiprogramacin bsica de la CPU, esto quiere decir que trabaja en la asignacin del procesador y tambin se alteran los procesos cuando se ocurren las interrupciones o expiran los cronmetros. Dichos sistemas constan de procesos secunciales, estos se pueden programar sin importar que varios procesos se estn ejecutando en el mismo procesador. Capa 1: Aqu se administra la memoria, al mismo tiempo se asignaba el espacio de memoria principal para los diversos procesos y un depsito de palabras de 512K en el cual se utilizaba para almacenar partes de los procesos, en este caso las paginas, ya que no exista un lugar en la memoria principal. En esta capa no se debe de preocupar que los procesos que estn en memoria o en el depsito, esto se debe que el software de esta capa se encarga de garantizar que las paginas lleguen a la memoria cuando fueran necesarias. Capa 2: Esta capa se encarga de la comunicacin entre el proceso y la consola de usuario. Arriba de esta capa, cada proceso tiene su propia consola. Capa 3: En esta capa se controlan los dispositivos de E/S y tambin guarda buffers los flujos de informacin ente los diferentes dispositivos. Por encima de esta capa, los procesos pueden trabajar con dispositivos especfico de E/S teniendo propiedades adecuadas. Capa 4: Aqu se localizan los programas de los usuarios, estos no se preocupan por el proceso, memoria, consola o control de E/S, que se tuviera que utilizar Capa 5: En esta capa se localiza el proceso operador del sistema.
Ventajas: La principal ventaja que ofrece este tipo es la modularidad y la ocultacin de la informacin. Una capa no necesita conocer cmo se ha implementado la capa sobre la que se construye, nicamente necesita conocer la interfaz que ofrece. Esto facilita enormemente la depuracin y verificacin del sistema, puesto que las capas se pueden ir construyendo y depurando por separado. Desventajas: estructura jerrquica es demasiado flexible. Cada cruce entre niveles involucra una sobre carga El sistema de archivos requiere de servicios de memoria virtual Sistemas reales tiene ciclos de uso.
Ejemplos: MULTICS Multics fue uno de los primeros sistemas operativos que implement un nico nivel de almacenamiento para el acceso a los datos, desechando la clara distincin entre los ficheros (llamados segmentos en Multics) y los procesos en memoria. La memoria de un proceso consista solamente en segmentos que estaban mapeados en su espacio de direcciones; para leer o escribir en ellos, el proceso simplemente utilizaba instrucciones normales de la CPU, y el sistema operativo tena cuidado de asegurarse que todas las modificaciones fueran guardadas en disco. En la terminologa POSIX, era como si cada fichero fuese mapeado; sin embargo, en Multics no exista el concepto de memoria de proceso, separado del de la memoria utilizada para mantener mapeados sobre los ficheros, como hace Unix. Toda la memoria del sistema formaba parte de algn segmento, que apareca en el sistema de archivos; incluida la memoria temporal del proceso, la pila del ncleo, etc.
THE El sistema de multiprogramacin THE fue un sistema operativo designado por un equipo liderado por Edsger W. Dijkstra, descrito en monografas entre 1965 y 1966 y publicado en 1968. Dijkstra nunca le dio el nombre "THE", sino que esto fue solamente una abreviatura de "Technische Hogeschool Eindhoven", el nombre original de la universidad tecnolgica Eindhoven, situada en Holanda. El sistema operativo THE fue principalmente un sistema BATCH que soportaba multi-tarea, aunque no fue diseado como tal. THE introdujo las primeras formas de segmentacin de memoria por software, liberando a los programadores de tener que direccionar sobre la memoria fsica. Esto se logr utilizando una versin modificada del compilador ALGOL (el nico lenguaje de programacin soportado por el sistema de Dijkstra) para generar llamadas automticas a las rutinas de sistema, asegurando que la informacin requerida estuviese en memoria, intercambindose de ser necesario. El sistema tena 6 estratos: 5 Operador de THE 4 Programas del usuario 3 Administracin de Entrada/Salida 2 Comunicacin entre el operador y el proceso 1 Administracin de la memoria y el tambor magntico 0 Distribucin del procesador y multiprogramacin
MAQUINAS VIRTUALES Cuando se habla de mquinas virtuales se puede decir que es una copia exacta de la mquina real, generada por software, los sistemas Operativos de mquinas virtuales proporcionan al usuario una copia exacta del hardware desnudo incluyendo sus modos usuario y ncleo, dispositivos de entrada y salida, interrupciones, almacenamiento, etc..,llamadas mquinas virtuales, aparentando as que cada terminal posee su propia mquina virtual. En un sistema de mquina virtual se encuentra el Kernel denominado monito de la mquina virtual, este se ejecuta sobre el hardware generando varias mquinas virtuales es as como se realiza la llamada multiprogramacin (tcnica que permite que dos o ms procesos ocupen la misma unidad central de proceso o CPU). El sistema operativo virtual tiene como capa inferior el hardware sobre el cual se ejecuta el kernel o ncleo. Sobre este hardware se encuentra el sistema generador de mquinas virtuales (SGMV) encargado de multiprogramar muchas mquinas virtuales sobre una mquina fsica. Sobre este se encuentran los sistemas operativos de cada una de las mquinas virtuales encargado de realizar todas sus funciones (administracin de almacenamiento, control de entradas y salidas, multiprogramacin, etc). Ventajas: Con las mquinas virtuales podemos tener varios sistemas operativos sin necesidad de crear particiones o tener ms discos duros, esto nos permitir poder tener sistemas operativos para pruebas. Desventajas: La principal desventaja de las mquinas virtuales, es que en la aplicacin de algunos procesos tendr como efecto la lentitud del computador, es decir, la computadora en la cual est ejecutando este proceso debe tener una capacidad bastante notable debe ser de gran capacidad o potente. Ejemplos VM 370: El VM/CMS es un sistema operativo de mquina virtual que se anunci para el pblico en 1972 por IBM para computadores centrales omainframes, plataformas como System/370, System/390, zSeries, System Z9 adems de otros sistemas compatibles como el emulador Hrcules. Est basado en mquina virtual de sistema cuyo ncleo es un programa de control llamado CP (Control de programa) o tambin denominado VMCP(Virtual Machine Control de Programa) cuya principal caracterstica es que permite la ejecucin de una mquina virtual dentro de otra mquina virtual, tambin es la encargada de controlar los dispositivos hardware del ordenador: CPU, discos cintas, etc. Adems CP es quin controla el proceso de LOGON de un usuario y activa la mquina virtual. Junto a este componente existe el CMS (Conversacional Monitor System) su entorno permite la ejecucin, creacin y depuracin de aplicaciones, gestin de archivos de datos, trabajo por lotes adems de comunicarse con otros usuarios y sistemas, en general es el encargado de aceptar las rdenes del usuario y convertirlas en instrucciones que el CP es capaz de ejecutar.
ESTRUCTURA CLIENTE- SERVIDOR Viene a ser el sistema distribuido entre mltiples procesadores donde hay clientes que solicitan servicios y servidores que los proporcionan. Separa los servicios situando cada uno en su plataforma ms adecuada. Desde el punto de vista funcional se puede definir la computacin Cliente/servidor como una arquitectura distribuida que permite a los usuarios finales obtener acceso a la informacin en forma transparente an en entornos multiplataforma. En el modelo cliente servidor, el cliente enva un mensaje solicitando un determinado servicio a una servidor es decir hace una peticin, y este enva uno o varios mensajes con la respuesta (provee el servicio). Ventajas: Facilita la integracin entre sistemas diferentes y comparte informacin, permitiendo por ejemplo que las mquinas ya existentes puedan ser utilizadas pero utilizando interfaces ms amigables el usuario. De esta manera, se puede integrar PCs con sistemas medianos y grandes, sin necesidad de que todos tengan que utilizar el mismo sistema operativo. Al favorecer el uso de interfaces grficas interactivas, los sistemas construidos bajo este esquema tienen una mayor y ms intuitiva con el usuario. En el uso de interfaces grficas para el usuario, presenta la ventaja, con respecto a uno centralizado, de que no siempre es necesario transmitir informacin grfica por la red pues esta puede residir en el cliente, lo cual permite aprovechar mejor el ancho de banda de la red. La estructura inherentemente modular facilita adems la integracin de nuevas tecnologas y el crecimiento de la infraestructura computacional, favoreciendo as la escalabilidad de las soluciones. Contribuye adems a proporcionar a los diferentes departamentos de una organizacin, soluciones locales, pero permitiendo la integracin de la informacin.
Desventajas: El mantenimiento de los sistemas es ms difcil pues implica la interaccin de diferentes partes de hardware y de software, distribuidas por distintos proveedores, lo cual dificulta el diagnstico de fallas. Cuenta con muy escasas herramientas para la administracin y ajuste del desempeo de los sistemas. Es importante que los clientes y los servidores utilicen el mismo mecanismo (por ejemplo sockets o RPC), lo cual implica que se deben tener mecanismos generales que existan en diferentes plataformas. Hay que tener estrategias para el manejo de errores y para mantener la consistencia de los datos. El desempeo (performance), problemas de este estilo pueden presentarse por congestin en la red, dificultad de trfico de datos, etc.
Ejemplos: SERVIDOR WEB: Un servidor web es un programa que se ejecuta continuamente en un computador, mantenindose a la espera de peticiones de ejecucin que le har un cliente o un usuario de Internet. El servidor web se encarga de contestar a estas peticiones de forma adecuada, entregando como resultado una pgina web o informacin de todo tipo de acuerdo a los comandos solicitados. En este punto es necesario aclarar lo siguiente: mientras que comnmente se utiliza la palabra servidor para referirnos a una computadora con un software servidor instalado, en estricto rigor un servidor es el software que permite la realizacin de las funciones descritas. El servidor vendra a ser la "casa" de los sitios que visitamos en la Internet. Los sitios se alojan en computadores con servidores instalados, y cuando un usuario los visita son estas computadoras las que proporcionan al usuario la interaccin con el sitio en cuestin. Cuando se contrata un plan de alojamiento web con una compaa, esta ltima proporciona un servidor al dueo del sitio para poder alojarlo; al respecto hay dos opciones, optar por un "servidor dedicado", lo que se refiere a una computadora servidora dedicada exclusivamente al sitio del cliente (para aplicaciones de alta demanda), o un "servidor compartido", lo que significa que un mismo servidor (computadora + programa servidos) se usar para varios clientes compartiendo los recursos. SERVIDOR DE CORREO: Un servidor de correo es una aplicacin informtica que tiene como objetivo, enviar, recibir y gestionar mensajes a travs de las redes de transmisin de datos existentes, con el fin de que los usuarios puedan mantenerse comunicados con una velocidad muy superior a la que ofrecen otros medios de envo de documentos. Los servidores de correo trabajan como una agencia de correo postal, slo que no envan paquetes, sino, datos digitales e informacin electrnica, la cual llega a su destino de forma casi inmediata.