Sistemas operativos y la historia de su desarrollo. Cognitivo

Etapas de desarrollo de sistemas operativos.

Resumen del Capítulo 1

1. La parte principal del componente de software de los sistemas informáticos es el sistema operativo. Al realizar una función de control, determina la apariencia del sistema informático.

2. El sistema operativo es el programa principal del sistema de una computadora. El diseño de un sistema operativo se realiza de la misma forma que otros programas (aplicativos e instrumentales).

3. La enorme variedad de sistemas operativos hizo necesario clasificarlos. Los sistemas operativos se clasifican según los siguientes criterios: por el número de tareas realizadas simultáneamente, por el número de usuarios que trabajan simultáneamente, por el número de procesadores controlados simultáneamente, por modo de funcionamiento.

4. La construcción de sistemas operativos modernos se basa en nueve principios, cada uno de los cuales puede extrapolarse al desarrollo de programas de aplicación.

Preguntas de prueba para el Capítulo 1

1. ¿Cuál es la diferencia entre los sistemas operativos y otros programas? 2. ¿Cuáles son las principales funciones del sistema operativo? 3. ¿Qué tipos de software conoces? 4. ¿Cuál es la parte principal del sistema operativo? 5. ¿Qué categorías de sistemas operativos conoces? 6. ¿Es posible extrapolar (ampliar) los principios de construcción de sistemas operativos al desarrollo de programas de aplicaciones?


CAPÍTULO 2. HISTORIA DEL DESARROLLO DE LOS SISTEMAS OPERATIVOS

Primer período (1945-1955): los años cuarenta del siglo XX estuvieron marcados por la llegada de la tecnología informática, pero no existían sistemas operativos para acceder a los recursos informáticos que consistían en codificación automática; La primera generación de sistemas operativos (años 50): sistemas de procesamiento por lotes. En dichos sistemas, un trabajo se procesa como una secuencia de lotes y no hay interacción entre el usuario y su trabajo durante el procesamiento.

A mediados de los años 40 se crearon los primeros dispositivos informáticos de tubo. En ese momento, el mismo grupo de personas participó en el diseño, operación y programación de la computadora. Se trataba más de un trabajo de investigación en el campo de la tecnología informática que del uso de las computadoras como herramienta para resolver problemas prácticos de otras áreas aplicadas. La programación se realizó exclusivamente en lenguaje de máquina. No existían sistemas operativos; todas las tareas de organización del proceso informático las resolvía manualmente cada programador desde el panel de control. No había ningún otro software de sistema aparte de bibliotecas de rutinas matemáticas y de utilidad.

Segundo período (1955 - 1965): a partir de mediados de los años 50, comenzó un nuevo período en el desarrollo de la tecnología informática, asociado con el surgimiento de una nueva base técnica: los elementos semiconductores. Las computadoras de segunda generación se volvieron más confiables, ahora podían trabajar continuamente durante tanto tiempo que se les podía confiar la realización de tareas verdaderamente importantes en la práctica. Fue durante este período que el personal se dividió en programadores y operadores, operadores y desarrolladores informáticos.



Durante estos años aparecieron los primeros lenguajes algorítmicos y, en consecuencia, los primeros programas de sistema: los compiladores. El costo del tiempo de CPU ha aumentado, lo que requiere una reducción en el tiempo entre ejecuciones del programa. Aparecieron los primeros sistemas de procesamiento por lotes, que simplemente automatizaron el lanzamiento de un programa tras otro y, por lo tanto, aumentaron el factor de carga del procesador. Los sistemas de procesamiento por lotes fueron el prototipo de los sistemas operativos modernos; se convirtieron en los primeros programas de sistema diseñados para gestionar el proceso informático. Durante la implementación de los sistemas de procesamiento por lotes, se desarrolló un lenguaje de control de tareas formalizado, con la ayuda del cual el programador informaba al sistema y al operador qué trabajo quería realizar en la computadora. Una colección de varias tareas, generalmente en forma de una baraja de tarjetas perforadas, se denomina paquete de tareas.

La segunda generación de sistemas operativos (años 60): sistemas con multiprogramación y los primeros sistemas del tipo multiprocesador. Se están desarrollando sistemas operativos de tiempo compartido (sistemas que brindan servicios a muchos usuarios que pueden interactuar con sus tareas) y los primeros sistemas operativos en tiempo real (sistemas que brindan una respuesta inmediata a influencias externas; los sistemas de interrupción se desarrollan en dichos entornos).

Tercer período (1965 - 1980): el siguiente período importante en el desarrollo de las computadoras se remonta a 1965-1980 (tercera y cuarta generación de sistemas operativos, respectivamente). En este momento se produjo una transición en la base técnica de elementos semiconductores individuales, como transistores, a circuitos integrados, lo que brindó grandes oportunidades a la nueva tercera generación de computadoras.

Este período también se caracterizó por la creación de familias de máquinas compatibles con software. La primera familia de máquinas compatibles con software construidas sobre circuitos integrados fue una serie de máquinas IBM/360. Construida a principios de los años 60, esta familia era claramente superior a las máquinas de segunda generación en términos de precio/rendimiento. Pronto la idea de máquinas compatibles con software fue generalmente aceptada.

La compatibilidad del software también requería compatibilidad del sistema operativo. Estos sistemas operativos tendrían que ejecutarse en sistemas informáticos grandes y pequeños, con un número grande y pequeño de periféricos, en aplicaciones comerciales y de investigación. Los sistemas operativos creados para satisfacer todas estas demandas conflictivas resultaron ser monstruos extremadamente complejos. Consistían en muchos millones de líneas de código ensamblador, escritas por miles de programadores, y contenían miles de errores, lo que provocaba un flujo interminable de correcciones. Con cada nueva versión del sistema operativo se corrigieron algunos errores y se introdujeron otros.

Entonces, la tercera generación de sistemas operativos (desde mediados de los años 60) es un sistema operativo multimodo que puede operar simultáneamente en modo de procesamiento por lotes, modo de tiempo compartido, modo en tiempo real y modo de procesamiento multiprocesador.

La cuarta generación (desde mediados de los años 70): sistemas operativos que permiten el acceso a computadoras distribuidas geográficamente, sistemas operativos de red.

A pesar del enorme tamaño y de los numerosos problemas, los sistemas operativos de las máquinas de tercera generación satisfacían la mayoría de las necesidades de los consumidores. El logro más importante del sistema operativo de esta generación fue la implementación de la multiprogramación. Multiprogramación es una forma de organizar un proceso informático en el que varios programas se ejecutan alternativamente en un procesador. Mientras un programa realiza una operación de E/S, el procesador no está inactivo, como era el caso cuando se ejecutan programas secuencialmente (modo de programa único), sino que está ejecutando otro programa (modo multiprograma). En este caso, cada programa se carga en su propia sección de RAM, llamada partición.

Otra innovación - enrollar (enrollar). En ese momento, el spooling se definía como una forma de organizar el proceso informático, según la cual las tareas se leían de tarjetas perforadas en el disco al ritmo con el que aparecían en el centro de computación, y luego, cuando se completaba la siguiente tarea, se generaba una nueva. La tarea se cargó desde el disco a la partición libre.

Junto con la implementación multiprograma de los sistemas de procesamiento por lotes, ha surgido un nuevo tipo de sistema operativo: los sistemas de tiempo compartido. La opción de multiprogramación utilizada en los sistemas de tiempo compartido tiene como objetivo crear para cada usuario individual la ilusión de un uso exclusivo de la computadora.

Cuarto período (1980-presente): este período en la evolución de los sistemas operativos está asociado con la llegada de los circuitos integrados a gran escala (LSI). Durante estos años, se produjo un fuerte aumento en el grado de integración y una reducción en el costo de los microcircuitos. La computadora estuvo disponible para el individuo y comenzó la era de las computadoras personales. Desde un punto de vista arquitectónico, las computadoras personales no se diferenciaban de la clase de minicomputadoras como PDP-11, pero sus precios diferían significativamente. Si el miniordenador hizo posible que un departamento de una empresa o de una universidad tuviera su propio ordenador, el ordenador personal lo hizo posible para un individuo.

Las computadoras pasaron a ser ampliamente utilizadas por no especialistas, lo que requirió el desarrollo de software "amigable".

Dos sistemas dominaron el mercado de sistemas operativos: MS-DOS Y UNIX. SO de un solo programa y un solo usuario MS-DOS ampliamente utilizado para computadoras construidas con microprocesadores Intel 8088 y luego 80286, 80386 y 80486. SO multiprograma multiusuario UNIX dominado entre las computadoras "no Intel", especialmente aquellas construidas sobre la base de alto rendimiento RISC-procesadores.

A mediados de los años 80, comenzaron a desarrollarse rápidamente las redes de computadoras personales que funcionan bajo sistemas operativos distribuidos o en red.

En los sistemas operativos en red, los usuarios deben ser conscientes de la presencia de otras computadoras y deben iniciar sesión en otra computadora para utilizar sus recursos, principalmente archivos. Cada máquina en la red ejecuta su propio sistema operativo local, que se diferencia del sistema operativo de una computadora independiente en que contiene herramientas adicionales que permiten que la computadora funcione en la red. El sistema operativo de red no tiene diferencias fundamentales con el sistema operativo de una computadora con un solo procesador. Contiene necesariamente soporte de software para dispositivos de interfaz de red (controlador de adaptador de red), así como herramientas para iniciar sesión remotamente en otras computadoras en la red y herramientas para acceder a archivos remotos, pero estas adiciones no cambian significativamente la estructura del sistema operativo en sí.

CAPÍTULO 1


Evolución de los sistemas operativos

La historia de cualquier rama de la ciencia o la tecnología nos permite no sólo satisfacer la curiosidad natural, sino también comprender mejor la esencia de los principales logros de esta industria, comprender las tendencias existentes y evaluar correctamente las perspectivas de determinadas áreas de desarrollo. Durante casi medio siglo de existencia, los sistemas operativos han atravesado un camino difícil, lleno de muchos acontecimientos importantes. El desarrollo de los sistemas operativos estuvo muy influenciado por los éxitos en la mejora de la base de elementos y el equipo informático, por lo que muchas etapas del desarrollo de los sistemas operativos están estrechamente relacionadas con la aparición de nuevos tipos de plataformas de hardware, como minicomputadoras o computadoras personales. Los sistemas operativos han experimentado una importante evolución debido al nuevo papel de las computadoras en las redes locales y globales. El factor más importante en el desarrollo del sistema operativo fue Internet. A medida que esta Red adquiere las características de un medio universal de comunicación masiva, los sistemas operativos se vuelven más simples y convenientes de usar, incluyen medios desarrollados para soportar información multimedia y están equipados con medidas de seguridad confiables.

La aparición de los primeros sistemas operativos.

La idea de una computadora fue propuesta por el matemático inglés Charles Babage a mediados del siglo XIX. Su “Motor Analítico” mecánico nunca pudo funcionar realmente porque la tecnología de esa época no cumplía con los requisitos necesarios para fabricar las piezas mecánicas de precisión necesarias. Por supuesto, no se habló de un sistema operativo para esta “computadora”.

El verdadero nacimiento de la informática digital se produjo poco después del final de la Segunda Guerra Mundial. A mediados de los años 40 se crearon los primeros dispositivos informáticos de tubo. En ese momento, el mismo grupo de personas participó en el diseño, operación y programación de la computadora. Se trataba más de un trabajo de investigación en el campo de la tecnología informática que del uso de las computadoras como herramienta para resolver problemas prácticos de otras áreas aplicadas. La programación se realizó exclusivamente en lenguaje de máquina. No existía ningún software de sistema aparte de bibliotecas de rutinas matemáticas y de utilidades que el programador pudiera utilizar para evitar tener que escribir código cada vez para calcular el valor de alguna función matemática o controlar un dispositivo de entrada/salida estándar. Los sistemas operativos aún no habían aparecido; todas las tareas de organización del proceso informático las resolvía manualmente cada programador desde el panel de control, que era un primitivo dispositivo de entrada y salida que constaba de botones, interruptores e indicadores. Desde mediados de los años 50, comenzó un nuevo período en el desarrollo de la tecnología informática, asociado con el surgimiento de una nueva base técnica: los elementos semiconductores. Ha aumentado el rendimiento de los procesadores y han aumentado los volúmenes de RAM y memoria externa. Las computadoras se volvieron más confiables, ahora podían trabajar continuamente durante tanto tiempo que se les podía confiar la realización de tareas verdaderamente importantes en la práctica.

Junto con la mejora del equipamiento, se observaron avances notables en el ámbito de la automatización de la programación y la organización del trabajo informático. Durante estos años aparecieron los primeros lenguajes algorítmicos y, por lo tanto, se agregó un nuevo tipo de software de sistema a las bibliotecas de rutinas matemáticas y de utilidad: los traductores.

La ejecución de cada programa pasó a incluir una gran cantidad de trabajos auxiliares: cargar el traductor requerido (ALGOL, FORTRAN, COBOL, etc.), ejecutar el traductor y obtener el programa resultante en código máquina, vincular el programa con las subrutinas de la biblioteca, cargar el programa en la RAM, iniciando el programa y enviando los resultados a un dispositivo periférico. Para organizar el intercambio efectivo de traductores, programas de biblioteca y cargadores, se introdujeron en el personal de muchos centros de computación puestos de operadores, quienes realizaron profesionalmente el trabajo de organizar el proceso informático para todos los usuarios de este centro.

Pero no importa cuán rápido y confiablemente trabajaran los operadores, no podían competir en productividad con el trabajo de los dispositivos informáticos. La mayor parte del tiempo el procesador estaba inactivo, esperando que el operador iniciara la siguiente tarea. Y como el procesador era un dispositivo muy caro, su baja eficiencia significaba una baja eficiencia en el uso de la computadora en su conjunto. Para solucionar este problema, se desarrollaron los primeros sistemas de procesamiento por lotes, que automatizaron toda la secuencia de acciones del operador para organizar el proceso informático. Los primeros sistemas de procesamiento por lotes fueron el prototipo de los sistemas operativos modernos; se convirtieron en los primeros programas de sistema diseñados no para el procesamiento de datos, sino para gestionar el proceso informático.

Durante la implementación de los sistemas de procesamiento por lotes, se desarrolló un lenguaje de control de trabajo formalizado, con la ayuda del cual el programador informaba al sistema y al operador qué acciones y en qué secuencia quería realizar en la computadora. Un conjunto típico de directivas generalmente incluía una señal para el inicio de un trabajo separado, una llamada al traductor, una llamada al cargador y señales del principio y el final de los datos de origen.

El operador compiló un paquete de tareas que posteriormente, sin su participación, fueron lanzadas secuencialmente para su ejecución por el programa de control: el monitor. Además, el monitor era capaz de procesar de forma independiente las situaciones de emergencia más comunes que se encontraban durante el funcionamiento de los programas de usuario, como falta de datos de origen, desbordamiento de registros, división por cero, acceso a un área de memoria inexistente, etc. Por lo general, era un juego de tarjetas perforadas, pero para acelerar el trabajo, se podía transferir a un medio más conveniente y espacioso, como una cinta magnética o un disco magnético. El programa del monitor en sí en las primeras implementaciones también se almacenaba en tarjetas perforadas o cinta perforada, y en implementaciones posteriores, en cinta magnética y discos magnéticos.

Los primeros sistemas de procesamiento por lotes redujeron significativamente el tiempo dedicado a acciones auxiliares para organizar el proceso informático, lo que significa que se dio un paso más para mejorar la eficiencia del uso de la computadora. Sin embargo, al mismo tiempo, los usuarios-programadores perdieron el acceso directo a la computadora, lo que redujo la eficiencia de su trabajo, por lo que cualquier corrección requería mucho más tiempo que cuando trabajaban interactivamente en la consola de la máquina.

La aparición de sistemas operativos multiprograma para mainframes.

El próximo período importante en el desarrollo de sistemas operativos se refiere a años.

En ese momento, en la base técnica de las computadoras hubo una transición de elementos semiconductores individuales, como los transistores, a los circuitos integrados, lo que abrió el camino para el surgimiento de la próxima generación de computadoras. La gran funcionalidad de los circuitos integrados ha hecho posible implementar en la práctica arquitecturas informáticas complejas, como la IBM/360.

Durante este período se implementaron casi todos los mecanismos básicos inherentes a los sistemas operativos modernos: multiprogramación, multiprocesamiento, soporte para modo multiusuario multiterminal, memoria virtual, sistemas de archivos, control de acceso y trabajo en red. Durante estos años, la programación de sistemas comenzó a florecer. De un área de las matemáticas aplicadas de interés para un círculo reducido de especialistas, la programación de sistemas se está convirtiendo en una rama de la industria que tiene un impacto directo en las actividades prácticas de millones de personas. El hecho revolucionario de esta etapa fue la implementación industrial de la multiprogramación. (Tenga en cuenta que, en forma de concepto y sistemas experimentales, este método de organización de la informática existe desde hace unos diez años). Dadas las capacidades cada vez mayores de una computadora para procesar y almacenar datos, ejecutar solo un programa a la vez resultó ser ser extremadamente ineficiente. La solución fue la multiprogramación, un método para organizar un proceso informático en el que varios programas se almacenaban simultáneamente en la memoria de la computadora y se ejecutaban alternativamente en un procesador. Estas mejoras mejoraron enormemente la eficiencia del sistema informático: la computadora ahora se podía utilizar casi constantemente, en lugar de menos de la mitad del tiempo que estaba funcionando, como era el caso antes.

La multiprogramación se implementó en dos versiones: en sistemas de procesamiento por lotes y de tiempo compartido.

