pag 1 Introducción a los Sistemas Operativos.
*En los 40 los primeros sistemas de computadoras no poseían sistemas operativos, los usuarios tenían completo acceso al lenguaje máquina, cada instrucción era codificada a mano. Las computadoras fueron creadas con objetivos esenciales, hacer un trabajo o tarea más rápido que un humano. Conforme la época, diversas industrias se dieron cuenta que las personas necesitaban algo que ellos mismos pudiesen controlar para que el ‘equipo’ hiciera lo que ellos querían, a esto es lo que llamaremos software; del mismo modo, apareció la ambición de vender el mismo para consumir el hardware, ósea el equipo como tal. Esto marca la correlación de ambos elementos en la historia de la computación.
Definición de Sistema Operativo
Es un programa que actúa como intermediario entre el usuario de una computadora y el hardware de este. El propósito del sistema operativo es crear un entorno en el que un usuario pueda ejecutar programas. Así pues, el objetivo primario de un sistema operativo es hacer el sistema de la computadora cómodo de usar. Un objetivo secundario es utilizar el hardware de la computadora de forma eficiente.
Estructura de los Sistemas Operativos
a) Administrador de recursos: – Gestión y asignación de recursos de la computadora. b) Programa de control: – Controla la ejecución de los programas de usuario y las operaciones de los dispositivos de E/S. c) Núcleo: – El único programa que ejecuta siempre (por debajo y anterior a cualquier otro programa). d) Máquina virtual: – Extiende y enmascara la funcionalidad del hardware.
Objetivos del sistema operativo
a) Facilitar el uso al usuario (interfaz). b) Facilitar la programación al programador (máquina virtual extendida). c) Ejecutar programas eficientemente (gestor de recursos).
Historia de los Sistemas Operativos
A finales de los años 40 apareció la primera generación de computadoras, solo había un pequeño número de computadoras, no existían los sistemas operativos todo se hacía en lenguaje máquina.
A principios de los años 50 con el objeto de facilitar la interacción entre persona y computadora, los sistemas operativos hacen una aparición discreta y bastante simple, con conceptos tales como el monitor residente, el proceso por lotes y el almacenamiento temporal.
A mediados de los 60 aparece Multics aunque luego fracaso a finales de esta década empezó a desarrollarse UNIX.
En la década de los 70 los sistemas que ya existían eran grandes, caros y ocasionaban un gran consumo de recursos. Los nuevos sistemas incorporan una amplia capa de software entre el usuario y la computadora, para que el usuario no necesite conocer ningún detalle del circuito. En la década de los 80 con la creación de los circuitos LSI (integración a gran escala), chips que contenían miles de transistores en un centímetro cuadrado de silicio, empezó el auge de las computadoras personales. Surgieron los menús y las interfaces gráficas esto reducían la rapidez de las aplicaciones, pero se volvían más prácticos y simples para los usuarios.
El lanzamiento oficial de la computadora Macintosh fue en enero de 1984, cuya características novedosas era una GUI , Multitareas y el Mouse que provoco diferentes reacciones entre los usuarios acostumbrados al uso de comandos y tacharon al Mouse como un juguete.
En 1981 Microsoft crea el MS-DOS sistema que surge a partir de una serie de modificaciones del sistema operativo QDOS, el cual compro Microsoft. En 1991 aparece la primera versión del núcleo de LINUX similar a UNIX, y está basado en el estándar posix (que trabajaba en modo comandos).
Tipos de Sistemas Operativos
*Sistemas por lotes. procesan una gran cantidad de trabajos con poca o ninguna interacción entre los usuarios y los programas en ejecución. Se reúnen todos los trabajos comunes para realizarlos al mismo tiempo, evitando la espera de dos o más trabajos como sucede en el procesamiento en serie. Estos sistemas son de los más tradicionales y antiguos, y fueron introducidos alrededor de 1956 para aumentar la capacidad de procesamiento de los programas.
Cuando estos sistemas son bien planeados, pueden tener un tiempo de ejecución muy alto, porque el procesador es mejor utilizado y los Sistemas Operativos pueden ser simples, debido a la secuencialidad de la ejecución de los trabajos. Algunos ejemplos de Sistemas Operativos por lotes exitosos son el SCOPE, del DC6600, el cual está orientado a procesamiento científico pesado, y el EXEC II para el UNIVAC 1107, orientado a procesamiento académico.
Algunas otras características con que cuentan los Sistemas Operativos por lotes son: a) Requiere que el programa, datos y órdenes al sistema sean remitidos todos juntos en forma de lote. b) Permiten poca o ninguna interacción usuario/programa en ejecución. c) Mayor potencial de utilización de recursos que procesamiento serial simple en sistemas multiusuarios. d) No conveniente para desarrollo de programas por bajo tiempo de retorno y depuración fuera de línea. e) Conveniente para programas de largos tiempos de ejecución (ej, análisis estadísticos, nóminas de personal, etc.). f) Se encuentra en muchos computadores personales combinados con procesamiento serial. g) Planificación del procesador sencilla, típicamente procesados en orden de llegada. h) Planificación de memoria sencilla, generalmente se divide en dos: parte residente del S.O y programas transitorios. i) No requieren gestión crítica de dispositivos en el tiempo. j) Suelen proporcionar gestión sencilla de manejo de archivos: se requiere poca protección y ningún control de concurrencia para el acceso.
*Sistemas Multitareas. Es el modo de funcionamiento disponible en algunos sistemas operativos, mediante el cual una computadora procesa varias tareas al mismo tiempo.
Existen varios tipos de multitareas: La conmutación de contextos (context switching) es un tipo muy simple de multitarea en el que dos o más aplicaciones se cargan al mismo tiempo, pero en el que solo se está procesando la aplicación que se encuentra en primer plano (la que ve el usuario). Para activar otra tarea que se encuentre en segundo plano, el usuario debe traer al primer plano la ventana o pantalla que contenga esa aplicación.En la multitarea cooperativa, la que se utiliza en el sistema operativo Macintosh («Classic» Mac OS 1984-2001), las tareas en segundo plano reciben tiempo de procesado durante los tiempos muertos de la tarea que se encuentra en primer plano (por ejemplo, cuando esta aplicación está esperando información del usuario), y siempre que esta aplicación lo permita. En los sistemas multitarea de tiempo compartido, como OS/2, cada tarea recibe la atención del microprocesador durante una fracción de segundo. Para mantener el sistema en orden, cada tarea recibe un nivel de prioridad o se procesa en orden secuencial.
Dado que el sentido temporal del usuario es mucho más lento que la velocidad de procesamiento de la computadora, las operaciones de multitarea en tiempo compartido parecen ser simultáneas. Se distinguen por sus habilidades para poder soportar la ejecución de dos o más trabajos activos (que se están ejecutado) al mismo tiempo. Esto trae como resultado que la Unidad Central de Procesamiento (UCP) siempre tenga alguna tarea que ejecutar, aprovechando al máximo su utilización. Su objetivo es tener a varias tareas en la memoria principal, de manera que cada uno está usando el procesador, o un procesador distinto, es decir, involucra máquinas con más de una UCP. Sistemas Operativos como UNIX, Windows 95, Windows 98, Windows NT, MAC-OS, OS/2, soportan la multitarea.
Las características de un Sistema Operativo de multiprogramación o multitarea son las siguientes: a) Mejora productividad del sistema y utilización de recursos. b) Multiplexa recursos entre varios programas. c) Generalmente soportan múltiples usuarios (multiusuarios). d) Proporcionan facilidades para mantener el entorno de usuarios individuales. e) Requieren validación de usuario para seguridad y protección. f) Proporcionan contabilidad del uso de los recursos por parte de los usuarios. g) Multitarea sin soporte multiusuario se encuentra en algunos computadoras personales o en sistemas de tiempo real.
Sistemas multiprocesadores son sistemas multitareas por definición ya que soportan la ejecución simultánea de múltiples tareas sobre diferentes procesadores. En general, los sistemas de multiprogramación se caracterizan por tener múltiples programas activos compitiendo por los recursos del sistema: procesador, memoria, dispositivos periféricos.
*Sistemas Operativos de tiempo compartido. Permiten la simulación de que el sistema y sus recursos son todos para cada usuario. El usuario hace una petición a la computadora, está la procesa tan pronto como le es posible, y la respuesta aparecerá en la terminal del usuario. Los principales recursos del sistema, el procesador, la memoria, dispositivos de E/S, son continuamente utilizados entre los diversos usuarios, dando a cada usuario la ilusión de que tiene el sistema dedicado para sí mismo. Esto trae como consecuencia una gran carga de trabajo al Sistema Operativo, principalmente en la administración de memoria principal y secundaria. Ejemplos de Sistemas Operativos de tiempo compartido son Multics, OS/360 y DEC-10.
Características de los Sistemas Operativos de tiempo compartido: a) Populares representantes de sistemas multiprogramados multiusuario, ej: sistemas de diseño asistido por computador, procesamiento de texto, etc. b) Dan la ilusión de que cada usuario tiene una máquina para sí. c) Mayoría utilizan algoritmo de reparto circular. d) Programas se ejecutan con prioridad rotatoria que se incrementa con la espera y disminuye después de concedido el servicio. e) Evitan monopolización del sistema asignando tiempos de procesador (time slot). f) Gestión de memoria proporciona protección a programas residentes. g) Gestión de archivo debe proporcionar protección y control de acceso debido a que pueden existir múltiples usuarios accesando un mismo archivo.
*Sistemas de Computador Personal. Una computadora personal, también conocida como PC (sigla en inglés de personal computer), es una microcomputadora diseñada en principio para ser usada por una sola persona a la vez. (En el habla habitual, las siglas PC se refieren más específicamente a la computadora compatible IBM PC.). ———–continua——>