República Bolivariana de Venezuela Ministerio Del Poder Popular Para La Educación Universidad Nacional Experimental De Los Llanos Occidentales “Ezequiel Zamora” Achaguas Edo Apure Introducción a los Sistemas Operativos Profesor: Alan Cuenca Integrantes: Rattia Josennis 30.055.478 Achaguas, 6-11-23 Índice Contenido Introducción .................................................................................................................................................. 3 Definir los sistemas operativos ..................................................................................................................... 4 Tipos de sistema operativo ........................................................................................................................... 4 Evolucion de los sistemas operativos ............................................................................................................ 5 Procesamiento de interrucciones ............................................................................................................... 13 Conclusión ................................................................................................................................................... 16 Bibliografía................................................................................................................................................... 17 Introducción Los sistemas operativos son programas informáticos que actúan como intermediarios entre el hardware de un dispositivo y el usuario, facilitando la interacción y gestión de los recursos del sistema. Estos sistemas son fundamentales para el funcionamiento de computadoras, teléfonos móviles, tabletas y otros dispositivos electrónicos, ya que permiten la ejecución de aplicaciones y la realización de tareas de manera eficiente. Además, los sistemas operativos proporcionan una interfaz gráfica que permite al usuario interactuar con el dispositivo de forma intuitiva. En resumen, los sistemas operativos son esenciales para el funcionamiento de la tecnología moderna. Definir los sistemas operativos El sistema operativo es el software que coordina y dirige todos los servicios y aplicaciones que utiliza el usuario en una computadora, por eso es el más importante y fundamental. Se trata de programas que permiten y regulan los aspectos más básicos del sistema. Los sistemas operativos más utilizados son Windows, Linux, OS/2 y DOS. Los sistemas operativos, también llamados núcleos o kernels, suelen ejecutarse de manera privilegiada respecto al resto del software, sin permitir que un programa cualquiera realice cambios de importancia sobre él que puedan comprometer su funcionamiento. El sistema operativo es el protocolo básico de operatividad del computador, que coordina todas sus demás funciones de comunicaciones, de procesamiento, de interfaz con el usuario. Los sistemas operativos consisten en interfaces gráficas, entornos de escritorio o gestores de ventanas que brindan al usuario una representación gráfica de los procesos en marcha. También puede ser una línea de comandos, es decir, un conjunto de instrucciones ordenado según su prioridad y que funciona en base a órdenes introducidas por el usuario. Tipos de sistema operativo Los tipos de sistema operativo varían según el hardware y la función de cada dispositivo. Existen algunos para ordenadores y otros para dispositivos móviles. Según el usuario pueden ser: multiusuario, sistema operativo que permite que varios usuarios ejecuten simultáneamente sus programas; o monousuario, sistema operativo que solamente permite ejecutar los programas de un usuario a la vez. Según la gestión de tareas pueden ser: monotarea, sistema operativo que solamente permite ejecutar un proceso a la vez; o multitarea, sistema operativo que puede ejecutar varios procesos al mismo tiempo. Según la gestión de recursos pueden ser: centralizado, sistema operativo que solo permite utilizar los recursos de un solo ordenador; o distribuido, sistema operativo que permite ejecutar los procesos de más de un ordenador al mismo tiempo. Evolucion de los sistemas operativos Primera Generación (1945 - 1955) : Tubos de vacío y tableros enchufables En esta década aparecen los sistemas de procesamiento por lotes, donde los trabajos se reunían por grupos o lotes. Cuando se ejecutaba alguna tarea, ésta tenía control total de la máquina. Al terminar cada tarea, el control era devuelto al sistema operativo, el cual limpiaba, leía e iniciaba la siguiente tarea. Aparece el concepto de nombres de archivo del sistema para lograr independencia de información. Los laboratorios de investigación de General Motors poseen el crédito de haber sido los primeros en poner en operación un sistema operativo para su IBM 701. Al inicio de la década de 1950, la rutina había mejorado un poco con la introducción de la tarjetas perforadas. Ahora era posible escribir en tarjetas y leerlos, en vez de utilizar tableros enchufables; de lo contrario el procedimiento era el mismo. Segunda Generación (1955 - 1965 ) : Transistores y sistemas de lote En esta generación se desarrollan los sistemas compartidos con multiprogramación, en los cuales se utilizan varios procesadores en un solo sistema, con la finalidad de incrementar el poder de procesamiento de la máquina. El programa especificaba tan sólo que un archivo iba a ser escrito en una unidad de cinta con cierto número de pistas y cierta densidad. El sistema operativo localizaba entonces una unidad de cinta disponible con las características deseadas, y le indicaba al operador que montara una cinta en esa unidad. La estructura de un trabajo de entrada común arrancaba con una tarjeta $JOB , que especifica el tiempo máximo de ejecución en minutos, el número de cuenta que se cargara y el nombre del programador. Después venia una tarjeta $FORTRAN, que indicaba al sistema operativo que debía cargar el compilador de FORTRAN. Venia seguido de un programa que debía compilarse y después de una tarjeta $LOAD, que ordenaba al sistema operativo cargar el programa objeto recién compilado, después venia la tarjeta $RUN, que indicaba al sistema operativo que debía ejecutar el programa con los datos que le seguían. Por último, la tarjeta $END marcaba el final del trabajo. Los sistemas operativos comunes eran FMS (el sistema monitor del FORTRAN) e IBSYS, sistema operativo de IBM de la 7094. Tercera Generación (1965-1980): Circuitos integrados (CI) y multiprogramación En esta época surge la familia de computadores IBM/360 diseñados como sistemas para uso general, por lo que requerían manejar grandes volúmenes de información de distinto tipo, lo cual provocó una nueva evolución de los sistemas operativos: los sistemas de modos múltiples, que soportan simultáneamente procesos por lotes, tiempo compartido, procesamiento en tiempo real y multiprocesamiento. Otro avance durante la tercera generación fue el crecimiento de las minicomputadoras, comenzando con DEC PDP-1 en 1961. Uno de los científicos que había trabajado en el proyecto MULTICS, Ken Thompson, hallo después una pequeña PDP-7 y empezó a escribir después una versión desguarnecida de MULTICS para un usuario. Este sistema se llamo “UNICS” ( Uniplexed information and computing service, información unicanalizada y servicio de computación ), pero su ortografía cambio mas tarde por UNIX. UNIX se ha desplazado a mas computadoras que ningún otro sistema operativo de la historia y su uso sigue aumentando rápidamente. Cuarta Generación (1980 - 1990 ) : Computadoras personales Los sistemas operativos conocidos en la época actual son los considerados sistemas de cuarta generación. Con la ampliación del uso de redes de computadoras y del procesamiento en línea es posible obtener acceso a computadoras alejadas geográficamente a través de varios tipos de terminales. Con estos sistemas operativos aparece el concepto de máquinas virtuales, en el cual el usuario no se involucra con el hardware de la computadora con la que se quiere conectar y en su lugar el usuario observa una interfaz gráfica creada por el sistema operativo. Con la creación de los circuitos integrados LSI ( integración a grande escala ), chips que contiene miles de transistores en un centímetro cuadrado de silicon, la era de computadora personal vio sus inicios. Dos sistemas operativos han dominado la escena de la computadora personal: MS-DOS, escrito por Microsoft, Inc., para la IBM PC y otras computadoras que utilizan la CPU Intel 8088 y sus sucesores. y UNIX, que domina en las computadoras personales mayores que hacen uso de CPU Motorola 68000. Aunque la versión inicial de MS-DOS era relativamente primitiva, versiones subsiguientes han incluido más y más características de UNIX, lo que no es totalmente sorprendente dado que Microsoft es un proveedor importante de UNIX, que usa el nombre comercial de XENIX. Un avance importante que empezó a tomar su sitio a mediados de la década de 1980 es el desarrollo de redes de computadoras personales que corren sistemas operativos en red y sistemas operativos distribuidos. En un sistema operativo en red, los usuarios tienen conocimiento de la existencia de múltiples computadoras y pueden ingresar en máquinas remotas y reproducir archivos de una maquina a la otra. Cada máquina ejecuta su sistema operativo local y tiene un usuario propio ( o usuarios). Un sistema distribuido, es aquel que se presenta ante sus usuarios como un sistema uniprocesador tradicional, aunque en realidad este compuesto de múltiples procesadores. En un sistema distribuido real, los usuarios no tienen conocimiento de donde se están ejecutando sus programas o de donde están ubicados sus archivos; todo esto se debe manejar en forma automática y eficiente por medio del sistema operativo. Los sistemas operativos en red no son fundamentalmente diferentes de los sistemas operativos uniprocesadores. Sin duda necesitan un controlador de interfaz en red y algún software de bajo nivel para impulsarlo, así como programas para lograr un ingreso remoto al sistema y un acceso remoto del archivo . Los sistemas operativos distribuidos reales requieren más que simplemente agregar un poco de código a un sistema operativo uniprocesador, ya que los sistemas operativos distribuidos y centralizados difieren de manera decisiva. Apple y la evolución de MacOS No sería, hasta el desarrollo del Apple Lisa (1983) y el Apple Macintosh (1984), los primeros computadores personales en incluir una interfaz gráfica, que las GUIs se harían populares al acercar el uso del computador al público general e incorporar el concepto de user friendliness. Se dice que Steve Jobs, co-fundador de Apple Computer Inc. habría tenido la idea incorporar la GUI a su próximo computador (Lisa) luego de una visita que realizó en 1979 a Xerox PARC, sin embargo hay testimonios que indican que el plan de incorporar una GUI al Apple Lisa existía de manera previa a dicha visita (Steve Jobs y los ingenieros de Apple tenían suficientes motivos para visitar Xerox PARC, en cualquier caso, y la visita efectivamente ocurrió). En cualquier caso el Apple Macintosh fue ampliamente popular en particular en el ámbito del diseño gráfico. Apple Lisa (1983), y Apple Macintosh (1984). Macintosh GUI (1984) Hasta 1999, el sistema operativo de los computadores de Apple (llamado ahora "classic mac OS") se trataba de un kernel monolítico desarrollado para chips Motorola 68k. Su última versión fue el Mac OS 9. El próximo kernel toma como punto de origen a Mach, una reimplementación de BSD Unix con arquitectura de microkernel desarrollado en Carnegie Mellon University. La compañía NeXT, fundada por Steve Jobs durante su periodo fuera de Apple, había desarrollado el sistema operativo NeXTSTEP a partir de Mach, y escrito en C y Objective-C. Cuando Apple adquirió NeXT (y a Steve Jobs de regreso), se introdujo el kernel híbrido XNU (XNU is Not Unix) combinando ideas del kernel Mach 2.5 y de UNIX BSD 4.3. Se incorporó código del kernel de NeXTSTEP (y su siguiente versión OPENSTEP), y del proyecto FreeBSD una implementación opensource de BSD UNIX. Con base en el kernel XNU se construyó el sistema operativo que se conoce como Darwin (opensource y POSIX-compliant), que junto con herramientas propietarias de Apple (como Finder y la interfaz gráfica Aqua) conformaron el sistema operativo Mac OS X. Microsoft y la evolución de Windows Fuertemente influenciado por el éxito del Apple Macintosh, a inicios de 1980s Microsoft planeaba un sucesor para MS-DOS que tuviera su propia GUI. Su primer intento fue un sistema administrador de ventanas llamado Windows 1.0 (1985) que funcionaba como una aplicación sobre MS-DOS. La versión que consiguió mayor adopción fue Windows 3.11, para sistemas de 16-bit. Fue en 1995, con el lanzamiento de Windows 95 y luego Windows 98, que se incorporó código para aprovechar las nuevas CPU de 32-bit, aun cuando parte del sistema operativo debía soportar aún aplicaciones de 16-bit por retrocompatibilidad. MS-DOS seguía siendo usado para iniciar el sistema y como soporte subyacente para aplicaciones antiguas. Ya desde 1987, Microsoft había trabajado en conjunto con IBM para construir un sistema operativo con GUI. Este sistema se conoció como OS/2, sin embargo nunca alcanzó gran popularidad ante Macintosh y los mismos Windows 9x. Eventualmente Microsoft tomó parte del trabajo desarrollado para OS/2 y reimplementó Windows usando código completamente de 32bit. Este nuevo sistema se llamó Windows NT (Windows New Technology), mientras OS/2 fue eventualmente abandonado por IBM. Windows NT fue desarrollado bajo el concepto de portabilidad. Implementó preemptive multitasking, soporte para múltiples arquitecturas modernas como IA-32, MIPS y DEC-Alpha, soporte para Windows API y POSIX, e introdujo un nuevo sistema de archivos, NTFS. La línea de Windows NT continuó con Windows XP, Windows Vista, Windows 7, Windows 8, y Windows 10. Paralelamente se introdujo una línea para servidores con Windows 2000, Windows Server 2003, Windows Server 2008, Windows Server 2012, y Windows Server 2016. Quinta Generación (1990-Presente): Computadores Móviles Hasta 1993, los dispositivos telefónicos móviles no era más que dispositivos de comunicación que usaban sistemas embebidos, dedicados, para administrar su hardware. El concepto de utilizar estos dispositivos para realizar actividades más allá de la telefonía surgió con los dispositivos conocidos como PDA (Personal Digital Assistant), entre los cuales se encuentra el Apple Newton que incluía un sistema operativo Newton OS escrito en C++, y con un pionero uso de reconocimiento de escritura manual. Poseía una API para aplicaciones desarrolladas por terceros, sin embargo no obtuvo gran adopción. Talvez el primer dispositivo llamado un smartphone fue el IBM Simon, con una interfaz de pantalla touch (con stylus) y un sistema operativo ROM-DOS, compatible con MS-DOS y desarrollado por la empresa Datalight. Su batería de una hora de duración no le permitió competir con los nuevos dispositivos. Android, la entrada de Google Meses después del lanzamiento del primer iPhone, un conjunto de compañías lideradas por Google, incluyendo a HTC, Sony, Dell, Intel, Motorola, Samsung, LG, Nvidia, entre otros, forman la Open Handset Alliance (OHA). Con el soporte de OHA, Google lanza en 2008 la primera versión de Android, un sistema operativo monolítico (UNIX-like) de código abierto basado en el kernel Linux. Android inició su desarrollo bajo la compañía Android, Inc. fundada en 2003. El año 2005 Google adquirió Android, Inc. y fue bajo su alero que el equipo de desarrollo terminó la primera versión Android 1.0. De manera similar a App Store, Android lanzó el Android Market (más tarde Google Play Store), y el Android SDK para el desarrollo de aplicaciones (escritas principalmente en Java, y recientemente en Kotlin) para terceros. El soporte de OHA, integrado por importantes actores del mercado smartphone fue clave para posicionar a Android como el sistema operativo dominador en los dispositivos móviles desde el año 2010, con iOS como su único (y distante) competidor real. A diferencia de Linux, el kernel de Android no utiliza la tradicional GNU C Library glibc, sino que utiliza una implementación alternativa de la biblioteca de C desarrollado por Google, llamada Bionic, la cual posee un menor memory footprint que glibc y fue diseñado para CPUs funcionando a menor frecuencia de clock (y por lo tanto, optimizada para menor consumo energético). Bionic, sin embargo, no implementa toda la interfaz POSIX, haciendo que Android sea Non-POSIX compliant. Procesamiento de interrucciones Es un evento que altera la secuencia en que el procesador ejecuta las instrucciones. Suspensión de un proceso, como la ejecución de un programa, originada por un suceso externo a dicho proceso y llevada a cabo de forma que el proceso pueda reanudarse. Tipos de interrupción Interrupciones de programa Generadas por alguna condición que se produce como resultado de la ejecución de una instrucción, como el desbordamiento aritmético, la división por cero, el intento de ejecutar una instrucción ilegal de la máquina, o una referencia a una zona de memoria fuera del espacio permitido al usuario. Interrupciones de reloj Generadas por el reloj interno del sistema. Esto permite al sistema operativo llevar a cabo ciertas funciones con determinada regularidad, por ejemplo, el no permitir que ciertos procesos monopolicen el sistema. Interrupciones de entrada/salida Generadas por los controladores de entrada/salida, para indicar que una operación ha terminado normalmente o para indicar diversas condiciones de error. Interrupciones de reinicio Ocurre cuando se presiona el botón de reinicio o llega desde otro procesador la instrucción de Reinicio. Interrupciones de verificación de la máquina. Ocasionadas por el mal funcionamiento del hardware o por fallas tales como un corte de energía. ¿Qué pasa cuando ocurre una interrupción? El sistema operativo toma el control (el hardware pasa el control al sistema operativo). El sistema operativo guarda el estado del proceso interrumpido en el PCB del proceso. El sistema operativo analiza la interrupción y transfiere el control a la rutina adecuada para atenderla. Actualmente, el hardware se encarga de esto automáticamente. La rutina del manejador de interrupciones procesa la interrupción. Se restablece el estado del proceso interrumpido. Se ejecuta el proceso interrumpido (pasa a su estado Listo). Conclusión En conclusión, los sistemas operativos son una pieza fundamental en la tecnología moderna, ya que permiten la interacción eficiente entre el usuario y el hardware de un dispositivo. Sin ellos, la ejecución de aplicaciones y la gestión de recursos serían mucho más complicadas. Por lo tanto, su importancia radica en su capacidad para facilitar la experiencia del usuario y garantizar el correcto funcionamiento de los dispositivos electrónicos. Bibliografía https://concepto.de/sistema-operativo/ http://iic2333.ing.puc.cl/activities/history.html http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro26/procesamiento_de_interrupciones.html# :~:text=Es%20un%20evento%20que%20altera,que%20el%20proceso%20pueda%20reanudarse.