Los sistemas de procesamiento por lotes multiprograma, al igual que sus predecesores de un solo programa, tenían como objetivo garantizar la máxima carga en el hardware de la computadora, pero resolvieron este problema de manera más eficiente. En el modo por lotes multiprograma, el procesador no estaba inactivo mientras un programa realizaba una operación de E/S (como sucedía cuando se ejecutaban programas secuenciales en los primeros sistemas de procesamiento por lotes), sino que cambiaba a otro programa que estaba listo para ejecutarse. Como resultado, se logró una carga equilibrada en todos los dispositivos informáticos y, en consecuencia, aumentó el número de tareas resueltas por unidad de tiempo. En los sistemas de procesamiento por lotes de multiprogramación, el usuario todavía no podía interactuar interactivamente con sus programas. Para devolver a los usuarios, al menos parcialmente, la sensación de interacción directa con la computadora, se desarrolló otra versión de los sistemas multiprograma: los sistemas de tiempo compartido. Esta opción está diseñada para sistemas multiterminal, cuando cada usuario trabaja en su propio terminal. Los primeros sistemas operativos de tiempo compartido desarrollados a mediados de la década de 1960 incluían TSS/360 (IBM), CTSS y MULTICS (MIT, Bell Labs y General Electric). La opción de multiprogramación utilizada en los sistemas de tiempo compartido tenía como objetivo crear para cada usuario individual la ilusión de ser propietario exclusivo de la computadora asignando periódicamente a cada programa su parte del tiempo del procesador. En los sistemas de tiempo compartido, la eficiencia del uso del equipo es menor que en los sistemas de procesamiento por lotes, que era el precio por la comodidad del usuario.

El modo multiterminal se utilizó no sólo en sistemas de tiempo compartido, sino también en sistemas de procesamiento por lotes. Al mismo tiempo, no sólo el operador, sino también todos los usuarios pudieron crear sus tareas y gestionar su ejecución desde su terminal. Estos sistemas operativos se denominan sistemas de entrada remota de tareas. Los complejos de terminales podrían ubicarse a gran distancia de los bastidores de procesadores, conectándose a ellos mediante varias conexiones globales: conexiones de módem de redes telefónicas o canales dedicados. Para respaldar el funcionamiento remoto de los terminales, aparecieron módulos de software especiales en los sistemas operativos que implementaban varios protocolos de comunicación (en ese momento, generalmente no estándar). Dichos sistemas informáticos con terminales remotos, aunque mantenían la naturaleza centralizada del procesamiento de datos, eran hasta cierto punto. el prototipo de las redes modernas, y el software del sistema correspondiente es el prototipo de los sistemas operativos de red.

En este momento podemos constatar un cambio significativo en la distribución de funciones entre el hardware y el software del ordenador. Los sistemas operativos se convirtieron en elementos integrales de las computadoras, desempeñando el papel de "continuación" del hardware. En las primeras computadoras, el programador, interactuando directamente con el equipo, podía descargar códigos de programa usando interruptores remotos y luces indicadoras, y luego iniciar manualmente el programa para su ejecución presionando el botón "iniciar". En las computadoras de los años 60, la mayoría de las acciones para organizar el proceso informático fueron asumidas por el sistema operativo. (La mayoría de las computadoras modernas ni siquiera tienen la posibilidad teórica de realizar ningún trabajo informático sin la participación del sistema operativo. Después de encender, el sistema operativo se busca, carga y ejecuta automáticamente, y si falta, la computadora simplemente se detiene.)

La implementación de la multiprogramación requirió la introducción de cambios muy importantes en el hardware de la computadora, directamente dirigidos a soportar una nueva forma de organizar el proceso informático. Al dividir los recursos de la computadora entre programas, es necesario garantizar un cambio rápido del procesador de un programa a otro, así como proteger de manera confiable los códigos y datos de un programa contra daños intencionales o no intencionales por parte de otro programa. Los procesadores ahora tienen modos de operación privilegiados y de usuario, registros especiales para cambiar rápidamente de un programa a otro, medios para proteger áreas de memoria, así como un sistema de interrupción desarrollado.

En modo privilegiado, diseñado para el funcionamiento de los módulos de software del sistema operativo, el procesador podía ejecutar todos los comandos, incluidos aquellos que permitían la distribución y protección de los recursos de la computadora. Algunos comandos del procesador no estaban disponibles para los programas que se ejecutaban en modo de usuario. Por lo tanto, sólo el sistema operativo podía controlar el hardware y actuar como monitor y árbitro para los programas de usuario que se ejecutaban en modo de usuario sin privilegios.

El sistema de interrupción hizo posible sincronizar el funcionamiento de varios dispositivos informáticos que funcionan en paralelo y de forma asíncrona, como canales de entrada/salida, discos, impresoras, etc. Desde entonces, el soporte de hardware para los sistemas operativos se ha convertido en una característica integral de casi todos los sistemas informáticos. incluyendo computadoras personales.

Otra tendencia importante de este período es la creación de familias de máquinas compatibles con software y sistemas operativos para ellas. Ejemplos de familias de máquinas compatibles con software construidas sobre circuitos integrados son las series de máquinas IBM/360 e IBM/370 (análogas de estas familias de producción soviética - máquinas de la serie EC), PDP-11 (análogas soviéticas - CM-3 , CM-4, CM-1420). Pronto la idea de máquinas compatibles con software fue generalmente aceptada.

La compatibilidad del software también requería compatibilidad del sistema operativo. Sin embargo, dicha compatibilidad implica la capacidad de trabajar en sistemas informáticos grandes y pequeños, con un número grande y pequeño de diversos periféricos, en el campo comercial y en el campo de la investigación científica. Los sistemas operativos creados para satisfacer todas estas demandas conflictivas han demostrado ser extremadamente complejos. Consistían en muchos millones de líneas de código ensamblador, escritas por miles de programadores, y contenían miles de errores, lo que provocaba un flujo interminable de correcciones. Los sistemas operativos de esta generación eran muy caros. Así, el desarrollo de OS/360, cuyo volumen de código era de 8 MB, le costó a IBM 80 millones de dólares.

Sin embargo, a pesar de su enorme tamaño y muchos problemas, OS/360 y otros sistemas operativos similares de esta generación satisficieron la mayoría de los requisitos de los consumidores. Durante esta década se dio un gran paso adelante y se sentaron unas bases sólidas para la creación de sistemas operativos modernos.

Sistemas operativos y redes globales.

A principios de los años 70 aparecieron los primeros sistemas operativos de red que, a diferencia de los sistemas operativos multiterminales, permitieron no solo dispersar a los usuarios, sino también organizar el almacenamiento distribuido y el procesamiento de datos entre varias computadoras conectadas por conexiones eléctricas. Cualquier sistema operativo de red, por un lado, realiza todas las funciones de un sistema operativo local y, por otro lado, tiene algunas herramientas adicionales que le permiten interactuar a través de la red con los sistemas operativos de otras computadoras. Los módulos de software que implementan funciones de red aparecieron en los sistemas operativos gradualmente, a medida que se desarrollaron las tecnologías de red, el hardware informático y surgieron nuevas tareas que requerían procesamiento de red.

Aunque el trabajo teórico sobre la creación de conceptos de interacción de red se llevó a cabo casi desde la aparición misma de las computadoras, a finales de los años 60 se obtuvieron importantes resultados prácticos en la conexión de computadoras a redes, cuando, con la ayuda de las comunicaciones globales y la tecnología de conmutación de paquetes, fue posible implementar la interacción de máquinas y supercomputadoras de clase mainframe. Estas costosas computadoras a menudo almacenaban datos y programas únicos a los que debía acceder una amplia gama de usuarios ubicados en varias ciudades a distancias considerables de los centros de computación.

En 1969, el Departamento de Defensa de Estados Unidos inició trabajos para unir supercomputadoras de centros de investigación y defensa en una sola red. Esta red se llamó ARPANET y fue el punto de partida para la creación de la red global más famosa en la actualidad: Internet. La red ARPANET unía computadoras de diferentes tipos, ejecutando diferentes sistemas operativos con módulos agregados que implementaban protocolos de comunicación comunes a todas las computadoras de la red.

En 1974, IBM anunció la creación de su propia arquitectura de red para sus mainframes, denominada SNA (System Network Architecture). Esta arquitectura en capas, muy parecida al modelo OSI estándar que vino después, proporcionó interacciones de terminal a terminal, de terminal a computadora y de computadora a computadora a través de comunicaciones globales. Los niveles inferiores de la arquitectura fueron implementados mediante hardware especializado, el más importante de los cuales fue el teleprocesador. Las funciones de los niveles superiores del SNA se realizaron mediante módulos de software. Uno de ellos formó la base del software del teleprocesador. Otros módulos se ejecutaban en un procesador central como parte del sistema operativo de mainframe estándar de IBM.

Al mismo tiempo, en Europa se estaba trabajando activamente para crear y estandarizar redes X.25. Estas redes de conmutación de paquetes no estaban vinculadas a ningún sistema operativo específico. Después de recibir el estatus de estándar internacional en 1974, muchos sistemas operativos comenzaron a admitir los protocolos X.25. Desde 1980, IBM ha incluido soporte para protocolos X.25 en la arquitectura SNA y en sus sistemas operativos.

Sistemas operativos para minicomputadores y las primeras redes locales

A mediados de los años 70, junto con las mainframes, se generalizaron las minicomputadoras como PDP-11, Nova y HP. Las minicomputadoras fueron las primeras en aprovechar los grandes circuitos integrados, que permitieron implementar funciones bastante potentes a un costo de computadora relativamente bajo.

La arquitectura de las minicomputadoras se simplificó significativamente en comparación con las mainframes, lo que se reflejó en sus sistemas operativos. Muchas de las características de los sistemas operativos mainframe multiprograma y multiusuario quedaron truncadas debido a los recursos limitados de las minicomputadoras. Los sistemas operativos de las minicomputadoras a menudo comenzaron a especializarse, por ejemplo, solo para control en tiempo real (RT-11 OS para minicomputadoras PDP-11) o solo para admitir el modo de tiempo compartido (RSX-11M para las mismas computadoras). Estos sistemas operativos no siempre fueron multiusuario, lo que en muchos casos se justificaba por el bajo coste de los ordenadores.

Un hito importante en la historia de las minicomputadoras y en la historia de los sistemas operativos en general fue la creación del sistema operativo UNIX. Este sistema operativo fue pensado originalmente para admitir el modo de tiempo compartido en la minicomputadora PDP-7. Desde mediados de los años 70 se inició el uso generalizado del sistema operativo UNIX. En ese momento, el código del programa para UNIX estaba escrito en un 90% en el lenguaje de alto nivel C. El uso generalizado de compiladores C efectivos convirtió a UNIX en un sistema operativo único para esa época, capaz de una portabilidad relativamente fácil a varios tipos de computadoras. Dado que este sistema operativo se suministró con código fuente, se convirtió en el primer sistema operativo abierto que los usuarios comunes y entusiastas podían mejorar. Aunque UNIX fue diseñado originalmente para minicomputadoras, su flexibilidad, elegancia, potente funcionalidad y apertura le han permitido ganar una posición sólida en todas las clases de computadoras: supercomputadoras, mainframes, minicomputadoras, servidores y estaciones de trabajo basados ​​en RISC y computadoras personales.

La disponibilidad de minicomputadoras y, como resultado, su prevalencia en las empresas sirvió como un poderoso incentivo para la creación de redes locales. Una empresa podría permitirse el lujo de tener varios miniordenadores ubicados en el mismo edificio o incluso en la misma habitación. Naturalmente, existía la necesidad de intercambiar información entre ellos y compartir costosos equipos periféricos.

Las primeras redes locales se construyeron utilizando equipos de comunicación no estándar, en el caso más simple, conectando directamente puertos serie de computadoras. El software tampoco era estándar y se implementaba en forma de aplicaciones de usuario. La primera aplicación de red para el sistema operativo UNIX es el programa UUCP (programa de copia de UNIX a UNIX). apareció en 1976 y comenzó a distribuirse con la versión 7 de AT&T UNIX en 1978. Este programa permitía copiar archivos de una computadora a otra dentro de una red local a través de varias interfaces de hardware: RS-232, bucle de corriente, etc., y además podía funcionar a través de conexiones globales, como módems.

Desarrollo de sistemas operativos en los años 80.

Los acontecimientos más importantes de esta década incluyen el desarrollo de la pila TCP/IP, el surgimiento de Internet, la estandarización de las tecnologías de redes locales y la aparición de computadoras personales y sistemas operativos para ellas.

A finales de los años 70 se creó una versión funcional de la pila de protocolos TCP/IP. Esta pila era un conjunto de protocolos comunes para un entorno informático heterogéneo y estaba destinada a conectar la red experimental ARPANET con otras redes "satélites". En 1983, el Departamento de Defensa de Estados Unidos adoptó el protocolo TCP/IP como estándar militar. La transición de las computadoras ARPANET a la pila TCP/IP se aceleró con su implementación para el sistema operativo BSD UNIX. Desde entonces comenzó la coexistencia de UNIX y los protocolos TCP/IP, y casi todas las numerosas versiones de Unix se basaron en red.

La introducción de los protocolos TCP/IP en ARPANET le dio a esta red todas las características principales que distinguen a la Internet moderna. En 1983, ARPANET se dividió en dos partes: MILNET, que apoyaba al ejército estadounidense, y la nueva ARPANET. Para designar la red compuesta ARPANET y MILNET se empezó a utilizar el nombre Internet, que en ruso con el tiempo (y con la mano ligera de los localizadores de Microsoft) se convirtió en Internet. Internet se ha convertido en un excelente campo de pruebas para muchos sistemas operativos de red, permitiendo probar en condiciones reales las posibilidades de su interacción, el grado de escalabilidad y la capacidad de trabajar bajo cargas extremas creadas por cientos y miles de usuarios. La pila de protocolos TCP/IP también tuvo un destino envidiable. La independencia de los proveedores, la flexibilidad y la eficiencia demostradas por el funcionamiento exitoso en Internet, así como los estándares abiertos y accesibles, han convertido a los protocolos TCP/IP no sólo en el principal mecanismo de transporte de Internet, sino también en la pila principal de la mayoría de los sistemas operativos de red.

Toda la década estuvo marcada por la aparición constante de nuevas versiones cada vez más avanzadas del sistema operativo UNIX. Entre ellas se encontraban versiones propietarias de UNIX: SunOS, HP-UX, Irix, AIX y muchas otras, en las que los fabricantes de computadoras adaptaron el código del kernel y las utilidades del sistema para sus equipos. La variedad de versiones generó el problema de su compatibilidad, que periódicamente intentaban solucionar diversas organizaciones. Como resultado, se adoptaron los estándares POSIX y XPG para definir las interfaces del sistema operativo para las aplicaciones, y una división especial de AT&T lanzó varias versiones de UNIX System III y UNIX System V, diseñadas para consolidar a los desarrolladores a nivel de código del kernel.

El comienzo de los años 80 está asociado con otro acontecimiento importante en la historia de los sistemas operativos: la aparición de las computadoras personales. Desde el punto de vista arquitectónico, las computadoras personales no se diferenciaban de la clase de minicomputadoras como la PDP-11, pero su costo era significativamente menor. Si una minicomputadora permitía que un departamento de una empresa o universidad tuviera su propia computadora, entonces una computadora personal le daba esta oportunidad a un individuo. Las computadoras pasaron a ser ampliamente utilizadas por no especialistas, lo que requirió el desarrollo de software "amigable", y proporcionar estas funciones "amigables" pasó a ser responsabilidad directa de los sistemas operativos. Las computadoras personales también sirvieron como un poderoso catalizador para el rápido crecimiento de las redes locales, creando para ello una excelente base material en forma de decenas y cientos de computadoras pertenecientes a una empresa y ubicadas dentro de un edificio. Como resultado, el soporte para funciones de red se ha convertido en un requisito previo para los sistemas operativos de computadoras personales.

Sin embargo, tanto la interfaz fácil de usar como las funciones de red no aparecieron de inmediato en los sistemas operativos de las computadoras personales. La primera versión del sistema operativo más popular en las primeras etapas de desarrollo de las computadoras personales, MS-DOS de Microsoft, se vio privada de estas capacidades. Era un sistema operativo de un solo programa y un solo usuario con una interfaz de línea de comandos, capaz de iniciarse desde un disquete. Sus tareas principales eran administrar archivos ubicados en disquetes y discos duros en un sistema de archivos jerárquico similar a UNIX, así como ejecutar programas uno por uno. MS-DOS no estaba protegido de los programas de usuario porque el procesador Intel 8088 no admitía el modo privilegiado. Los desarrolladores de las primeras computadoras personales creían que con el uso individual de la computadora y las capacidades limitadas del hardware, no tenía sentido soportar la multiprogramación, por lo que el procesador no proporcionaba un modo privilegiado ni otros mecanismos para soportar sistemas de multiprogramación.

Las funciones faltantes para MS-DOS y sistemas operativos similares se compensaron con programas externos que proporcionaban al usuario una interfaz gráfica conveniente (por ejemplo, Norton Commander) o herramientas de administración de discos detalladas (por ejemplo, PC Tools). La mayor influencia en el desarrollo de software para ordenadores personales la ejerció el entorno operativo Windows de Microsoft, que era un complemento de MS-DOS.

Las funciones de red también se implementaron principalmente mediante shells de red que se ejecutan sobre el sistema operativo. Cuando se trabaja en una red, siempre es necesario admitir el modo multiusuario, en el que un usuario interactúa y el resto accede a los recursos de la computadora a través de la red. En este caso, se requiere que el sistema operativo tenga al menos un soporte funcional mínimo para el modo multiusuario. La historia de las herramientas de red MS-DOS comenzó con la versión 3.1. Esta versión de MS-DOS agregó las capacidades necesarias de bloqueo de archivos y registros al sistema de archivos, lo que permitió que más de un usuario tuviera acceso a un archivo. Al utilizar estas funciones, los shells de red podrían permitir el intercambio de archivos entre los usuarios de la red.

Con el lanzamiento de MS-DOS 3.1 en 1984, Microsoft también lanzó un producto llamado Microsoft Networks, comúnmente denominado informalmente MS-NET. Algunos de los conceptos inherentes a MS-NET, como la introducción de componentes de red básicos (un redirector y un servidor de red) en la estructura, se transfirieron con éxito a productos de red posteriores de Microsoft: LAN Manager, Windows para trabajo en grupo y luego a Windows. NUEVO TESTAMENTO.

