Este documento presenta una introducción a los sistemas operativos, incluyendo su historia, definición, clasificación, cómo funcionan y se utilizan, ejemplos de sistemas operativos comunes, y los componentes y funciones clave de los sistemas operativos como la gestión de procesos, memoria y almacenamiento. Explica brevemente el desarrollo de los sistemas operativos desde los primeros sistemas de procesamiento por lotes hasta los modernos sistemas operativos multiprogramados y en tiempo real.
1. SISTEMAS OPERATIVOS JESSICA JULIETH ARTUNDUAGA BERRIO INSTITUTO DE EDUCACION SUPERIOR CORUNIVERSITEC BOGOTA.D.C MAYO 24 DEL 2011SISTEMAS OPERATIVOS JESSICA JULIETH ARTUNDUAGA BERRIOGESTION EMPRESIAL GRUPO 1A BLADIMIR CHIQUIZA INSTITUTO DE EDUCACION SUPERIOR CORUNIVERSITEC BOGOTA.D.C MAYO 24 DEL 2011 CONTENIDOHistoria de sistemas operativos Definición de sistemas operativos Clasificación de sistemas operativos Como funcionan los sistemas operativos Como se utilizan los sistemas operativos Ejemplos de sistemas operativos Sistemas operativos multiprogramadosModos de ejecución en CPULlamadas al sistema operativo Componentes del sistema operativoMonitores residentesSistemas con almacenamiento temporal de E/S Gestión de procesos Gestión de memoria principalGestión almacenamiento secundarioConclusiones bibliografia HISTORIA DE SISTEMAS OPERATIVOS Los primeros sistemas (1945-1960) eran grandes máquinas operadas desde la consola maestra por los programadores. Durante la década siguiente (1950-1960) se llevaron a cabo avances en el hardware: lectoras de tarjeta, impresoras, cintas magnéticas etc. Esto a su vez provocó un avance en el software: compiladores, ensambladores, cargadores manejadores de dispositivos, etc.A finales de los Años 80 una computadora Commodore amiga equipada con una aceleradora video toaster era capaz de producir efectos comparados a sistemas dedicados que costaban el triple. Un Video Toaste junto a Lightwave ayudó a producir muchos programas de televisión y películas, entre las que se incluyen babylon 5 Seaquest DSV y Terminator II. Un Sistema Operativo (SO) es el software básico de una computadora que provee una interfaz entre el resto de programas del ordenador, los dispositivos hardware y el usuario. Las funciones básicas del Sistema Operativo son administrar los recursos de la máquina, coordinar el hardware y organizar archivos y directorios en dispositivos de almacenamiento. Los Sistemas Operativos más utilizados son Dos, Windows, Linux y Mac. Algunos SO ya vienen con un navegador integrado, como Windows que trae el navegador Internet Explorer.El problema principal de los primeros sistemas era la baja utilización de los mismos, la primera solución fue poner un operador profesional que lo manejase, con lo que se eliminaron las hojas de reserva, se ahorró tiempo y se aumentó la velocidad.Para ello, los trabajos se agrupaban de forma manual en lotes mediante lo que se conoce como procesamientos de lotes (batch) sin automatizar.Los avances en el hardware crearon el soporte de interrupciones y posteriormente se llevó a cabo un intento de solución más avanzado: solapar la E/S de un trabajo con sus propios cálculos, por lo que se creó el sistema de buffers con el siguiente funcionamiento:Un programa escribe su salida en un área de memoria (buffer 1).El monitor residente inicia la salida desde el buffer y el programa de aplicación calcula depositando la salida en el buffer 2.La salida desde el buffer 1 termina y el nuevo cálculo también.Se inicia la salida desde el buffer 2 y otro nuevo cálculo dirige su salida al buffer 1.El proceso se puede repetir de nuevo.Los problemas surgen si hay muchas más operaciones de cálculo que de E/S (limitado por la CPU) o si por el contrario hay muchas más operaciones de E/S que cálculo (limitado por la E/S). DEFINICION DE SISTEMA OPERATIVOEl 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. En sistemas grandes, el sistema operativo tiene incluso mayor responsabilidad y poder, es como un policía de tráfico, se asegura de que los programas y usuarios que están funcionando al mismo tiempo no interfieran entre ellos. El sistema operativo también es responsable de la seguridad, asegurándose de que los usuarios no autorizados no tengan acceso al sistema. Un sistema operativo (SO) es el programa o conjunto de programas que efectúan la gestión de los procesos básicos de un sistema informático, y permite la normal ejecución del resto de las operaciones.[1]Nótese que es un error común muy extendido denominar al conjunto completo de herramientas sistema operativo, es decir, la inclusión en el mismo término de programas como el explorador de ficheros, el navegador y todo tipo de herramientas que permiten la interacción con el sistema operativo, también llamado núcleo o kernel. Uno de los más prominentes ejemplos de esta diferencia, es el núcleo Linux, que es el núcleo del sistema operativo GNU, del cual existen las llamadas distribuciones GNU. Este error de precisión, se debe a la modernización de la informática llevada a cabo a finales de los 80, cuando la filosofía de estructura básica de funcionamiento de los grandes computadores se rediseñó a fin de llevarla a los hogares y facilitar su uso, cambiando el concepto de computador multiusuario, (muchos usuarios al mismo tiempo) por un sistema mono usuario (únicamente un usuario al mismo tiempo) más sencillo de gestionar. (Véase Amigaos, beOS o MacOS como los pioneros[4] de dicha modernización, cuando los Amiga, fueron bautizados con el sobrenombre de Video Toasters por su capacidad para la Edición de vídeo en entorno multitarea round robin, con gestión de miles de colores e interfaces intuitivos para diseño en 3D.Uno de los propósitos del sistema operativo que gestiona el núcleo intermediario consiste en gestionar los recursos de localización y protección de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. Se encuentran en la mayoría de los aparatos electrónicos que utilizan microprocesadores para funcionar. (Teléfonos móviles, reproductores de DVD, computadoras, radios, etc.). Interacción entre el SO con el resto de las partes. CLASIFICACION 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. Estimación del uso de sistemas operativos según una muestra de computadoras con acceso a Internet en Noviembre de 2009 (Fuente: W3counter). COMO FUNCIONA UN SISTEMA OPERATIVOLos sistemas operativos proporcionan una plataforma de software encima de la cual otros programas, llamados aplicaciones, puedan funcionar. Las aplicaciones se programan para que funcionen encima de un sistema operativo particular, por tanto, la elección del sistema operativo determina en gran medida las aplicaciones que puedes utilizar.Los sistemas operativos más utilizados en los PC son DOS, OS/2, y Windows, pero hay otros que también se utilizan, como por ejemplo Linux COMO SE UTILIZA UN SISTEMA OPERATIVO Un usuario normalmente interactúa con el sistema operativo a través de un sistema de comandos, por ejemplo, el sistema operativo DOS contiene comandos como copiar y pegar para copiar y pegar archivos respectivamente. Los comandos son aceptados y ejecutados por una parte del sistema operativo llamada procesador de comandos o intérprete de la línea de comandos. Las interfaces gráficas permiten que utilices los comandos señalando y pinchando en objetos que aparecen en la pantalla. <br /> <br /> EJEMPLOS DE SISTEMAS OPERATIVOS <br />A continuación detallamos algunos ejemplos de sistemas operativos:<br />Familia Windows<br />Windows 95<br />Windows 98<br />Windows ME<br />Windows NT<br />Windows 2000<br />Windows 2000 server<br />Windows XP<br />Windows Server 2003<br />Windows CE<br />Windows Mobile<br />Windows XP 64 bits<br />Windows Vista (Longhorn) <br />Familia Macintosh<br />Mac OS 7<br />Mac OS 8<br />Mac OS 9<br />Mac OS X<br />Familia UNIX<br />AIX<br />AMIX<br />GNU/Linux<br />GNU / Hurd<br />HP-UX<br />Irix<br />Minix<br />System V<br />Solaris Unixware<br /> SISTEMAS OPERATIVOS MULTIPROGRAMADOS <br />Surge un nuevo avance en el hardware: el hardware con protección de memoria. Lo que ofrece nuevas soluciones a los problemas de rendimiento:<br />Se solapa el cálculo de unos trabajos con la entrada/salida de otros trabajos.<br />Se pueden mantener en memoria varios programas.<br />Se asigna el uso de la CPU a los diferentes programas en memoria.<br />Debido a los cambios anteriores, se producen cambios en el monitor residente, con lo que éste debe abordar nuevas tareas, naciendo lo que se denomina como Sistemas Operativos multiprogramados, los cuales cumplen con las siguientes funciones:<br />Administrar la memoria.<br />Gestionar el uso de la CPU (planificación).<br />Administrar el uso de los dispositivos de E/S.<br />Cuando desempeña esas tareas, el monitor residente se transforma en un sistema operativo multiprogramado.<br /> MODOS DE EJECUCION EN CPU<br /> <br />Las aplicaciones no deben poder usar todas las instrucciones de la CPU. No obstante el Sistema Operativo, tiene que poder utilizar todo el juego de instrucciones del CPU. Por ello, una CPU debe tener (al menos) dos modos de operación diferentes:<br />Modo usuario: el CPU podrá ejecutar sólo las instrucciones del juego restringido de las aplicaciones.<br />Modo supervisor: la CPU debe poder ejecutar el juego completo de instrucciones<br /> LLAMADAS AL SISTEMA OPERATIVO <br />Definición breve: llamadas que ejecutan los programas de aplicación para pedir algún servicio al SO.<br />Cada SO implementa un conjunto propio de llamadas al sistema. Ese conjunto de llamadas es la interfaz del SO frente a las aplicaciones. Constituyen el lenguaje que deben usar las aplicaciones para comunicarse con el SO. Por ello si cambiamos de SO, y abrimos un programa diseñado para trabajar sobre el anterior, en general el programa no funcionará, a no ser que el nuevo SO tenga la misma interfaz. Para ello:<br />Las llamadas correspondientes deben tener el mismo formato.<br />Cada llamada al nuevo SO tiene que dar los mismos resultados que la correspondiente del anterior.<br /> <br /> COMPONENTES DE UN SISTEMA OPERATIVO<br />Componentes del Sistema Operativo.<br /> MONITORES RESIDENTES <br />Fichas en lenguaje de procesamiento por lotes, con programa y datos, para ejecución secuencial.<br />Según fue avanzando la complejidad de los programas, fue necesario implementar soluciones que automatizaran la organización de tareas sin necesidad de un operador. Debido a ello se crearon los monitores residentes: programas que residían en memoria y que gestionaban la ejecución de una cola de trabajos.<br />Un monitor residente estaba compuesto por un cargador, un Intérprete de comandos y un Controlador (drivers) para el manejo de entrada/salida.<br /> SISTEMAS CON ALMACENAMIENTO TEMPORAL DE E/S<br />Los avances en el hardware crearon el soporte de interrupciones y posteriormente se llevó a cabo un intento de solución más avanzado: solapar la E/S de un trabajo con sus propios cálculos, por lo que se creó el sistema de buffers con el siguiente funcionamiento:<br />Un programa escribe su salida en un área de memoria (buffer 1).<br />El monitor residente inicia la salida desde el buffer y el programa de aplicación calcula depositando la salida en el buffer 2.<br />La salida desde el buffer 1 termina y el nuevo cálculo también.<br />Se inicia la salida desde el buffer 2 y otro nuevo cálculo dirige su salida al buffer 1.<br />El proceso se puede repetir de nuevo.<br />Los problemas surgen si hay muchas más operaciones de cálculo que de E/S (limitado por la CPU) o si por el contrario hay muchas más operaciones de E/S que cálculo (limitado por la E/S).<br /> GESTION DE PROCESOS <br />Un proceso es simplemente, un programa en ejecución que necesita recursos para realizar su tarea: tiempo de CPU, memoria, archivos y dispositivos de E/S. El SO es el responsable de:<br />Crear y destruir los procesos.<br />Parar y reanudar los procesos.<br />Ofrecer mecanismos para que se comuniquen y sincronicen.<br />La gestión de procesos podría ser similar al trabajo de oficina. Se puede tener una lista de tareas a realizar y a estas fijarles prioridades alta, media, baja por ejemplo. Debemos comenzar haciendo las tareas de prioridad alta primero y cuando se terminen seguir con las de prioridad media y después las de baja. Una vez realizada la tarea se tacha. Esto puede traer un problema que las tareas de baja prioridad pueden que nunca lleguen a ejecutarse. y permanezcan en la lista para siempre. Para solucionar esto, se puede asignar alta prioridad a las tareas más antiguas.<br /> <br /> GESTION DE LA MEMORIA PRINCIPAL<br />La Memoria es una gran tabla de palabras o bytes que se referencian cada una mediante una dirección única. Este almacén de datos de rápido accesos es compartido por la CPU y los dispositivos de E/S, es volátil y pierde su contenido en los fallos del sistema. El SO es el responsable de:<br />Conocer qué partes de la memoria están siendo utilizadas y por quién.<br />Decidir qué procesos se cargarán en memoria cuando haya espacio disponible.<br />Asignar y reclamar espacio de memoria cuando sea necesario<br />GESTION DE ALMACENAMIENTO SECUNDARIO <br />Un sistema de almacenamiento secundario es necesario, ya que la memoria principal (almacenamiento primario) es volátil y además muy pequeña para almacenar todos los programas y datos. También es necesario mantener los datos que no convenga mantener en la memoria principal. El SO se encarga de:<br />Planificar los discos.<br />Gestionar el espacio libre.<br />Asignar el almacenamiento.<br />Verificar que los datos se guarden en orden<br /> CONCLUSIONES <br />Obtuve mas conocimiento sobre el medio de sistemas operativos y cuales son sus funciones, como esta compuesto etc.<br />Aclare muchas dudas de cómo se realiza un sistema operativo y obtuve mas información sobre el tema .<br /> Este trabajo me sirvió mucho tanto para tener conocimiento y para corregir las formas de realizar un sistema operativo.<br /> BIBLIOGRAFIA<br />Enciclopedias<br />Diccionarios <br />www.google.com<br />www.wikipedia.com<br />