Otras empresas también produjeron shells de red para computadoras personales: IBM, Artisoft, Performance Technology y otras.

Novell eligió un camino diferente. Inicialmente se basó en el desarrollo de un sistema operativo con funciones de red integradas y en este camino logró un éxito extraordinario. Sus sistemas operativos de red NetWare se han convertido desde hace mucho tiempo en el estándar de rendimiento, confiabilidad y seguridad para las redes locales.

El primer sistema operativo de red de Novell llegó al mercado en 1983 y se llamó OS-Net. Este sistema operativo estaba destinado a redes con topología en estrella, cuyo elemento central era una computadora especializada basada en el microprocesador Motorola 68000. Un poco más tarde, cuando IBM lanzó las computadoras personales PC XT, Novell desarrolló un nuevo producto: NetWare 86. Diseñado para la arquitectura de la familia de microprocesadores Intel 8088.

Desde la primera versión del sistema operativo NetWare, se distribuyó como un sistema operativo para un servidor de red local central que, debido a su especialización en la realización de funciones de servidor de archivos, proporciona la mayor velocidad posible para el acceso remoto a archivos y una mayor seguridad de los datos para esta clase de computadoras. Los usuarios de las redes Novell NetWare pagan un precio por el alto rendimiento: el servidor de archivos dedicado no se puede utilizar como estación de trabajo y su sistema operativo especializado tiene una interfaz de programación de aplicaciones (API) muy específica, lo que requiere conocimientos especiales, experiencia y un esfuerzo considerable por parte de los desarrolladores de aplicaciones. .

A diferencia de Novell, la mayoría de las otras empresas desarrollaron herramientas de red para computadoras personales en el marco de sistemas operativos con una interfaz API universal, es decir, sistemas operativos de propósito general. Con el desarrollo de plataformas de hardware para computadoras personales, dichos sistemas comenzaron a adquirir cada vez más características de los sistemas operativos de minicomputadoras.

En 1987, como resultado de los esfuerzos conjuntos de Microsoft e IBM, apareció el primer sistema operativo multitarea para computadoras personales con procesador Intel 80286, que aprovechaba al máximo las capacidades del modo protegido: OS/2. Este sistema estaba bien pensado. Admitía multitarea preventiva, memoria virtual, una interfaz gráfica de usuario (no desde la primera versión) y una máquina virtual para ejecutar aplicaciones de DOS. De hecho, fue más allá de la simple multitarea con su concepto de paralelizar procesos individuales, llamado multithreading.

OS/2, con sus funciones multitarea avanzadas y el sistema de archivos HPFS con seguridad multiusuario incorporada, resultó ser una buena plataforma para construir redes locales de computadoras personales. Los shells de red más utilizados son LAN Manager de Microsoft y LAN Server de IBM, desarrollados por estas empresas basándose en el mismo código base. Estos shells tenían un rendimiento inferior al servidor de archivos NetWare y consumían más recursos de hardware, pero tenían ventajas importantes: permitían, en primer lugar, ejecutar en el servidor cualquier programa desarrollado para OS/2, MS-DOS y Windows, y en segundo lugar, ejecutar utilizar la computadora en la que trabajaron como estación de trabajo.

Los desarrollos de redes de Microsoft e IBM llevaron a la aparición de NetBIOS, un protocolo de transporte muy popular y al mismo tiempo una interfaz de programación de aplicaciones para redes locales, que se utiliza en casi todos los sistemas operativos de red para computadoras personales. Este protocolo todavía se utiliza hoy en día para crear pequeñas redes locales.

El destino de mercado poco exitoso de OS/2 no permitió que los sistemas LAN Manager y LAN Server capturaran una participación de mercado significativa, pero los principios de funcionamiento de estos sistemas de red se plasmaron en gran medida en el sistema operativo más exitoso de los años 90: Microsoft. Windows NT, que contenía componentes de red integrados, algunos de los cuales tienen el prefijo LM - de LAN Manager.

En los años 80 se adoptaron los principales estándares para tecnologías de comunicación para redes locales: en 1980 - Ethernet, en 1985 - Token Ring, a finales de los 80 - FDDI. Esto hizo posible garantizar la compatibilidad de los sistemas operativos de red en niveles inferiores, así como estandarizar la interfaz del sistema operativo con controladores de adaptadores de red.

Para los ordenadores personales no sólo se utilizaron sistemas operativos desarrollados especialmente para ellos, como MS-DOS, NetWare y OS/2, sino que también se adaptaron los sistemas operativos existentes. La llegada de los procesadores Intel 80286 y especialmente 80386 con soporte de multiprogramación hizo posible transferir el sistema operativo UNIX a la plataforma de computadora personal. El sistema más conocido de este tipo fue la versión Operación Santa Cruz de UNIX (SCO UNIX).

Características de la etapa actual de desarrollo de sistemas operativos.

En los años 90, casi todos los sistemas operativos que ocupaban un lugar destacado en el mercado pasaron a estar basados ​​en red. Las funciones de red actuales están integradas en el núcleo del sistema operativo y son su parte integral. Los sistemas operativos han recibido herramientas para trabajar con todas las principales tecnologías de redes locales (Ethernet, Fast Ethernet, Gigabit Ethernet, Token Ring, FDDI, ATM) y globales (X.25, Frame Relay, ISDN, ATM), así como herramientas para creación de redes compuestas (IP, IPX, AppleTalk, RIP, OSPF, NLSP). Los sistemas operativos utilizan medios para multiplexar múltiples pilas de protocolos, lo que permite que las computadoras admitan redes simultáneas con clientes y servidores heterogéneos. Han aparecido sistemas operativos especializados que están diseñados exclusivamente para realizar tareas de comunicación. Por ejemplo, el sistema operativo de red IOS de Cisco Systems, que se ejecuta en enrutadores, organiza la ejecución de un conjunto de programas en modo multiprograma, cada uno de los cuales implementa uno de los protocolos de comunicación.

En la segunda mitad de los años 90, todos los fabricantes de sistemas operativos aumentaron considerablemente su soporte a las herramientas de Internet (excepto los fabricantes de sistemas UNIX, en los que este soporte siempre ha sido significativo). Además de la pila TCP/IP en sí, el paquete comenzó a incluir utilidades que implementan servicios de Internet tan populares como telnet, ftp, DNS y Web. La influencia de Internet también se manifestó en el hecho de que la computadora pasó de ser un dispositivo puramente informático a un medio de comunicación con capacidades informáticas avanzadas.

Durante la última década se ha prestado especial atención a los sistemas operativos de redes empresariales. Su desarrollo ulterior representa una de las tareas más importantes en el futuro previsible. Un sistema operativo corporativo se distingue por su capacidad para funcionar bien y de manera confiable en grandes redes, que son típicas de grandes empresas con sucursales en docenas de ciudades y, posiblemente, en diferentes países. Estas redes se caracterizan por un alto grado de heterogeneidad de software y hardware, por lo que el sistema operativo corporativo debe interactuar sin problemas con sistemas operativos de diferentes tipos y funcionar en diferentes plataformas de hardware. Hasta ahora, los tres líderes principales en la clase de sistemas operativos corporativos están claramente definidos: Novell NetWare 4.x y 5.0, Microsoft Windows NT 4.0 y Windows 2000, así como los sistemas UNIX de varios fabricantes de plataformas de hardware.

Para un sistema operativo corporativo, es muy importante contar con herramientas de administración y gestión centralizadas que le permitan almacenar cuentas de decenas de miles de usuarios, computadoras, dispositivos de comunicación y módulos de software ubicados en la red corporativa en una única base de datos. En los sistemas operativos modernos, las herramientas de administración centralizada generalmente se basan en una única mesa de ayuda. La primera implementación exitosa de un servicio de asistencia a escala empresarial fue el sistema StreetTalk de Banyan. Hasta la fecha, el servicio de ayuda NDS de Novell ha recibido el mayor reconocimiento, lanzado por primera vez en 1993 para la primera versión empresarial de NetWare 4.O. El papel de un servicio de asistencia centralizado es tan importante que es por la calidad del servicio de asistencia que se evalúa la idoneidad de un sistema operativo para trabajar a escala corporativa. El gran retraso en el lanzamiento de Windows NT 2000 se debió en gran medida a la creación de un servicio de ayuda escalable de Active Directory para este sistema operativo, sin el cual sería difícil para esta familia de sistemas operativos reclamar el título de un verdadero sistema operativo empresarial.

Crear un servicio de asistencia técnica escalable y rico en funciones es una dirección estratégica en la evolución del sistema operativo. El futuro desarrollo de Internet depende en gran medida del éxito de esta dirección. Un servicio de este tipo es necesario para convertir Internet en un sistema predecible y manejable, por ejemplo, para garantizar la calidad de servicio requerida para el tráfico de usuarios, admitir grandes aplicaciones distribuidas, construir un sistema de correo eficiente, etc.

En la etapa actual de desarrollo de los sistemas operativos, las herramientas de seguridad han pasado a primer plano. Esto se debe al mayor valor de la información procesada por las computadoras, así como al mayor nivel de amenazas que existen al transmitir datos a través de redes, especialmente las públicas como Internet. Muchos sistemas operativos hoy en día han desarrollado herramientas de seguridad de la información basadas en el cifrado, autenticación y autorización de datos.

Los sistemas operativos modernos son multiplataforma, es decir, tienen la capacidad de funcionar en tipos de computadoras completamente diferentes. Muchos sistemas operativos tienen versiones especiales para admitir arquitecturas de clúster que brindan alto rendimiento y tolerancia a fallas. La excepción hasta ahora es el sistema operativo NetWare, cuyas versiones están desarrolladas para la plataforma Intel, y la implementación de funciones de NetWare en forma de shell para otros sistemas operativos, por ejemplo NetWare para AIX, no ha tenido éxito.

En los últimos años, se ha desarrollado aún más la tendencia a largo plazo de aumentar la comodidad de la interacción humana con una computadora. El desempeño humano se convierte en el principal factor que determina la eficiencia del sistema informático en su conjunto. No se deben desperdiciar esfuerzos humanos ajustando los parámetros del proceso informático, como sucedió en los sistemas operativos de generaciones anteriores. Por ejemplo, en los sistemas de procesamiento por lotes mainframe, cada usuario tenía que utilizar un lenguaje de control de trabajo para definir una gran cantidad de parámetros relacionados con la organización de los procesos informáticos en la computadora. Por lo tanto, para el sistema OS/360, el lenguaje de control de trabajos JCL proporcionó al usuario la capacidad de definir más de 40 parámetros, incluida la prioridad del trabajo, los requisitos de memoria principal, el tiempo máximo de ejecución del trabajo, una lista de dispositivos de entrada/salida utilizados y sus modos de funcionamiento.

Un sistema operativo moderno asume la tarea de seleccionar los parámetros del entorno operativo, utilizando para ello diversos algoritmos adaptativos. Por ejemplo, los tiempos de espera en los protocolos de comunicación suelen determinarse en función de las condiciones de la red. La distribución de RAM entre procesos se realiza de forma automática mediante mecanismos de memoria virtual, dependiendo de la actividad de estos procesos y de la información sobre la frecuencia de uso de una página en particular. Las prioridades de los procesos instantáneos se determinan dinámicamente dependiendo del historial, incluido, por ejemplo, el tiempo que el proceso pasó en la cola, el porcentaje del intervalo de tiempo asignado, la intensidad de las E/S, etc. Incluso durante el proceso de instalación, la mayoría de los sistemas operativos ofrecen un modo de selección de parámetros predeterminado que garantiza, aunque no sea óptima, pero siempre una calidad aceptable de funcionamiento del sistema.

La conveniencia del trabajo interactivo con una computadora mejora constantemente al incluir en el sistema operativo interfaces gráficas desarrolladas que utilizan sonido y video junto con gráficos. Esto es especialmente importante para convertir una computadora en un terminal para una nueva red pública, que gradualmente se está convirtiendo en Internet, ya que para el usuario masivo el terminal debería ser casi tan comprensible y conveniente como un teléfono. La interfaz de usuario del sistema operativo es cada vez más inteligente, guía las acciones humanas en situaciones típicas y toma decisiones rutinarias por él.

El nivel de facilidad de uso de los recursos que los sistemas operativos aislados ofrecen hoy a los usuarios, administradores y desarrolladores de aplicaciones es sólo una perspectiva tentadora para los sistemas operativos de red. Mientras que los usuarios y administradores de la red dedican un tiempo considerable a intentar descubrir dónde se encuentra un recurso, los desarrolladores de aplicaciones de red dedican mucho esfuerzo a intentar determinar la ubicación de los módulos de software y datos en la red. Los sistemas operativos del futuro deben proporcionar un alto nivel de transparencia de los recursos de la red, asumiendo la tarea de organizar la computación distribuida, convirtiendo la red en una computadora virtual. Este es precisamente el significado que los especialistas de Sun le dan al lacónico eslogan "La red es una computadora", pero para convertir el eslogan en realidad, los desarrolladores de sistemas operativos aún tienen un largo camino por recorrer.

§ La historia del sistema operativo se remonta aproximadamente a medio siglo. Fue y está determinado en gran medida por el desarrollo de la base de elementos y los equipos informáticos.

§ Las primeras computadoras digitales, que aparecieron a principios de los años 40, funcionaban sin sistemas operativos; todas las tareas de organización del proceso informático eran resueltas manualmente por cada programador desde el panel de control.

§ El prototipo de los sistemas operativos modernos fueron los sistemas de monitorización de mediados de los años 50, que automatizaban las acciones del operador para completar un paquete de tareas.

§ A lo largo de los años, la transición a los circuitos integrados allanó el camino para el surgimiento de la próxima generación de computadoras, un ejemplo destacado de la cual es la IBM/360. Durante este período se implementaron casi todos los conceptos básicos inherentes a los sistemas operativos modernos: multiprogramación, multiprocesamiento, modo multiterminal, memoria virtual, sistemas de archivos, control de acceso y redes.

§ La implementación de la multiprogramación requirió la introducción de cambios muy importantes en el hardware informático. Los procesadores ahora tienen modos de operación privilegiados y de usuario, registros especiales para cambiar rápidamente de una tarea a otra, medios para proteger áreas de memoria, así como un sistema de interrupción desarrollado.

§ A finales de los años 60, se comenzó a trabajar en la creación de la red global ARPANET, que fue el punto de partida de Internet, una red pública global que se convirtió en un campo de pruebas para muchos sistemas operativos de red, lo que permitió realizar pruebas en condiciones reales. las posibilidades de su interacción, el grado de escalabilidad y la capacidad de trabajar con carga extrema.

§ A mediados de los años 70, las minicomputadoras se generalizaron. La arquitectura de las minicomputadoras se simplificó significativamente en comparación con las mainframes, lo que se reflejó en su sistema operativo. La rentabilidad y la disponibilidad de minicomputadoras sirvieron como un poderoso incentivo para la creación de redes locales. La empresa, que ahora podía permitirse el lujo de tener varias minicomputadoras, necesitaba organizar el intercambio de datos y costosos equipos periféricos. Las primeras redes locales se construyeron utilizando equipos de comunicación y software no estándar.

§ Desde mediados de los años 70 se inició el uso generalizado de UNIX, un sistema operativo único para esa época, que era relativamente fácil de transportar a varios tipos de computadoras. Aunque UNIX fue diseñado originalmente para minicomputadoras, su flexibilidad, elegancia, potente funcionalidad y apertura le han permitido ganar una posición sólida en todas las clases de computadoras.

§ A finales de los años 70, se creó una versión funcional de la pila de protocolos TCP/IP. En 1983, se estandarizó la pila de protocolos TCP/IP. La independencia, la flexibilidad y la eficiencia del fabricante, demostradas por el funcionamiento exitoso en Internet, han convertido a los protocolos TCP/IP no sólo en el principal mecanismo de transporte de Internet, sino también en la pila principal de la mayoría de los sistemas operativos de red.

§ El comienzo de los años 80 está asociado con un acontecimiento importante en la historia de los sistemas operativos: la aparición de las computadoras personales, que sirvieron como un poderoso catalizador para el rápido crecimiento de las redes locales, creando una excelente base material para ello en forma de decenas y cientos de ordenadores ubicados dentro de un mismo edificio. Como resultado, el soporte para funciones de red se ha convertido en un requisito previo para los sistemas operativos de computadoras personales.

§ En los años 80 se adoptaron los principales estándares para tecnologías de comunicación para redes locales: en 1980 - Ethernet, en 1985 - Token Ring, a finales de los 80 - FDDI. Esto hizo posible garantizar la compatibilidad de los sistemas operativos de red en niveles inferiores, así como estandarizar la interfaz del sistema operativo con los controladores del adaptador de red.

§ A principios de los años 90, casi todos los sistemas operativos estaban conectados en red y eran capaces de soportar el trabajo con clientes y servidores heterogéneos. Han aparecido sistemas operativos de red especializados que están diseñados exclusivamente para realizar tareas de comunicación, por ejemplo, el sistema IOS de Cisco Systems, que se ejecuta en enrutadores.

§ Durante la última década, se ha prestado especial atención a los sistemas operativos de redes corporativas, que se caracterizan por un alto grado de escalabilidad, soporte para el trabajo en red, herramientas de seguridad avanzadas, la capacidad de trabajar en un entorno heterogéneo y la disponibilidad de sistemas centralizados. herramientas de administración y gestión.

Tareas y ejercicios.

1. ¿Qué acontecimientos en el desarrollo de la base técnica de las computadoras se convirtieron en hitos en la historia de los sistemas operativos?

2. ¿Cuál fue la diferencia fundamental entre los primeros monitores de procesamiento por lotes y los programas de procesamiento de sistemas que ya existían en ese momento: traductores, cargadores, enlazadores, bibliotecas de procedimientos?

3. ¿Puede funcionar una computadora sin sistema operativo?

4. ¿Cómo ha evolucionado la actitud hacia el concepto de multiprogramación a lo largo de la historia del SO?

5. ¿Qué influencia tuvo Internet en el desarrollo del sistema operativo?

6. ¿Qué explica el lugar especial del sistema operativo UNIX en la historia de los sistemas operativos?

7. Describir la historia de los sistemas operativos de red.

8. ¿Cuáles son las tendencias actuales en el desarrollo de sistemas operativos?

Enviar su buen trabajo a la base de conocimientos es fácil. Utilice el siguiente formulario

Los estudiantes, estudiantes de posgrado y jóvenes científicos que utilicen la base de conocimientos en sus estudios y trabajos le estarán muy agradecidos.

Publicado en http://www.allbest.ru/

Publicado en http://www.allbest.ru/

DEPARTAMENTO DE EDUCACIÓN DE LA ADMINISTRACIÓN DE LA REGIÓN DE VLADIMIR

GBOU SPO VO "Colegio Politécnico Vladimir"

Asunto: "Informática"

Sobre el tema: “La evolución de los sistemas operativos de varios tipos de computadoras”

Completado por: estudiante gr. PKS-312

Alekseev. O.O.

Introducción

1. Propósito de los sistemas operativos

2. Tipos de sistemas operativos

3. Historia del desarrollo del sistema operativo

3.1 Desarrollo del primer sistema operativo

3.2 Sistemas operativos y redes de área amplia

3.3 Sistemas operativos de minicomputadoras

3.4 Desarrollo de sistemas operativos en los años 80 y 90

Conclusión

Literatura

Introducción

Entre todos los programas del sistema con los que tienen que lidiar los usuarios de computadoras, los sistemas operativos ocupan un lugar especial. El sistema operativo controla la computadora, ejecuta programas, proporciona protección de datos y realiza diversas funciones de servicio a solicitud del usuario y de los programas. Cada programa utiliza los servicios del sistema operativo y, por lo tanto, solo puede funcionar bajo el control del sistema operativo que le proporciona estos servicios.

1 . Propósito de los sistemas operativos.

El sistema operativo determina en gran medida la apariencia de todo el sistema informático en su conjunto. A pesar de esto, los usuarios que utilizan activamente la tecnología informática a menudo experimentan dificultades al intentar definir un sistema operativo. Esto se debe en parte al hecho de que el sistema operativo realiza dos funciones esencialmente no relacionadas: brindar comodidad al usuario-programador al proporcionarle una máquina avanzada y aumentar la eficiencia del uso de la computadora al administrar racionalmente sus recursos.

Un sistema operativo (SO) es un conjunto de programas que brindan control del hardware de una computadora, planificando el uso efectivo de sus recursos y resolviendo problemas en función de las tareas del usuario.

El objetivo principal del sistema operativo que asegura el funcionamiento de una computadora en cualquiera de los modos descritos es la distribución dinámica de los recursos y su gestión de acuerdo con los requisitos de los procesos informáticos (tareas).

Un recurso es cualquier objeto que el sistema operativo puede distribuir entre procesos informáticos en una computadora. Hay recursos de hardware y software de una computadora. Los recursos de hardware incluyen el microprocesador (tiempo de procesador), la RAM y los periféricos; a recursos de software: herramientas de software disponibles para el usuario para gestionar procesos y datos informáticos. Los recursos de software más importantes son los programas incluidos en el sistema de programación; herramientas de gestión de software para archivos y dispositivos periféricos; bibliotecas de programas de sistemas y aplicaciones; herramientas que proporcionan control e interacción de procesos informáticos (tareas).

El sistema operativo distribuye recursos de acuerdo con las solicitudes de los usuarios y las capacidades de la computadora y teniendo en cuenta la interacción de los procesos informáticos. Las funciones del sistema operativo también son implementadas por una serie de procesos informáticos, que a su vez consumen recursos (memoria, tiempo de procesador, etc.). Los procesos informáticos relacionados con el sistema operativo gestionan los procesos informáticos creados a petición de los usuarios.

Se considera que un recurso está en modo compartido si cada uno de los procesos informáticos lo ocupa durante un determinado periodo de tiempo. Por ejemplo, dos procesos pueden compartir el tiempo de CPU por igual si a cada proceso se le da la oportunidad de usar la CPU durante un segundo de cada dos segundos. Todos los recursos de hardware se comparten de manera similar, pero los intervalos en los que los procesos utilizan los recursos pueden no ser los mismos. Por ejemplo, un proceso puede tener acceso a una parte de la RAM durante todo el período de su existencia, pero el microprocesador puede estar disponible para el proceso sólo durante un segundo de cada cuatro.

El sistema operativo es un intermediario entre la computadora y su usuario. Facilita el trabajo con una computadora, liberando al usuario de la responsabilidad de distribuir y administrar recursos. El sistema operativo analiza las solicitudes de los usuarios y garantiza su implementación. La solicitud refleja los recursos necesarios y las acciones informáticas requeridas y está representada por una secuencia de comandos en un lenguaje especial de directivas del sistema operativo. Esta secuencia de comandos se llama tarea.

2 . Tipos de sistemas operativos

El sistema operativo puede satisfacer las solicitudes de los usuarios por lotes o de forma conversacional o controlar dispositivos en tiempo real. De acuerdo con esto, se distinguen los sistemas operativos de procesamiento por lotes, tiempo compartido y diálogo (Tabla 1).

Tabla 1

Sistemas operativos

Características del sistema operativo

La naturaleza de la interacción del usuario con la tarea.

Número de usuarios atendidos simultáneamente

Modo de funcionamiento de la computadora proporcionado

Procesamiento por lotes

La interacción es imposible o limitada.

Uno o más

Programa único o multiprograma

tiempo compartido

Diálogo

Alguno

Multiprograma

Tiempo real

Operacional

Multitarea

Diálogo

Diálogo

Programa único

3. Historia del desarrolloSO

3 .1 Desarrollo del primer sistema operativo.

Un período importante en el desarrollo del sistema operativo se remonta a 1965-1975. En ese momento, en la base técnica de las computadoras hubo una transición de elementos semiconductores individuales, como los transistores, a los circuitos integrados, lo que abrió el camino para el surgimiento de la próxima generación de computadoras.

En las computadoras de los años 60, la mayoría de las acciones para organizar el proceso informático fueron asumidas por el sistema operativo. La implementación de la multiprogramación requirió la introducción de cambios muy importantes en el hardware de la computadora, directamente dirigidos a soportar una nueva forma de organizar el proceso informático. Al dividir los recursos de la computadora entre programas, es necesario garantizar un cambio rápido del procesador de un programa a otro, así como proteger de manera confiable los códigos y datos de un programa contra daños intencionales o no intencionales a otro programa. Los procesadores ahora tienen modos de operación privilegiados y de usuario, registros especiales para cambiar rápidamente de un programa a otro, medios para proteger áreas de memoria, así como un sistema de interrupción desarrollado.

En modo privilegiado, diseñado para el funcionamiento de los módulos de software del sistema operativo, el procesador podía ejecutar todos los comandos, incluidos aquellos que permitían la distribución y protección de los recursos de la computadora. Algunos comandos del procesador no estaban disponibles para los programas que se ejecutaban en modo de usuario. Por lo tanto, sólo el sistema operativo podía controlar el hardware y actuar como árbitro para los programas de usuario que se ejecutaban en modo de usuario sin privilegios.

El sistema de interrupción permitió sincronizar el funcionamiento de varios dispositivos informáticos que funcionan en paralelo y de forma asíncrona, como canales de entrada/salida, discos, impresoras, etc.

3 .2 OperaciónSistemas TI y redes globales.

A principios de los años 70 aparecieron los primeros sistemas operativos de red que, a diferencia de los sistemas operativos multiterminales, permitieron no solo dispersar a los usuarios, sino también organizar el almacenamiento distribuido y el procesamiento de datos entre varias computadoras conectadas por conexiones eléctricas. Cualquier sistema operativo de red, por un lado, realiza todas las funciones de un sistema operativo local y, por otro lado, tiene algunas herramientas adicionales que le permiten interactuar a través de la red con los sistemas operativos de otras computadoras. Los módulos de software que implementan funciones de red aparecieron en los sistemas operativos gradualmente, a medida que se desarrollaron las tecnologías de red, el hardware informático y surgieron nuevas tareas que requerían procesamiento de red.

En 1969, el Departamento de Defensa de Estados Unidos inició trabajos para unir supercomputadoras de centros de investigación y defensa en una sola red. Esta red se llamó ARPANET y fue el punto de partida para la creación de la red global más famosa en la actualidad: Internet. La red ARPANET unía computadoras de diferentes tipos, ejecutando diferentes sistemas operativos con módulos agregados que implementaban protocolos de comunicación comunes a todas las computadoras de la red.

En 1974, IBM anunció la creación de su propia arquitectura de red para sus mainframes, denominada SNA (System Network Architecture). Esta arquitectura multicapa, muy parecida al modelo OSI estándar que apareció algo más tarde, proporcionaba interacciones de terminal a terminal, de terminal a computadora y de computadora a computadora a través de comunicaciones globales. Los niveles inferiores de la arquitectura fueron implementados mediante hardware especializado, el más importante de los cuales fue el teleprocesador. Las funciones de los niveles superiores del SNA se realizaron mediante módulos de software. Uno de ellos formó la base del software del teleprocesador. Otros módulos se ejecutaban en un procesador central como parte del sistema operativo de mainframe estándar de IBM.

Al mismo tiempo, en Europa se estaba trabajando activamente para crear y estandarizar redes X.25. Estas redes de conmutación de paquetes no estaban vinculadas a ningún sistema operativo específico. Desde que se convirtió en un estándar internacional en 1974, los protocolos X.25 han pasado a ser compatibles con muchos sistemas operativos. Desde 1980, IBM ha incluido soporte para protocolos X.25 en la arquitectura SNA y en sus sistemas operativos.

3 .3 Sistemas operativos para minicomputadorasYuters

A mediados de los años 70, las minicomputadoras como PDP-11, Nova y HP se generalizaron. Las minicomputadoras fueron las primeras en aprovechar los grandes circuitos integrados, que permitieron implementar funciones bastante potentes a un costo de computadora relativamente bajo.

Muchas características de los sistemas operativos multiprograma y multiusuario se han truncado debido a los recursos limitados de las minicomputadoras. Los sistemas operativos de las minicomputadoras a menudo comenzaron a especializarse, por ejemplo, solo para control en tiempo real (RT-11 OS para minicomputadoras PDP-11) o solo para admitir el modo de tiempo compartido (RSX-11M para las mismas computadoras). Estos sistemas operativos no siempre fueron multiusuario, lo que en muchos casos se justificaba por el bajo coste de los ordenadores.

Un hito importante en la historia de los sistemas operativos fue la creación del sistema operativo UNIX. Este sistema operativo fue pensado originalmente para admitir el modo de tiempo compartido de la minicomputadora PDP-7. Desde mediados de los años 70 se inició el uso generalizado del sistema operativo UNIX. En ese momento, el código del programa para UNIX estaba escrito en un 90% en el lenguaje de alto nivel C. El uso generalizado de compiladores C efectivos convirtió a UNIX en un sistema operativo único para esa época, capaz de una portabilidad relativamente fácil a varios tipos de computadoras. Dado que este sistema operativo se suministró con código fuente, se convirtió en el primer sistema operativo abierto que los usuarios comunes y entusiastas podían mejorar. Aunque UNIX fue diseñado originalmente para minicomputadoras, su flexibilidad, elegancia, potente funcionalidad y apertura le han permitido ganar una posición sólida en todas las clases de computadoras: supercomputadoras, mainframes, minicomputadoras, servidores y estaciones de trabajo basados ​​en RISC y computadoras personales. computadora del usuario del sistema operativo

La disponibilidad de minicomputadoras y, como resultado, su prevalencia en las empresas sirvió como un poderoso incentivo para la creación de redes locales. Una empresa podría permitirse el lujo de tener varios miniordenadores ubicados en el mismo edificio o incluso en la misma habitación. Naturalmente, existía la necesidad de intercambiar información entre ellos y compartir costosos equipos periféricos.

Las primeras redes locales se construyeron utilizando equipos de comunicación no estándar, en el caso más simple, conectando directamente puertos serie de computadoras. El software tampoco era estándar y se implementaba en forma de aplicaciones de usuario. La primera aplicación de red para el sistema operativo UNIX, el programa UUCP (programa de copia UNIX a UNIX), apareció en 1976 y comenzó a distribuirse con la versión 7 de AT&T UNIX en 1978. Este programa permitía copiar archivos de una computadora a otra dentro de una red local a través de varias interfaces de hardware: RS-232, bucle de corriente, etc., y además podía funcionar a través de conexiones globales, como módems.

3 .4 Desarrollo de sistemas operativos en los años 80.-mi, años 90

Los acontecimientos más importantes de esta década incluyen el desarrollo de la pila TCP/IP, el surgimiento de Internet, la estandarización de las tecnologías de redes locales y la aparición de computadoras personales y sistemas operativos para ellas.

A finales de los años 70 se creó una versión funcional de la pila de protocolos TCP/IP. Esta pila era un conjunto de protocolos comunes para un entorno informático heterogéneo y estaba destinada a conectar la red experimental ARPANET con otras redes "satélites". En 1983, el Departamento de Defensa de Estados Unidos adoptó el protocolo TCP/IP como estándar militar. La transición de las computadoras ARPANET a la pila TCP/IP se aceleró con su implementación para el sistema operativo BSD UNIX. Desde entonces comenzó la coexistencia de UNIX y los protocolos TCP/IP, y casi todas las numerosas versiones de Unix se basaron en red.

Internet se ha convertido en un excelente campo de pruebas para muchos sistemas operativos de red, permitiéndoles probar en condiciones reales las posibilidades de su interacción, el grado de escalabilidad y la capacidad de trabajar bajo cargas extremas creadas por cientos y miles de usuarios. La independencia, la flexibilidad y la eficiencia de los proveedores han convertido a los protocolos TCP/IP no sólo en el principal mecanismo de transporte de Internet, sino también en la pila principal de la mayoría de los sistemas operativos de red.

También se utilizan ampliamente los sistemas operativos MS-DOS de Microsoft, PC DOS de IBM, Novell DOS de Novell y otros. El primer sistema operativo DOS para una computadora personal fue creado en 1981 se llamó MS-DOS 1.0. Microsoft adquirió los derechos de 86-DOS de Seattle Computer Products, adaptó este sistema operativo para la entonces secreta IBM PC y le cambió el nombre a MS-DOS. En agosto de 1981, DOS 1.0 se ejecutaba en un único disquete de una cara de 160 KB. Los archivos del sistema ocupan hasta 13 KB: requiere 8 KB de RAM. mayo de 1982 DOS 1.1 le permite trabajar con disquetes de doble cara. Los archivos del sistema ocupan hasta 14K. marzo de 1983 La aparición de DOS 2.0 junto con el IBM PC XT. De nueva creación, esta versión tiene casi tres veces más comandos que DOS 1.1. Ahora te permite utilizar 10 MB de disco duro. Estructura de árbol del sistema de archivos y disquetes de 360 ​​K. El nuevo formato de disco de 9 sectores aumenta la capacidad en un 20% en comparación con el formato de 8 sectores. Los archivos del sistema ocupan hasta 41 K; el sistema requiere 24 K de RAM. diciembre de 1983 Junto con el PCjr, apareció el sistema PC-DOS 2.1 de IBM.

Agosto de 1984. Junto con la primera IBM PC AT basada en el procesador 286, apareció DOS 3.0. Se centra en disquetes de 1,2 MB y discos duros con mayor capacidad que antes. Los archivos del sistema ocupan hasta 60 KB. Noviembre de 1984. DOS 3.1 admite archivos del sistema de red de Microsoft que ocupan hasta 62 K. Noviembre de 1985. La aparición de Microsoft Windows. Diciembre de 1985. DOS 3.2 funciona con disquetes de 89 mm a 720 K. Puede direccionar hasta 32 MB en un disco duro independiente. Los archivos del sistema ocupan hasta 72 KB. Abril de 1986. La aparición de IBM PC Convertihle. Septiembre de 1986. Compaq lanza la primera PC de clase 386. Abril de 1987. Con PS/2, la primera PC clase 386 de IBM introdujo DOS 3.3. Funciona con los nuevos disquetes de 1,44 MB y varios tipos de particiones de disco duro de hasta 32 MB cada uno, lo que le permite utilizar discos duros de alta capacidad. Los archivos del sistema ocupan hasta 76 KB; el sistema requiere 85 KB de RAM. MS-DOS fue el más popular y duró entre 3 y 4 años. Al mismo tiempo, IBM anunció el lanzamiento de OS/2. Noviembre de 1987. Inicio de la entrega de Microsoft Windows 2.0 y OS/2. Julio de 1988 Aparece Microsoft Windows 2.1 (Windows/286 Windows/386). Noviembre de 1988. DOS 4.01 incluye una interfaz, menús de shell y particiones del disco duro de más de 32 MB. Los archivos del sistema ocupan hasta 108 KB; El sistema requiere 75K RAM para funcionar. Mayo de 1990. Aparecen Microsoft Windows 3.0 y DR DOS 5.0. Junio ​​de 1991. MS-DOS 5.0 tiene sus propias características: le permite utilizar el OP de forma eficaz. DOS 5.0 tiene interfaces de menú de shell mejoradas, un editor de pantalla completa, utilidades de disco y la capacidad de cambiar tareas. Los archivos del sistema ocupan hasta 118 KB: el sistema requiere 60 KB de RAM para funcionar y se pueden cargar 45 KB en un área de memoria con direcciones superiores a 1 MB, lo que libera espacio en la memoria normal para ejecutar programas de aplicación MS-DOS 6.0 además de el conjunto estándar de programas. Incluye programas de copia de seguridad, un programa antivirus y otras mejoras en MS-DOS 6.21 y MS-DOS 6.22.

El comienzo de los años 80 está asociado con otro acontecimiento importante en la historia de los sistemas operativos: la aparición de los ordenadores personales. Desde el punto de vista arquitectónico, las computadoras personales no se diferenciaban de la clase de minicomputadoras como la PDP-11, pero su costo era significativamente menor. Las computadoras personales sirvieron como un poderoso catalizador para el rápido crecimiento de las redes de área local. Como resultado, el soporte para funciones de red se ha convertido en un requisito previo para los sistemas operativos de computadoras personales.

Conclusión

La historia del sistema operativo se remonta a aproximadamente medio siglo. Fue y está determinado en gran medida por el desarrollo de la base de elementos y los equipos informáticos. Actualmente, la industria informática mundial se está desarrollando muy rápidamente. El rendimiento del sistema aumenta y, por tanto, aumenta la capacidad de procesar grandes volúmenes de datos. Los sistemas operativos de la clase MS-DOS ya no pueden hacer frente a tal flujo de datos y no pueden utilizar plenamente los recursos de las computadoras modernas. Por lo tanto, recientemente ha habido una transición hacia sistemas operativos más potentes y avanzados de la clase UNIX, un ejemplo de los cuales es Windows NT, lanzado por Microsoft.

Literatura

1. V.E. Figurnov IBM RS para usuarios. Ed. 7mo, revisado y adicional - M.: INFRA-M, 2000. - 640 p.: enfermo.

2. Akhmetov K.S. Curso de joven luchador. Ed. 5to, revisado y adicional - M.: Computer Press, 1998. - 365 págs.: Ill.

3.Software del sistema./V.M. Ilyushechkin, A.E. Kostin Ed. 2do, revisado y adicional - M.: Más alto. escuela, 1991. - 128 págs.: ill.

4. Olifer V.G. Sistemas operativos de red. San Petersburgo: Peter, 2002.-538 p.

5. Sistemas operativos: [Colección/ Ed.B.M. Vasiliev].-M.: Conocimiento, 1990-47 págs.: ill.

Publicado en Allbest.ru

Documentos similares

    La historia de la aparición de los primeros sistemas operativos, sistemas operativos multiprograma para mainframes. Las primeras redes locales y globales. Desarrollo de sistemas operativos en los años 80. Construcción de gráficas bidimensionales en MathCAD, resolución de sistemas de ecuaciones.

    prueba, añadido el 11/06/2014

    Características de la etapa actual de desarrollo de sistemas operativos. Finalidad de los sistemas operativos, sus principales tipos. Sistemas operativos para minicomputadores. El principio de funcionamiento de una impresora matricial, diseño y reproducción de caracteres arbitrarios para las mismas.

    trabajo del curso, añadido el 23/06/2011

    Concepto de sistemas operativos: finalidad principal, principales funciones y tipos. Características y valoración de las capacidades de Microsoft Windows y Linux. Selección de un sistema operativo para computadoras personales de trabajo y para un servidor en la empresa Gas-Service LLC.

    tesis, agregada el 16/06/2012

    Sistemas operativos para procesamiento por lotes, tiempo compartido, tiempo real. Características de los algoritmos de gestión de recursos. Soporte para modo multiusuario. Multitarea preventiva y no preventiva. Sistemas operativos y redes globales.

    resumen, añadido el 11/12/2011

    Antecesores históricos de las computadoras. La aparición de las primeras computadoras personales. Concepto de arquitectura de PC abierta. Desarrollo de la base de elementos informáticos. Ventajas de los sistemas informáticos multiprocesador y multimáquina frente a los monoprocesador.

    trabajo del curso, añadido el 27/04/2013

    La creación por parte de Microsoft del sistema operativo MS-DOS y el uso generalizado de las computadoras personales. La necesidad de crear un sistema operativo más fácil de usar, el desarrollo y evolución de Windows, la aparición de las aplicaciones de Internet.

    presentación, añadido el 29/10/2012

    Características de varios modelos de ordenadores portátiles. Capacidades de los sistemas operativos. Computadoras y sistemas informáticos. Procedimiento de selección de ordenadores portátiles y SO. Elegir una computadora portátil para equipar a los empleados de una empresa de consultoría.

    tesis, agregada el 23/06/2012

    Determinación de finalidad, caracterización de tipos de sistemas operativos y análisis de multitarea en sistemas de procesamiento por lotes. Familiarización con técnicas para controlar el funcionamiento de dispositivos de impresión en MS-DOS y la formación de nuevos comandos y símbolos para una impresora matricial.

    trabajo del curso, añadido el 22/06/2011

    El concepto y las características del sistema operativo UNIX como uno de los sistemas operativos más populares del mundo, historia de desarrollo y desarrollo. Evaluando la posibilidad de aumentar constantemente la potencia del cluster conectando computadoras adicionales.

    presentación, añadido el 23/10/2013

    Análisis y valoración de los ordenadores portátiles producidos actualmente y sus correspondientes sistemas operativos, junto con una excursión a la historia de su aparición y desarrollo. Clasificación y funciones de los procesadores de portátiles. SO para ordenadores portátiles.

Primer período (1945 -1955)

La creación de las primeras computadoras digitales se produjo después de la Segunda Guerra Mundial. A mediados de los años 40 se crearon los primeros dispositivos informáticos de tubo. En ese momento, el mismo grupo de personas participó en el diseño, operación y programación de la computadora. Se trataba más de un trabajo de investigación en el campo de la tecnología informática que del uso de las computadoras como herramienta para resolver problemas prácticos de otras áreas aplicadas. La programación se realizó exclusivamente en lenguaje de máquina. No se habló de sistemas operativos; todas las tareas de organización del proceso informático las resolvió manualmente cada programador desde el panel de control. No había ningún otro software de sistema aparte de bibliotecas de rutinas matemáticas y de utilidad. Las primeras máquinas eran muy caras y era importante utilizarlas de la forma más eficiente posible. Los primeros sistemas tuvieron grandes problemas:

– el tiempo de uso de la computadora era muy costoso y surgían dificultades para determinar la cantidad de tiempo necesaria para completar una tarea particular. Era necesario calcular el tiempo de funcionamiento de la computadora de tal manera que fuera suficiente para completar el programa y, al mismo tiempo, la computadora no estaría inactiva si el programa se completaba más rápido de lo planeado.

Lanzar un programa (trabajo) requirió mucho trabajo preparatorio: cargar el compilador y el programa en la memoria, guardar, cargar y vincular el código objeto con las funciones de la biblioteca. Si se producía un error en una de las etapas, había que empezar de nuevo todo el proceso preparatorio.

Este modo de operación llamado procesamiento secuencial.

Segundo período (1955 - 1965)

Desde mediados de los años 50, comenzó un nuevo período en el desarrollo de la tecnología informática, asociado con el surgimiento de una nueva base técnica: los elementos semiconductores. Las computadoras de segunda generación se volvieron más confiables, ahora podían trabajar continuamente durante tanto tiempo que se les podía confiar la realización de tareas verdaderamente importantes en la práctica. Para mejorar la eficiencia del trabajo, se propuso el concepto de procesamiento de datos por lotes. La esencia del concepto es que todos los programas en un medio perforado (tarjeta o cinta) se transfirieron a un operador de computadora, quien reunió los trabajos en paquetes y los colocó en dispositivos de entrada de datos. Los programas se transfirieron al control del monitor, que automatizó el lanzamiento de un programa tras otro. Su funcionamiento se basa en la capacidad del procesador para seleccionar instrucciones de diversas áreas de la memoria principal. Los sistemas de procesamiento por lotes fueron el prototipo de los sistemas operativos modernos y se convirtieron en los primeros programas de sistema diseñados para gestionar el proceso informático. Durante la implementación de los sistemas de procesamiento por lotes, se desarrolló un lenguaje de control de tareas formalizado, con la ayuda del cual el programador informaba al sistema y al operador qué trabajo quería realizar en la computadora. Los primeros sistemas por lotes fueron desarrollados a mediados de los años 50 por General Motors para máquinas IBM 701. A principios de los años 60, el sistema operativo por lotes IBSYS de IBM se desarrolló para computadoras 7090/7094.

Tercer período (1965 - 1981)

En este momento se produjo una transición en la base técnica de elementos semiconductores individuales, como transistores, a circuitos integrados, lo que brindó oportunidades mucho mayores a la nueva tercera generación de computadoras. Este período también se caracterizó por la creación de familias de máquinas compatibles con software. La primera familia de máquinas compatibles con software construidas sobre circuitos integrados fue la serie de máquinas IBM/360. Construida a principios de los años 60, esta familia era claramente superior a las máquinas de segunda generación en términos de precio/rendimiento. Pronto la idea de máquinas compatibles con software fue generalmente aceptada. La compatibilidad del software también requería compatibilidad del sistema operativo. Estos sistemas operativos tendrían que funcionar tanto en sistemas informáticos grandes como pequeños, con un número grande y pequeño de dispositivos periféricos diferentes. Los primeros sistemas operativos de este tipo se crearon en lenguajes orientados a máquinas y contenían una gran cantidad de errores. Sin embargo, a pesar del enorme tamaño de los códigos fuente y de los numerosos problemas, OS/360 y otros sistemas operativos similares de tercera generación para máquinas satisfacían la mayoría de las necesidades de los consumidores. El logro más importante del sistema operativo de esta generación fue la implementación de la multiprogramación. La multiprogramación es una forma de organizar un proceso informático en el que se ejecutan alternativamente varios programas en un procesador.. Mientras un programa realiza una operación de E/S, el procesador no está inactivo, como era el caso cuando se ejecutan programas secuencialmente (modo de programa único), sino que está ejecutando otro programa (modo multiprograma). En este caso, cada programa se carga en su propia sección de RAM, llamada partición.

Otra innovación es el spooling. En ese momento, el spooling se definía como una forma de organizar el proceso informático, según la cual las tareas se leían de tarjetas perforadas en el disco al ritmo con el que aparecían en el centro de computación, y luego, cuando se completaba la siguiente tarea, se generaba una nueva. La tarea se cargó desde el disco a la partición libre.

Junto con la implementación multiprograma de los sistemas de procesamiento por lotes, apareció un nuevo tipo de sistema operativo: sistemas de tiempo compartido. La opción de multiprogramación utilizada en los sistemas de tiempo compartido tiene como objetivo crear para cada usuario individual la ilusión de un uso exclusivo de la computadora. Uno de los primeros sistemas operativos de tiempo compartido fue el sistema CTSS, desarrollado en el Instituto Tecnológico de Massachusetts. Desarrollado originalmente para el IBM 709.

Cuarto período (1981-presente)

El siguiente período en la evolución de los sistemas operativos está asociado con la llegada de los circuitos integrados a gran escala (LSI). Durante estos años, se produjo un fuerte aumento en el grado de integración y una reducción en el costo de los microcircuitos. La computadora está disponible para todos los usuarios: ha llegado la era de las computadoras personales. Desde el punto de vista arquitectónico, las computadoras personales no se diferenciaban de la clase de minicomputadoras como la PDP-11, pero su precio era significativamente menor. Las computadoras pasaron a ser ampliamente utilizadas por no especialistas, lo que requirió el desarrollo de software "amigable", es decir, una interfaz de usuario que satisficiera a la mayoría de los usuarios no especializados.

El mercado de sistemas operativos estaba dominado por dos sistemas: MS-DOS y UNIX. El sistema operativo de un solo programa y un solo usuario MS-DOS se usó ampliamente para las computadoras construidas con los microprocesadores Intel 8088, y más tarde 80286, 80386 y 80486. El sistema operativo multiprograma y multiusuario UNIX dominó entre las computadoras construidas con. Procesadores RISC de alto rendimiento.

A mediados de los años 80, comenzaron a desarrollarse rápidamente las redes de computadoras personales que funcionan bajo sistemas operativos distribuidos o en red. Cuando se trabaja con sistemas operativos de red, la prioridad pasa a primer plano. la tarea de implementar una interfaz de usuario y reemplazar equipos de redes informáticas reales.

Fin del trabajo -

Este tema pertenece a la sección:

Apuntes de conferencias sobre la disciplina Sistemas operativos y entornos.

Región de Astrakhan de educación secundaria vocacional.. Facultad de Ciencias de la Computación de Astrakhan.. Apuntes de conferencias sobre la disciplina Sistemas operativos y entornos semestrales..

Si necesitas material adicional sobre este tema, o no encontraste lo que buscabas, te recomendamos utilizar la búsqueda en nuestra base de datos de obras:

Qué haremos con el material recibido:

Si este material te resultó útil, puedes guardarlo en tu página en las redes sociales:

Todos los temas de esta sección:

Definición del sistema operativo
El sistema operativo determina la apariencia de todo el sistema informático. Hoy en día existe una gran cantidad de sistemas operativos, cada uno de los cuales tiene sus propias características de implementación para el usuario.

Requisitos para los sistemas operativos modernos.
Los sistemas operativos modernos satisfacen las demandas de hardware y software en constante evolución. Son capaces de controlar el funcionamiento de sistemas multiprocesador y componentes de red.

Módulos de sistema operativo kernel y auxiliares
Los sistemas operativos modernos tienen una arquitectura basada en dividir todos sus módulos en dos grupos: - núcleo: módulos que realizan las funciones principales del sistema operativo;

- módulos que realizan auxiliares
Ejecutando el kernel en modo privilegiado

Para garantizar una alta confiabilidad y estabilidad, el sistema operativo debe ocupar una posición más privilegiada en relación con las aplicaciones convencionales. Sistema operativo
Estructura del sistema operativo multicapa

Un sistema informático que ejecuta un sistema operativo basado en kernel se puede representar como tres capas dispuestas jerárquicamente: la capa inferior es el hardware, la capa intermedia es el kernel y la capa superior es el hardware.
Concepto de arquitectura de micronúcleo

La arquitectura Microkernel es una alternativa al método de construcción de un sistema operativo discutido anteriormente, según el cual todas las funciones principales del sistema operativo que componen la multicapa.
Conceptos de proceso y recurso informático.

Un proceso (o tarea) es una abstracción que describe un programa en ejecución. Para el sistema operativo, un proceso es una unidad de trabajo, una solicitud para consumir recursos del sistema. Después
Creando procesos e hilos

Los siguientes eventos pueden conducir a la creación de un proceso: la necesidad de realizar alguna función requerida por el programa de usuario (la creación de un proceso por parte del sistema operativo) o
Información de control de procesos

o Información de programación y estado: incluye información sobre el estado del proceso, la prioridad del proceso, el algoritmo de programación utilizado, información sobre el evento debido al cual se encontró el proceso.
Estados del proceso

En un sistema multitarea (multiproceso), un proceso puede estar en uno de cinco estados principales (Fig. 2.2.): - EJECUCIÓN: el estado activo del proceso, durante el cual el proceso está funcionando.
Algoritmos de programación preventivos y no preventivos

Algoritmos de programación basados ​​en cuantificación
Muchos algoritmos de programación preventiva se basan en el concepto de cuantificación. De acuerdo con él, a cada proceso se le asigna a su vez un período continuo limitado para su ejecución.

Algoritmos de programación basados ​​en prioridades
Los procesos de servicio basados ​​​​en prioridades presupone que los subprocesos tengan alguna característica inicialmente conocida: una prioridad, a partir de la cual se determina el orden de su ejecución.

Administrar procesos y subprocesos en Windows 2000
Los procesos en el sistema operativo W2K están organizados para admitir varios entornos operativos. Las características importantes de los procesos en el sistema operativo incluyen la implementación de procesos como objetos, la capacidad de generar

Procesos en Linux
El sistema operativo Linux utiliza dos categorías de procesos: sistema y usuario. Para ejecutarlos, se requieren dos modos: modo usuario y modo kernel. Los procesos de usuario se ejecutan según

Tipos de interrupciones
Todas las computadoras proporcionan una implementación de un mecanismo de interrupción, a través del cual los dispositivos pueden interrumpir el funcionamiento normal del procesador.

Dependiendo de la fuente, las interrupciones se dividen en
Manejo de interrupciones

Una interrupción desencadena una serie de eventos que ocurren tanto en el hardware como en el software. En la figura. La figura 1.6 muestra una secuencia típica de estos eventos. Una vez que el dispositivo haya terminado de funcionar
Objetivos y medios de sincronización.

Los principales problemas que surgen para los desarrolladores de sistemas operativos están relacionados principalmente con la gestión de procesos y subprocesos. Es necesario tener en cuenta que los sistemas operativos modernos requieren al menos
Métodos para lidiar con callejones sin salida.

El problema de los estancamientos es extremadamente grave y complejo. La lucha contra las situaciones de bloqueo se basa en una de tres estrategias: - prevenir los bloqueos;
- evitar callejones sin salida;

Tipos de direcciones
Para identificar variables y comandos se utilizan nombres simbólicos (etiquetas), direcciones virtuales y direcciones físicas.

Los nombres simbólicos los asigna el usuario al escribir programas.
El concepto de memoria virtual.

Una condición necesaria para que un programa se ejecute es su ubicación en la RAM. La gran cantidad de tareas requeridas para una alta utilización de la CPU requiere más
Con la paginación, el espacio de direcciones virtuales del proceso se divide mecánicamente en partes iguales. Esto no permite diferenciar métodos de acceso a diferentes partes del programa (segmentos), y

Organización de la entrada y salida de datos.
La configuración de la memoria de una computadora está determinada por tres parámetros principales: capacidad, velocidad y costo. La cantidad de memoria es una característica tal que en cualquier caso sería deseable tenerla como

Cómo funciona la memoria caché
Consideremos uno de los posibles esquemas de almacenamiento en caché (Fig. 1.8.). El contenido de la memoria caché es una colección de registros de todos los elementos de datos cargados en ella desde la memoria principal. Cada entrada

Caché interno
Veamos los elementos principales del caché. Al estudiar la estructura interna de la caché, importa lo siguiente: - tamaño de la caché;

- tamaño del bloque;
- función de visualización;

-algo
E/S mediante interrupciones

El problema con las E/S programables es que el procesador debe esperar mucho tiempo hasta que el controlador de E/S esté listo para leer o aceptar nuevos datos. Mientras espera, el procesador debe
Acceso directo a la memoria

Aunque la E/S controlada por interrupciones es más eficiente que la E/S programable simple, aún requiere mucho tiempo de CPU para transferir datos entre la memoria y el controlador.
Organización física de los dispositivos de E/S.

Los dispositivos de E/S se dividen en dos tipos: dispositivos orientados a bloques y dispositivos orientados a bytes. Los dispositivos orientados a bloques almacenan información en bloques de tamaño fijo
Coincidencia de velocidad y almacenamiento en caché de datos

Al intercambiar datos siempre surge el problema de la coordinación de velocidades. Por ejemplo, si un proceso de usuario produce algunos datos y los transfiere a otro proceso a través de la RAM, entonces
Organización física de unidades en MD.

Cualquier unidad de disco magnético tiene uno o más discos físicos en el mismo eje con un bloque de cabezales que se mueven a lo largo del radio, uno para cada superficie de trabajo (Fig. 4.4).
Principios para registrar información en MD.

La memoria en disco para archivos no está reservada, sino asignada según sea necesario. Este mecanismo de asignación de memoria se llama dinámico. Cuanto mayor sea el tamaño del grupo, más irracional será su uso.
Un disco duro, que tiene un volumen significativamente mayor que un MD flexible, también tiene una estructura más compleja: se puede dividir en varias secciones que actúan en el sistema como unidades independientes (lógicas).

Principales áreas lógicas del disco.
Sector de inicio (sector de inicio, sector de inicio), tabla de asignación de archivos (FAT - tabla de asignación de archivos), directorio raíz (directorio raíz), área de datos (sobre

Características clave de NTFS
NTFS es un sistema de archivos flexible y potente que, como veremos, se basa en un modelo simple y elegante. Algunas de las características más notables de NTFS incluyen las siguientes:

Volumen NTFS y estructura de archivos
NTFS utiliza los siguientes conceptos de almacenamiento en disco: Sector. La unidad más pequeña de almacenamiento físico en un disco. El tamaño de los datos en bytes es una potencia de dos y casi siempre es igual a

Organización física de s5 y ufs.
Los sistemas de archivos s5 y ufs utilizan un modelo físico muy similar. Esto no es sorprendente, ya que ufs es un desarrollo del sistema s5.

Al estudiar este tema, en lugar del concepto de cluster habrá
Comprobación de la disponibilidad de los servicios de red.

Si se detectan problemas con un servicio de red en particular, se utilizan varias herramientas de diagnóstico para verificar su disponibilidad, dependiendo de su disponibilidad en un sistema operativo determinado.
Configurar el nombre de la computadora y el grupo de trabajo

En un entorno de red, cada computadora tiene su propio nombre. Puedes elegir este nombre tú mismo. Se recomienda asociar el nombre de la computadora con su nombre o apellido, apodo, sin embargo, en general
Diagnóstico de la configuración de red.

Si un usuario contacta al soporte por cualquier motivo relacionado con el funcionamiento de la red, el ingeniero de soporte puede pedirle al usuario que configure su computadora relacionada
Enfoque sistemático de la seguridad.

Construir y mantener un sistema seguro requiere un enfoque sistemático. De acuerdo con este enfoque, primero es necesario comprender toda la gama de posibles amenazas para una red específica y para cada una de ellas.
Política de seguridad

La importancia y complejidad del problema de seguridad requiere el desarrollo de una política de seguridad de la información, que implica respuestas a las siguientes preguntas: ¿Qué información proteger?
Descripción general de Windows 2000

Windows 2000 es un sistema operativo multipropósito con soporte integrado para redes de servidores dedicados y de igual a igual. Las tecnologías implementadas en él permiten reducir el costo total de propiedad (tota
Windows 2000 crea una experiencia de usuario final más consistente al proporcionar los programas, datos y configuraciones del sistema operativo que necesitan. Cabe señalar las siguientes novedades:

Soporte de hardware
Microsoft Windows 2000 Professional actualmente admite más de 7 mil modelos de dispositivos, incluidos dispositivos de comunicación por infrarrojos, escáneres, cámaras digitales y dispositivos multimedia modernos.

Multiprocesamiento asimétrico
También existen sistemas operativos multiprocesador asimétricos en los que los procesadores utilizan diferentes áreas de memoria física o tienen otras diferencias. Estos sistemas solo pueden ejecutar un único proceso.

Seguridad
Windows 2000 Professional es el sistema operativo de escritorio más seguro de la familia Windows. Estas son algunas de las características distintivas y mejoras de seguridad que lo hacen destacar.

Dominios y grupos de trabajo
Windows 2000 admite un entorno de red seguro en el que un usuario puede tener acceso a recursos compartidos, independientemente del tamaño de la red. Windows 2000 admite dos tipos de redes.

Antes de comenzar la instalación
Primero, revise los requisitos de hardware para instalar Windows 2000 Professional y asegúrese de que su computadora cumpla con esos requisitos; determinar si su hardware está incluido en el

Sistemas de archivos
Después de crear la partición de instalación, el programa de instalación le pedirá que seleccione el sistema de archivos bajo el cual se formateará esta partición. Windows 2000 admite tres sistemas de archivos: NTFS, FAT y FAT32.

Licencias
Además de las licencias de Windows 2000 Server y las licencias de sistema operativo en cada computadora cliente, cada conexión de cliente al servidor también debe tener una licencia.

Uso de la Consola de administración y el Programador de tareas
Las principales herramientas de administración de Microsoft Windows 2000 son la Consola de administración (MMC), el Programador de tareas y el Panel de control.

Consola de control
Carpeta de herramientas administrativas

De forma predeterminada, Windows 2000 almacena los archivos de la consola del usuario con una extensión .msc en la carpeta Herramientas administrativas. Incluso después de que se haya registrado un nuevo usuario
broches

Un complemento es una herramienta administrativa incluida con MMC. Hay dos tipos de complementos: aislados y extensiones. Se utilizan equipos aislados para realizar tareas.
Para crear y editar perfiles de hardware, utilice el programa Sistema desde el Panel de control. Para ver una lista de perfiles disponibles, haga doble clic en el ícono Sistema

Activación de un perfil de hardware
Si hay dos o más perfiles en la lista Perfiles de hardware disponibles, se le pedirá que seleccione uno de ellos durante el inicio. Puedes configurar la hora

Memoria virtual
El modelo de memoria de Windows 2000 se basa en un espacio de direcciones plano y lineal de 32 bits. Windows 2000 utiliza un sistema de administración de memoria virtual para administrar la memoria.

Espacio de direcciones virtuales
Una dirección virtual es un espacio de direcciones que utiliza una aplicación para hacer referencia a la memoria. Cuando se inicia un proceso en Windows 2000, VMM le proporciona 4 GB de memoria virtual.

paginación
El proceso de mover datos hacia y desde la RAM se llama paginación. Cuando la memoria física se llena y un subproceso necesita acceder a código o datos que no están actualmente en la RAM, la VM

Intercambiar tamaño de archivo
Cuando instala Windows 2000, el programa de instalación crea un archivo de página de memoria virtual, Pagefile.sys; en la partición del sistema. El tamaño mínimo del archivo de paginación es 2 MB, el tamaño de archivo recomendado es

Mayor productividad
Puede mejorar el rendimiento de su sistema de varias maneras. Primero, si su computadora tiene varios discos duros, puede crear un archivo de paginación para cada uno de ellos. Discordia

Subárboles de registro
Para encontrar rápidamente claves y valores específicos en el registro, debe conocer el propósito de cada subárbol. En la figura. 5-3 El Editor del Registro muestra los siguientes cinco subárboles: HKEY_LOCAL

Programa regedt32.exe
El programa de instalación coloca el editor de registro (programa Regedt32.exe) en la carpeta raíz del sistema\&yst&m32. Sin embargo, como la mayoría de los usuarios no editan el registro, este no aparece en el menú de Stan.

Estructura básica
El estándar tradicional de la industria es particionar el disco duro (Figura 6-1). Una partición es parte de un disco que funciona como un almacenamiento de datos independiente. En el viento

Instalación y configuración de protocolos de red.
Paquete de protocolo TCP/IP El paquete de protocolo TCP/IP proporciona conexión en red entre computadoras con diferentes arquitecturas de hardware y sistemas operativos. Implementación del protocolo TCP/IP,

Compartir utilidades ipconfig y ping
Al usar ipconng y ping juntos, puede verificar la configuración de su computadora y probar las conexiones a su enrutador.

Espacio de nombres
Active Directory, como cualquier otro servicio de directorio, es ante todo un espacio de nombres. Un espacio de nombres es cualquier área limitada en la que se puede otorgar permiso.

cuentas locales
Una cuenta local permite a un usuario iniciar sesión y acceder a recursos solo en la computadora en la que se creó la cuenta (Figura 10-1). Al crear una cuenta local

Reglas de nomenclatura de cuentas
En primer lugar, es necesario saber cómo se identifican los usuarios en un dominio. Las reglas lógicas y coherentes le ayudarán a usted y a sus usuarios a recordar los nombres de inicio de sesión y encontrarlos en listas.

Requisitos de contraseña
Para organizar el acceso a los recursos del sistema, a cada cuenta se le debe asignar una contraseña. Enumeremos los principios básicos para asignar contraseñas.

- Asigne siempre una contraseña a la cuenta A
Grupos locales

Un grupo local es un conjunto de cuentas de usuario en una computadora local diseñado para otorgar permisos de acceso a los recursos en la computadora donde se crea el grupo.
Permisos de carpeta compartida

Cambiar Crear sticks, agregarles archivos, cambiar y (Cambiar) agregar datos en archivos, cambiar atributos de archivos, eliminar carpetas (archivos) y realizar acciones permitidas por el permiso de lectura.
Aplicar permisos de acceso a una carpeta compartida

El tipo de acceso a una carpeta compartida depende de los permisos asignados a las cuentas de usuario y grupo. A continuación se analizan las consecuencias del uso de diferentes permisos.
- Múltiples permisos con

Reglas básicas para asignar permisos a una carpeta compartida
Las reglas básicas para asignar permisos para acceder a una carpeta compartida se pueden formular de la siguiente manera.

Determinar los grupos que necesitan acceso a este recurso y el nivel requerido
Carpetas de programa

Las carpetas de aplicaciones se utilizan para aplicaciones de servidor a las que puede acceder una computadora cliente. La principal ventaja de las aplicaciones compartidas es que no es necesario instalar software.
Puede conectarse a la carpeta compartida mediante el comando Ejecutar, el icono Mis sitios de red o el asistente Map Network Drive. En este último caso con

Conceptos básicos de la política de auditoría
Al planificar su política de auditoría, debe determinar en qué computadoras instalará la auditoría. De forma predeterminada, la auditoría está deshabilitada. Al seleccionar las computadoras para auditar, también puede planificar cómo

Existen las siguientes direcciones principales de la política de auditoría.
1. Decida si necesita realizar un seguimiento de las tendencias de uso del sistema. Si es así, planifique archivar los registros de eventos. Esto le permitirá, por ejemplo, ver cómo se utilizan los recursos del sistema,

Copia de seguridad de Windows
Windows 2000 tiene herramientas de archivo y recuperación: el programa Copia de seguridad. El programa incluye Backup Wizard, un programa de utilidad que facilita enormemente el archivado.

Planificación del archivo
El archivo se planifica y realiza de acuerdo con las necesidades y requisitos de la empresa. El objetivo principal de la copia de seguridad es poder restaurar datos si es necesario, por lo que cualquier plan

Tipos de archivo
El Asistente para copias de seguridad proporciona cinco tipos de copias de seguridad, que se diferencian en la selección de datos. Por ejemplo, puede archivar sólo los archivos que hayan cambiado desde la última copia de seguridad.

Recuperación de datos
La recuperación exitosa de datos sólo se puede garantizar si se cumplen ciertas reglas, como la documentación completa de todas las actividades de archivo.

Preparar
Seleccionar archivos y datos a restaurar

Antes de iniciar la recuperación, debe seleccionar los datos deseados.
Puede seleccionar archivos o carpetas individuales, un trabajo de archivo completo o varios conjuntos. Conjunto de archivos (copia de seguridad se

Explorando las capacidades de la utilidad cmd
El shell de comandos es un producto de software independiente que proporciona comunicación directa entre el usuario y el sistema operativo (SO). Interfaz de usuario de línea de comandos basada en texto

Modos de funcionamiento
COMMAND.COM tiene dos modos de funcionamiento. El primer modo es interactivo, donde el usuario ingresa comandos desde el teclado que se ejecutan inmediatamente. El segundo modo es el modo por lotes, cuando se ejecuta COMMAND.COM

Características de la esencia, finalidad, funciones de los sistemas operativos. Rasgos distintivos de su evolución. Características de los algoritmos de gestión de recursos. Conceptos y tecnologías modernos para el diseño de sistemas operativos, requisitos para el sistema operativo del siglo XXI.

INTRODUCCIÓN

1. Evolución del sistema operativo

1.1 Primer período (1945 -1955)

1.2 Segundo período (1955 - 1965)

1.3 Tercer período (1965 - 1980)

1.4 Cuarto período (1980-presente)

2. Clasificación del sistema operativo

2.1 Características de los algoritmos de gestión de recursos.

2.2 Características de las plataformas de hardware.

2.3 Características de las áreas de uso

2.4 Características de los métodos de construcción.

3. Conceptos y tecnologías modernos para el diseño de sistemas operativos, requisitos para los sistemas operativos del siglo XXI.

Conclusión

Lista de literatura usada

INTRODUCCIÓN

La historia de cualquier rama de la ciencia o la tecnología nos permite no sólo satisfacer la curiosidad natural, sino también comprender mejor la esencia de los principales logros de esta industria, comprender las tendencias existentes y evaluar correctamente las perspectivas de determinadas áreas de desarrollo. Durante casi medio siglo de existencia, los sistemas operativos han atravesado un camino difícil, lleno de muchos acontecimientos importantes. El desarrollo de los sistemas operativos estuvo muy influenciado por los éxitos en la mejora de la base de elementos y el equipo informático, por lo que muchas etapas del desarrollo de los sistemas operativos están estrechamente relacionadas con la aparición de nuevos tipos de plataformas de hardware, como minicomputadoras o computadoras personales. Los sistemas operativos han experimentado una importante evolución debido al nuevo papel de las computadoras en las redes locales y globales. El factor más importante en el desarrollo del sistema operativo fue Internet. A medida que esta Red adquiere las características de un medio universal de comunicación masiva, los sistemas operativos se vuelven más simples y convenientes de usar, incluyen medios desarrollados para soportar información multimedia y están equipados con medidas de seguridad confiables.

El objetivo de este trabajo de curso es describir y analizar la evolución de los sistemas operativos.

El objetivo se logra a través de las siguientes tareas:

Considere el aspecto histórico del surgimiento de los sistemas operativos;

Identificar y considerar las etapas de evolución de los sistemas operativos.

Es necesario señalar el hecho de que no ha sido suficientemente tratado en la literatura, lo que ha dificultado su estudio.

Durante el estudio, se llevó a cabo un breve análisis de fuentes como materiales del sitio http://www.microsoft.com/rus, materiales de Windows NT Magazine y otros.

El trabajo consta de tres capítulos: introducción, conclusión y lista de referencias.

1 . Evolución del sistema operativo

1.1 Primer período (1945 -1955)

Se sabe que la computadora fue inventada por el matemático inglés Charles Babage a finales del siglo XVIII. Su "motor analítico" realmente no podía funcionar, porque las tecnologías de esa época no cumplían con los requisitos para la fabricación de piezas mecánicas de precisión necesarias para la tecnología informática. También se sabe que esta computadora no contaba con sistema operativo.

Después de la Segunda Guerra Mundial se produjeron algunos avances en la creación de computadoras digitales. A mediados de los años 40 se crearon los primeros dispositivos informáticos de tubo. En ese momento, el mismo grupo de personas participó en el diseño, operación y programación de la computadora. Se trataba más de un trabajo de investigación en el campo de la tecnología informática que del uso de las computadoras como herramienta para resolver problemas prácticos de otras áreas aplicadas. La programación se realizó exclusivamente en lenguaje de máquina. No se habló de sistemas operativos; todas las tareas de organización del proceso informático las resolvió manualmente cada programador desde el panel de control. No había ningún otro software de sistema aparte de bibliotecas de rutinas matemáticas y de utilidad.

1.2 Segundo período (1955 - 1965)

Desde mediados de los años 50, comenzó un nuevo período en el desarrollo de la tecnología informática, asociado con el surgimiento de una nueva base técnica: los elementos semiconductores. Las computadoras de segunda generación se volvieron más confiables, ahora podían trabajar continuamente durante tanto tiempo que se les podía confiar la realización de tareas verdaderamente importantes en la práctica. Fue durante este período que el personal se dividió en programadores y operadores, operadores y desarrolladores informáticos.

Durante estos años aparecieron los primeros lenguajes algorítmicos y, en consecuencia, los primeros programas de sistema: los compiladores. El costo del tiempo de CPU ha aumentado, lo que requiere una reducción en el tiempo entre ejecuciones del programa. Aparecieron los primeros sistemas de procesamiento por lotes, que simplemente automatizaron el lanzamiento de un programa tras otro y, por lo tanto, aumentaron el factor de carga del procesador. Los sistemas de procesamiento por lotes fueron el prototipo de los sistemas operativos modernos; se convirtieron en los primeros programas de sistema diseñados para gestionar el proceso informático. Durante la implementación de los sistemas de procesamiento por lotes, se desarrolló un lenguaje de control de tareas formalizado, con la ayuda del cual el programador informaba al sistema y al operador qué trabajo quería realizar en la computadora. Una colección de varias tareas, generalmente en forma de una baraja de tarjetas perforadas, se denomina paquete de tareas.

1.3 Tercer período (1965 - 1980)

El siguiente período importante en el desarrollo de las computadoras se remonta a 1965-1980. En este momento se produjo una transición en la base técnica de elementos semiconductores individuales, como transistores, a circuitos integrados, lo que brindó oportunidades mucho mayores a la nueva tercera generación de computadoras.

Este período también se caracterizó por la creación de familias de máquinas compatibles con software. La primera familia de máquinas compatibles con software construidas sobre circuitos integrados fue la serie de máquinas IBM/360. Construida a principios de los años 60, esta familia era claramente superior a las máquinas de segunda generación en términos de precio/rendimiento. Pronto la idea de máquinas compatibles con software fue generalmente aceptada.

La compatibilidad del software también requería compatibilidad del sistema operativo. Estos sistemas operativos tendrían que funcionar tanto en sistemas informáticos grandes como pequeños, con un número grande y pequeño de periféricos, en aplicaciones comerciales y de investigación. Los sistemas operativos creados con la intención de satisfacer todos estos requisitos contradictorios resultaron ser monstruos extremadamente complejos. Consistían en muchos millones de líneas de código ensamblador, escritas por miles de programadores, y contenían miles de errores, lo que provocaba un flujo interminable de correcciones. Con cada nueva versión del sistema operativo se corrigieron algunos errores y se introdujeron otros.

Al mismo tiempo, a pesar de su enorme tamaño y muchos problemas, OS/360 y otros sistemas operativos similares en máquinas de tercera generación en realidad satisficieron la mayoría de los requisitos de los consumidores. El logro más importante del sistema operativo de esta generación fue la implementación de la multiprogramación. La multiprogramación es una forma de organizar un proceso informático en el que se ejecutan alternativamente varios programas en un procesador. Mientras un programa realiza una operación de E/S, el procesador no está inactivo, como era el caso cuando se ejecutan programas secuencialmente (modo de programa único), sino que está ejecutando otro programa (modo multiprograma). En este caso, cada programa se carga en su propia sección de RAM, llamada partición.

Otra innovación es el spooling. En ese momento, el spooling se definía como una forma de organizar el proceso informático, según la cual las tareas se leían de tarjetas perforadas en el disco al ritmo con el que aparecían en el centro de computación, y luego, cuando se completaba la siguiente tarea, se generaba una nueva. La tarea se cargó desde el disco a la partición libre.

Junto con la implementación multiprograma de los sistemas de procesamiento por lotes, ha surgido un nuevo tipo de sistema operativo: los sistemas de tiempo compartido. La opción de multiprogramación utilizada en los sistemas de tiempo compartido tiene como objetivo crear para cada usuario individual la ilusión de un uso exclusivo de la computadora.

1.4 Cuarto período (1980-presente)

El siguiente período en la evolución de los sistemas operativos está asociado con la llegada de los circuitos integrados a gran escala (LSI). Durante estos años, se produjo un fuerte aumento en el grado de integración y una reducción en el costo de los microcircuitos. La computadora estuvo disponible para el individuo y comenzó la era de las computadoras personales. Desde un punto de vista arquitectónico, las computadoras personales no se diferenciaban de la clase de minicomputadoras como la PDP-11, pero sus precios eran significativamente diferentes. Si el miniordenador hizo posible que un departamento de una empresa o de una universidad tuviera su propio ordenador, el ordenador personal lo hizo posible para un individuo.

Las computadoras pasaron a ser ampliamente utilizadas por no especialistas, lo que requirió el desarrollo de software "amigable", lo que puso fin a la casta de programadores.

El mercado de sistemas operativos estaba dominado por dos sistemas: MS-DOS y UNIX. El sistema operativo MS-DOS de un solo programa y un solo usuario se usó ampliamente para computadoras construidas con los microprocesadores Intel 8088, y posteriormente 80286, 80386 y 80486. El sistema operativo UNIX multiprograma y multiusuario dominó entre los "no Intel". computadoras, especialmente aquellas construidas con procesadores RISC de alto rendimiento.

A mediados de los años 80, comenzaron a desarrollarse rápidamente las redes de computadoras personales que funcionan bajo sistemas operativos distribuidos o en red.

En los sistemas operativos en red, los usuarios deben ser conscientes de la presencia de otras computadoras y deben iniciar sesión en otra computadora para utilizar sus recursos, principalmente archivos. Cada máquina en la red ejecuta su propio sistema operativo local, que se diferencia del sistema operativo de una computadora independiente en que contiene herramientas adicionales que permiten que la computadora funcione en la red. El sistema operativo de red no tiene diferencias fundamentales con el sistema operativo de una computadora con un solo procesador. Contiene necesariamente soporte de software para dispositivos de interfaz de red (controlador de adaptador de red), así como herramientas para iniciar sesión remotamente en otras computadoras en la red y herramientas para acceder a archivos remotos, pero estas adiciones no cambian significativamente la estructura del sistema operativo en sí.

2. Clasificación del sistema operativo

Los sistemas operativos pueden diferir en las características de implementación de algoritmos internos para administrar los principales recursos informáticos (procesadores, memoria, dispositivos), características de los métodos de diseño utilizados, tipos de plataformas de hardware, áreas de uso y muchas otras propiedades.

A continuación se muestra una clasificación de los sistemas operativos según varias de las características más básicas.

2.1 Características de los algoritmos de gestión de recursos.

La efectividad de todo el sistema operativo de la red en su conjunto depende en gran medida de la efectividad de los algoritmos para administrar los recursos informáticos locales. Por lo tanto, al caracterizar un sistema operativo de red, a menudo citan las características más importantes de la implementación de las funciones del sistema operativo para administrar procesadores, memoria y dispositivos externos de una computadora autónoma. Así, por ejemplo, dependiendo de las características del algoritmo de control del procesador utilizado, los sistemas operativos se dividen en sistemas multitarea y monotarea, multiusuario y monousuario, sistemas que soportan procesamiento multiproceso y aquellos que no, Sistemas multiprocesador y monoprocesador.

Soporte multitarea. Según la cantidad de tareas realizadas simultáneamente, los sistemas operativos se pueden dividir en dos clases:

tarea única (por ejemplo, MS-DOS, MSX) y

multitarea (OC EC, OS/2, UNIX, Windows 95).

Los sistemas operativos de tarea única realizan principalmente la función de proporcionar al usuario una máquina virtual, haciendo que el proceso de interacción entre el usuario y la computadora sea más simple y conveniente. Los sistemas operativos de tarea única incluyen herramientas de administración de dispositivos periféricos, herramientas de administración de archivos y herramientas de comunicación con el usuario.

El SO multitarea, además de las funciones anteriores, gestiona la división de recursos compartidos como el procesador, la RAM, archivos y dispositivos externos.

Soporte para modo multiusuario. Según la cantidad de usuarios simultáneos, los sistemas operativos se dividen en:

usuario único (MS-DOS, Windows 3.x, versiones anteriores de OS/2);

multiusuario (UNIX, Windows NT).

La principal diferencia entre los sistemas multiusuario y los sistemas de un solo usuario es la disponibilidad de medios para proteger la información de cada usuario del acceso no autorizado por parte de otros usuarios. Cabe señalar que no todos los sistemas multitarea son multiusuario y no todos los sistemas operativos de un solo usuario son de una sola tarea.

Multitarea preventiva y no preventiva. El recurso compartido más importante es el tiempo del procesador. El método de distribución del tiempo del procesador entre varios procesos (o subprocesos) existentes simultáneamente en el sistema determina en gran medida las características específicas del sistema operativo. Entre las muchas opciones existentes para implementar la multitarea se pueden distinguir dos grupos de algoritmos:

multitarea no preventiva (NetWare, Windows 3.x);

multitarea preventiva (Windows NT, OS/2, UNIX).

La principal diferencia entre la multitarea preventiva y no preventiva es el grado de centralización del mecanismo de programación de procesos. En el primer caso, el mecanismo de programación de procesos está completamente concentrado en el sistema operativo, y en el segundo, se distribuye entre el sistema y los programas de aplicación. Con la multitarea no preventiva, el proceso activo se ejecuta hasta que, por iniciativa propia, le da el control al sistema operativo para que seleccione otro proceso listo para ejecutarse desde la cola. Con la multitarea preventiva, la decisión de cambiar el procesador de un proceso a otro la toma el sistema operativo y no el proceso activo en sí.

Soporte multihilo. Una propiedad importante de los sistemas operativos es la capacidad de paralelizar cálculos dentro de una sola tarea. Un sistema operativo multiproceso divide el tiempo del procesador no entre tareas, sino entre sus ramas individuales (subprocesos).

Multiprocesamiento. Otra propiedad importante del sistema operativo es la ausencia o presencia de soporte para multiprocesamiento: multiprocesamiento. El multiprocesamiento complica todos los algoritmos de gestión de recursos.

Hoy en día, se está volviendo una práctica común introducir funciones de soporte de multiprocesamiento en el sistema operativo. Estas funciones están disponibles en Solaris 2.x de Sun, Open Server 3.x de Santa Crus Operations, OS/2 de IBM, Windows NT de Microsoft y NetWare 4.1 de Novell.

Los sistemas operativos multiprocesador se pueden clasificar según la forma en que se organiza el proceso informático en un sistema con arquitectura multiprocesador: sistemas operativos asimétricos y sistemas operativos simétricos. Un sistema operativo asimétrico se ejecuta completamente en solo uno de los procesadores del sistema, distribuyendo las tareas de la aplicación entre los procesadores restantes. Un sistema operativo simétrico está completamente descentralizado y utiliza todo el conjunto de procesadores, dividiéndolos entre tareas del sistema y de aplicaciones.

Anteriormente discutimos las características del sistema operativo relacionadas con la gestión de un solo tipo de recurso: el procesador. Las características de otros subsistemas de gestión de recursos locales (subsistemas de gestión de memoria, archivos y dispositivos de entrada y salida) tienen una influencia importante en la apariencia del sistema operativo en su conjunto y en las posibilidades de su uso en un área en particular.

La especificidad del sistema operativo también se manifiesta en la forma en que implementa funciones de red: reconocimiento y redirección de solicitudes a recursos remotos a la red, transmisión de mensajes a través de la red, ejecución de solicitudes remotas. Al implementar funciones de red, surge un conjunto de tareas relacionadas con la naturaleza distribuida del almacenamiento y procesamiento de datos en la red: mantener información de referencia sobre todos los recursos y servidores disponibles en la red, abordar procesos que interactúan, garantizar la transparencia del acceso, replicación de datos, conciliación de copias, manteniendo la seguridad de los datos.

2. 2 Características de las plataformas de hardware.

Las propiedades del sistema operativo están directamente influenciadas por el hardware en el que está diseñado. Según el tipo de hardware, se distinguen los sistemas operativos de computadoras personales, minicomputadoras, mainframes, clusters y redes informáticas. Entre los tipos de computadoras enumerados, puede haber opciones tanto de un solo procesador como de multiprocesador. En cualquier caso, las particularidades del hardware suelen reflejarse en las particularidades de los sistemas operativos.

Obviamente, el sistema operativo de una máquina grande es más complejo y funcional que el sistema operativo de una computadora personal. Por lo tanto, en los sistemas operativos de máquinas grandes, las funciones para planificar el flujo de tareas realizadas se implementan obviamente mediante el uso de disciplinas de prioridad complejas y requieren más potencia informática que en los sistemas operativos de computadoras personales. La situación es similar con otras funciones.

Un sistema operativo de red incluye medios para transmitir mensajes entre computadoras a través de líneas de comunicación que son completamente innecesarios en un sistema operativo independiente. Según estos mensajes, el sistema operativo de la red admite el intercambio de recursos informáticos entre usuarios remotos conectados a la red. Para admitir las funciones de transferencia de mensajes, los sistemas operativos de red contienen componentes de software especiales que implementan protocolos de comunicación populares como IP, IPX, Ethernet y otros.

Los sistemas multiprocesador requieren una organización especial del sistema operativo, con la ayuda de la cual el propio sistema operativo, así como las aplicaciones que admite, puedan ejecutarse en paralelo mediante procesadores individuales del sistema. El funcionamiento paralelo de partes individuales del sistema operativo crea problemas adicionales para los desarrolladores del sistema operativo, ya que en este caso es mucho más difícil garantizar el acceso consistente de los procesos individuales a las tablas comunes del sistema, eliminar el efecto de las carreras y otras consecuencias indeseables de la ejecución asincrónica de trabajar.

Se aplican otros requisitos a los sistemas operativos de clúster. Un clúster es una colección débilmente acoplada de varios sistemas informáticos que trabajan juntos para ejecutar aplicaciones comunes y aparecen ante el usuario como un solo sistema. Además del hardware especial, el funcionamiento de los sistemas de clúster también requiere el soporte de software del sistema operativo, que se reduce principalmente a la sincronización del acceso a los recursos compartidos, la detección de fallos y la reconfiguración dinámica del sistema. Uno de los primeros avances en el campo de las tecnologías de clúster fueron las soluciones de Digital Equipment basadas en computadoras VAX. La empresa celebró recientemente un acuerdo con Microsoft Corporation para desarrollar tecnología de clúster utilizando Windows NT. Varias empresas ofrecen clústeres basados ​​en máquinas UNIX.

Junto a los SO que están enfocados a un tipo de plataforma de hardware muy específico, existen sistemas operativos que están especialmente diseñados para que puedan transferirse fácilmente de un tipo de computadora a otro tipo de computadora, los llamados SO móviles. El ejemplo más sorprendente de un sistema operativo de este tipo es el popular sistema UNIX. En estos sistemas, los lugares que dependen del hardware están cuidadosamente localizados, de modo que cuando el sistema se transfiere a una nueva plataforma, solo se reescriben ellos. Una forma de facilitar la migración del resto del sistema operativo es escribirlo en un lenguaje independiente de la máquina, como C, que fue desarrollado para programar sistemas operativos.

2. 3 Características de las áreas de uso.

Los sistemas operativos multitarea se dividen en tres tipos según los criterios de eficiencia utilizados en su desarrollo:

sistemas de procesamiento por lotes (por ejemplo, OC EC),

sistemas de tiempo compartido (UNIX, VMS),

Sistemas en tiempo real (QNX, RT/11).

Los sistemas de procesamiento por lotes estaban destinados a resolver problemas principalmente de naturaleza computacional que no requerían resultados rápidos. El principal objetivo y criterio para la efectividad de los sistemas de procesamiento por lotes es el rendimiento máximo, es decir, resolver el número máximo de tareas por unidad de tiempo. Para lograr este objetivo, los sistemas de procesamiento por lotes utilizan el siguiente esquema operativo: al comienzo del trabajo, se forma un lote de tareas, cada tarea contiene un requisito de recursos del sistema; a partir de este paquete de tareas se forma una mezcla multiprograma, es decir, muchas tareas realizadas simultáneamente. Para la ejecución simultánea, se seleccionan tareas que tienen diferentes requisitos de recursos, de modo que se garantice una carga equilibrada en todos los dispositivos de la computadora; por ejemplo, en una mezcla multiprograma, es deseable la presencia simultánea de tareas computacionales y tareas intensivas de E/S. Por tanto, la elección de una nueva tarea de un paquete de tareas depende de la situación interna del sistema, es decir, se selecciona una tarea "rentable". En consecuencia, en tales sistemas operativos es imposible garantizar la finalización de una tarea particular dentro de un período de tiempo determinado. En los sistemas de procesamiento por lotes, cambiar el procesador de ejecutar una tarea a ejecutar otra ocurre solo si la tarea activa abandona el procesador, por ejemplo, debido a la necesidad de realizar una operación de E/S. Por lo tanto, una sola tarea puede ocupar el procesador durante mucho tiempo, imposibilitando la realización de tareas interactivas. Así, la interacción del usuario con la computadora en la que está instalado el sistema de procesamiento por lotes se reduce al hecho de que trae una tarea, se la entrega al despachador-operador y al final del día, después de completar todo el lote de tareas. , recibe el resultado. Obviamente, esta disposición reduce la eficiencia del usuario.

Los sistemas de tiempo compartido están diseñados para corregir el principal inconveniente de los sistemas de procesamiento por lotes: el aislamiento del usuario-programador del proceso de realización de sus tareas. Cada usuario del sistema de tiempo compartido dispone de un terminal desde el que puede dialogar con su programa. Dado que los sistemas de tiempo compartido asignan sólo una porción del tiempo de la CPU a cada tarea, ninguna tarea ocupa el procesador por mucho tiempo y los tiempos de respuesta son aceptables. Si el cuanto se elige lo suficientemente pequeño, entonces todos los usuarios que trabajan simultáneamente en la misma máquina tienen la impresión de que cada uno de ellos está utilizando únicamente la máquina. Está claro que los sistemas de tiempo compartido tienen un rendimiento menor que los sistemas de procesamiento por lotes, ya que se acepta para su ejecución cada tarea lanzada por el usuario, y no la que es "beneficiosa" para el sistema, y, además, existe la sobrecarga. de potencia informática para cambiar más frecuentemente el procesador de una tarea a otra. El criterio para la eficacia de los sistemas de tiempo compartido no es el rendimiento máximo, sino la comodidad y eficiencia del usuario.

Los sistemas en tiempo real se utilizan para controlar diversos objetos técnicos, como una máquina herramienta, un satélite, una instalación científica experimental o procesos tecnológicos, como una línea galvánica, un proceso de alto horno, etc. En todos estos casos, existe un tiempo máximo permitido durante el cual se debe ejecutar uno u otro programa que controla el objeto, de lo contrario puede ocurrir un accidente: el satélite saldrá de la zona de visibilidad, los datos experimentales provenientes de los sensores se perderán, el El espesor del revestimiento galvánico no corresponderá a la norma. Así, el criterio de eficiencia de los sistemas en tiempo real es su capacidad para soportar intervalos de tiempo predeterminados entre el lanzamiento de un programa y la obtención de un resultado (acción de control). Este tiempo se llama tiempo de reacción del sistema y la propiedad correspondiente del sistema se llama reactividad. Para estos sistemas, una mezcla de programas múltiples es un conjunto fijo de programas predesarrollados, y la selección de un programa para su ejecución se realiza en función del estado actual del objeto o de acuerdo con el cronograma de trabajo planificado.

Algunos sistemas operativos pueden combinar las propiedades de diferentes tipos de sistemas; por ejemplo, algunas tareas se pueden realizar en modo de procesamiento por lotes y otras en tiempo real o en modo de tiempo compartido. En tales casos, el modo de procesamiento por lotes suele denominarse modo en segundo plano.

2. 4 Características de los métodos de construcción.

Al describir un sistema operativo, a menudo se indican las características de su organización estructural y los conceptos básicos subyacentes.

Estos conceptos básicos incluyen:

Formas de construir un kernel de sistema: kernel monolítico o enfoque de microkernel. La mayoría de los sistemas operativos utilizan un núcleo monolítico, que se compila como un único programa que se ejecuta en modo privilegiado y utiliza transiciones rápidas de un procedimiento a otro sin necesidad de cambiar del modo privilegiado al modo de usuario y viceversa. Una alternativa es construir un sistema operativo basado en un microkernel, que también funciona en modo privilegiado y realiza solo un mínimo de funciones de administración de hardware, mientras que las funciones del sistema operativo de nivel superior las realizan componentes especializados del sistema operativo: servidores que se ejecutan en modo de usuario. Con este diseño, el sistema operativo funciona más lentamente, ya que a menudo se realizan transiciones entre el modo privilegiado y el modo de usuario, pero el sistema resulta más flexible: sus funciones se pueden ampliar, modificar o limitar agregando, modificando o excluyendo servidores en modo de usuario. . Además, los servidores están bien protegidos entre sí, al igual que los procesos de los usuarios.

La construcción de un sistema operativo basado en un enfoque orientado a objetos permite utilizar todas sus ventajas, que han demostrado su eficacia a nivel de aplicación, dentro del sistema operativo, a saber: la acumulación de soluciones exitosas en forma de objetos estándar, la capacidad de crear nuevos objetos basados ​​en los existentes utilizando el mecanismo de herencia, buena protección de los datos debido a su encapsulación en las estructuras internas de un objeto, lo que hace que los datos sean inaccesibles para un uso no autorizado desde el exterior, estructuración de un sistema que consta de un conjunto de bien -objetos definidos.

La presencia de varios entornos de aplicaciones hace posible ejecutar simultáneamente aplicaciones desarrolladas para varios sistemas operativos dentro de un sistema operativo. Muchos sistemas operativos modernos admiten simultáneamente MS-DOS, Windows, UNIX (POSIX), OS/2 o al menos algún subconjunto de este popular conjunto. El concepto de múltiples entornos de aplicaciones se implementa de manera más sencilla en un sistema operativo basado en un microkernel, en el que funcionan varios servidores, algunos de los cuales implementan el entorno de aplicaciones de un sistema operativo en particular.

La organización distribuida del sistema operativo permite simplificar el trabajo de usuarios y programadores en entornos de red. Un sistema operativo distribuido implementa mecanismos que permiten al usuario imaginar y percibir la red en la forma de una computadora tradicional con un solo procesador. Los rasgos característicos de una organización de sistema operativo distribuido son: la presencia de un servicio de referencia único para recursos compartidos, un servicio de tiempo único, el uso de un mecanismo de llamada a procedimiento remoto (RPC) para la distribución transparente de procedimientos de software entre máquinas, procesamiento de subprocesos múltiples, lo que permite paralelizar cálculos dentro de una tarea y ejecutar esta tarea inmediatamente en varias computadoras de la red, así como la presencia de otros servicios distribuidos.

3. Conceptos y tecnologías modernos para el diseño de sistemas operativos, requisitos para el sistema operativo.XXIsiglo

El sistema operativo es el núcleo del software de red; crea el entorno para ejecutar aplicaciones y determina en gran medida qué beneficios tendrán esas aplicaciones para el usuario. En este sentido, consideraremos los requisitos que debe cumplir un sistema operativo moderno.

Obviamente, el principal requisito de un sistema operativo es la capacidad de realizar funciones básicas: gestión eficaz de recursos y provisión de una interfaz cómoda para el usuario y los programas de aplicación. Un sistema operativo moderno, por regla general, debe implementar procesamiento multiprograma, memoria virtual, intercambio, admitir una interfaz de ventanas múltiples y también realizar muchas otras funciones absolutamente necesarias. Además de estos requisitos funcionales, los sistemas operativos enfrentan requisitos de mercado igualmente importantes. Estos requisitos incluyen:

· Extensibilidad. El código debe escribirse de tal manera que sea fácil realizar adiciones y cambios si es necesario, sin comprometer la integridad del sistema.

· Portabilidad. El código debe ser fácilmente transportable de un tipo de procesador a otro tipo de procesador, y desde una plataforma de hardware (que incluye, junto con el tipo de procesador, la forma en que está organizado todo el hardware de la computadora) de un tipo a otro tipo de plataforma de hardware.

· Fiabilidad y tolerancia a fallos. El sistema debe estar protegido de errores, fallos y fallos tanto internos como externos. Sus acciones siempre deben ser predecibles y las aplicaciones no deben poder dañar el sistema operativo.

· Compatibilidad. El sistema operativo debe tener la capacidad de ejecutar programas de aplicación escritos para otros sistemas operativos. Además, la interfaz de usuario debe ser compatible con los sistemas y estándares existentes.

· Seguridad. El sistema operativo debe tener los medios para proteger los recursos de unos usuarios de otros.

· Productividad. El sistema debe ser tan rápido y receptivo como lo permita la plataforma de hardware.

Echemos un vistazo más de cerca a algunos de estos requisitos.

Extensibilidad Mientras que el hardware informático queda obsoleto en unos pocos años, la vida útil de los sistemas operativos se puede medir en décadas. Un ejemplo es el sistema operativo UNIX. Por tanto, los sistemas operativos siempre evolucionan con el tiempo y estos cambios son más significativos que los cambios de hardware. Los cambios en el sistema operativo suelen representar la adquisición de nuevas propiedades. Por ejemplo, soporte para nuevos dispositivos como CD-ROM, la capacidad de comunicarse con nuevos tipos de redes, soporte para tecnologías prometedoras como interfaces gráficas de usuario o entornos de software orientados a objetos y el uso de más de un procesador. Mantener la integridad del código, sin importar los cambios que se realicen en el sistema operativo, es el principal objetivo del desarrollo.

La extensibilidad se puede lograr a través de la estructura modular del sistema operativo, en la que los programas se construyen a partir de un conjunto de módulos individuales que interactúan sólo a través de una interfaz funcional. Se pueden agregar nuevos componentes al sistema operativo de forma modular y realizan su trabajo utilizando interfaces compatibles con componentes existentes.

El uso de objetos para representar los recursos del sistema también mejora la extensibilidad del sistema. Los objetos son tipos de datos abstractos en los que puede realizar sólo aquellas acciones proporcionadas por un conjunto especial de funciones de objeto. Los objetos le permiten administrar los recursos del sistema de manera consistente. Agregar nuevos objetos no destruye los objetos existentes y no requiere cambios en el código existente.

El enfoque cliente-servidor para estructurar el sistema operativo mediante tecnología de microkernel brinda excelentes oportunidades de expansión. De acuerdo con este enfoque, el sistema operativo se construye como una combinación de un programa de control privilegiado y un conjunto de servicios de servidor sin privilegios. La parte principal del sistema operativo puede permanecer sin cambios mientras se agregan nuevos servidores o se mejoran los antiguos.

Las llamadas a procedimientos remotos (RPC) también brindan la capacidad de ampliar la funcionalidad del sistema operativo. Se pueden agregar nuevas rutinas de software a cualquier máquina de la red y ponerlas inmediatamente a disposición de los programas de aplicación de otras máquinas de la red.

Para mejorar la extensibilidad, algunos sistemas operativos admiten controladores descargables que se pueden agregar al sistema mientras se está ejecutando. Se pueden admitir nuevos sistemas de archivos, dispositivos y redes escribiendo un controlador de dispositivo, un controlador de sistema de archivos o un controlador de transporte y cargándolos en el sistema.

Portabilidad El requisito de portabilidad del código está estrechamente relacionado con la extensibilidad. La extensibilidad le permite mejorar el sistema operativo, mientras que la portabilidad le permite mover todo el sistema a una máquina basada en un procesador o plataforma de hardware diferente, todo mientras realiza los cambios más pequeños posibles en el código. Aunque los sistemas operativos a menudo se describen como portátiles o no portátiles, la portabilidad no es una condición binaria. La pregunta no es si el sistema se puede migrar, sino con qué facilidad se puede hacer. Escribir un sistema operativo portátil es similar a escribir cualquier código portátil: es necesario seguir algunas reglas.

Primero, la mayor parte del código debe escribirse en un lenguaje que esté disponible en todas las máquinas a las que desea migrar el sistema. Por lo general, esto significa que el código debe escribirse en un lenguaje de alto nivel, preferiblemente un lenguaje estandarizado como C. Un programa escrito en lenguaje ensamblador no es portátil a menos que pretenda portarlo a una máquina que tenga compatibilidad de comandos con la suya.

En segundo lugar, se debe considerar a qué entorno físico se debe transferir el programa. Un hardware diferente requiere soluciones diferentes al crear un sistema operativo. Por ejemplo, un sistema operativo basado en direcciones de 32 bits no se puede portar a una máquina con direcciones de 16 bits (excepto con grandes dificultades).

En tercer lugar, es importante minimizar o, si es posible, eliminar aquellas partes del código que interactúan directamente con el hardware. La dependencia del hardware puede adoptar muchas formas. Algunas formas obvias de dependencia incluyen la manipulación directa de registros y otro hardware.

En cuarto lugar, si el código dependiente del hardware no se puede eliminar por completo, entonces se debe aislar en varios módulos bien localizados. El código dependiente del hardware no debe distribuirse por todo el sistema. Por ejemplo, puede ocultar una estructura específica de hardware en datos definidos por software de tipo abstracto. Otros módulos del sistema trabajarán con estos datos, y no con el equipo, utilizando un conjunto de determinadas funciones. Cuando se migra un sistema operativo, solo cambian estos datos y las funciones que los manipulan.

Para portar fácilmente el sistema operativo durante su desarrollo, se deben cumplir los siguientes requisitos:

· Lenguaje portátil de alto nivel. La mayoría de los sistemas operativos portátiles están escritos en C (estándar ANSI X3.159-1989). Los desarrolladores eligen C porque está estandarizado y porque los compiladores de C están ampliamente disponibles. El lenguaje ensamblador se usa solo para aquellas partes del sistema que deben interactuar directamente con el hardware (por ejemplo, el controlador de interrupciones) o para partes que requieren la máxima velocidad (por ejemplo, aritmética de enteros de alta precisión). Al mismo tiempo, el código no portátil debe aislarse cuidadosamente dentro de los componentes donde se utiliza.

· Aislamiento del procesador. Algunas partes de bajo nivel del sistema operativo deben tener acceso a registros y estructuras de datos sensibles al procesador. Sin embargo, el código que hace esto debe estar contenido en pequeños módulos que puedan ser reemplazados por módulos similares para otros procesadores.

· Aislamiento de plataforma. La dependencia de la plataforma se refiere a las diferencias entre estaciones de trabajo de diferentes fabricantes que se basan en el mismo procesador (por ejemplo, MIPS R4000). Se debe introducir una capa de software que abstraiga el hardware (cachés, controladores de interrupciones de E/S, etc.) junto con una capa de programas de bajo nivel para que el código de alto nivel no necesite cambiar cuando se transfiera de una plataforma a otra. .

Compatibilidad Un aspecto de la compatibilidad es la capacidad de un sistema operativo para ejecutar programas escritos para otros sistemas operativos o para versiones anteriores de un sistema operativo determinado, así como para otra plataforma de hardware.

Es necesario separar las cuestiones de compatibilidad binaria y compatibilidad a nivel del código fuente de la aplicación. La compatibilidad binaria se logra cuando puedes tomar un programa ejecutable y ejecutarlo en otro sistema operativo. Esto requiere: compatibilidad a nivel de instrucciones del procesador, compatibilidad a nivel de llamadas al sistema e incluso a nivel de llamadas a bibliotecas si están vinculadas dinámicamente.

La compatibilidad a nivel de fuente requiere la presencia de un compilador apropiado como parte del software, así como compatibilidad a nivel de bibliotecas y llamadas al sistema. En este caso, es necesario volver a compilar los textos fuente existentes en un nuevo módulo ejecutable.

La compatibilidad a nivel fuente es importante principalmente para los desarrolladores de aplicaciones, que siempre tienen el código fuente a su disposición. Pero para los usuarios finales, sólo la compatibilidad binaria tiene importancia práctica, ya que sólo entonces pueden utilizar el mismo producto comercial, entregado como código binario ejecutable, en diferentes entornos operativos y en diferentes máquinas.

Que un nuevo sistema operativo sea compatible binariamente o compatible con el código fuente de los sistemas existentes depende de muchos factores. El más importante de ellos es la arquitectura del procesador en el que se ejecuta el nuevo sistema operativo. Si el procesador al que está portado el sistema operativo utiliza el mismo conjunto de instrucciones (quizás con algunas adiciones) y el mismo rango de direcciones, entonces la compatibilidad binaria se puede lograr de manera bastante simple.

Es mucho más difícil lograr compatibilidad binaria entre procesadores basados ​​en diferentes arquitecturas. Para que una computadora pueda ejecutar los programas de otra (por ejemplo, un programa DOS en una Mac), esa computadora debe funcionar con instrucciones de máquina que inicialmente no comprende. Por ejemplo, un procesador 680x0 en una Mac debe ejecutar código binario diseñado para un procesador 80x86 en una PC. El procesador 80x86 tiene su propio decodificador de instrucciones, registros y arquitectura interna. El procesador 680x0 no comprende el código binario 80x86, por lo que debe buscar cada instrucción, decodificarla para determinar qué hace y luego ejecutar la rutina equivalente escrita para el 680x0. Dado que el 680x0 tampoco tiene exactamente los mismos registros, indicadores y unidad lógica aritmética interna que el 80x86, debe simular todos estos elementos utilizando sus registros o memoria. Y debe reproducir cuidadosamente los resultados de cada instrucción, lo que requiere rutinas escritas especialmente para el 680x0 para garantizar que el estado de los registros y banderas emulados después de ejecutar cada instrucción sea exactamente el mismo que en el 80x86 real.

Este es un trabajo simple, pero muy lento, ya que el microcódigo dentro del procesador 80x86 se ejecuta a un nivel mucho más rápido que las instrucciones externas 680x0 que lo emulan. En el tiempo que lleva ejecutar un comando de 80x86 en un 680x0, un 80x86 real puede ejecutar docenas de comandos. Por lo tanto, si el procesador que realiza la emulación no es lo suficientemente rápido para compensar todas las pérdidas durante la emulación, entonces los programas ejecutados bajo emulación serán muy lentos.

La solución en estos casos es utilizar los llamados entornos de aplicación. Teniendo en cuenta que la parte principal del programa, por regla general, consiste en llamadas a funciones de la biblioteca, el entorno de la aplicación simula funciones completas de la biblioteca, utilizando una biblioteca preescrita de funciones de propósito similar y emula los comandos restantes individualmente.

El cumplimiento de los estándares POSIX también es un medio para garantizar la compatibilidad entre el software y las interfaces de usuario. En la segunda mitad de la década de 1980, las agencias gubernamentales estadounidenses comenzaron a desarrollar POSIX como estándares de hardware para contratos gubernamentales de computadoras. POSIX es una "interfaz de sistema operativo portátil basada en UNIX". POSIX es una colección de estándares internacionales de interfaz de sistema operativo al estilo UNIX. El uso del estándar POSIX (estándar IEEE 1003.1 - 1988) le permite crear programas estilo UNIX que se pueden transferir fácilmente de un sistema a otro.

Seguridad Además del estándar POSIX, el gobierno de EE. UU. también ha definido requisitos de seguridad informática para las aplicaciones utilizadas por el gobierno. Muchos de estos requisitos son propiedades deseables para cualquier sistema multiusuario. Las reglas de seguridad definen propiedades como proteger los recursos de un usuario de otros y establecer cuotas de recursos para evitar que un usuario se apodere de todos los recursos del sistema (como la memoria).

Garantizar la protección de la información contra el acceso no autorizado es una función obligatoria de los sistemas operativos de red. Los sistemas más populares garantizan un grado de seguridad de datos correspondiente al nivel C2 del sistema de estándares estadounidense.

Los criterios para la evaluación de sistemas informáticos confiables sentaron las bases de los estándares de seguridad. Este documento, publicado en EE.UU. en 1983 por el Centro Nacional de Seguridad Informática (NCSC), a menudo se denomina Libro Naranja.

De acuerdo con los requisitos del Libro Naranja, se considera sistema seguro aquel que “a través de mecanismos especiales de seguridad controla el acceso a la información de tal manera que sólo las personas autorizadas o los procesos que se ejecutan en su nombre puedan obtener acceso para leer, escribir, crear o eliminar información".

La jerarquía de niveles de seguridad dada en el Libro Naranja etiqueta el nivel de seguridad más bajo como D y el más alto como A.

· La clase D incluye sistemas cuya evaluación ha revelado su incumplimiento de los requisitos de todas las demás clases.

· Las principales propiedades características de los sistemas C son: la presencia de un subsistema para registrar eventos de seguridad y control de acceso selectivo. El nivel C se divide en 2 subniveles: el nivel C1, que proporciona protección de datos contra errores del usuario, pero no contra las acciones de los atacantes, y el nivel C2, más estricto. En el nivel C2, debe haber una función de inicio de sesión segura que permita identificar a los usuarios ingresando un nombre de usuario y contraseña únicos antes de que se les permita acceder al sistema. El control de acceso selectivo requerido en este nivel permite al propietario del recurso determinar quién tiene acceso al recurso y qué puede hacer con él. El propietario hace esto otorgando derechos de acceso a un usuario o grupo de usuarios. Auditoría: brinda la capacidad de detectar y registrar eventos de seguridad importantes o cualquier intento de crear, acceder o eliminar recursos del sistema. La protección de la memoria es donde la memoria se inicializa antes de reutilizarla. En este nivel, el sistema no está protegido contra los errores del usuario, pero el comportamiento del usuario se puede monitorear utilizando las entradas de registro dejadas por las herramientas de monitoreo y auditoría.




Arriba