Describir los principales pasos en la evolución de los sistemas operativos. Sistemas operativos y la historia de su desarrollo. Cognitivo

Primer período (1945 -1955). A mediados de los años 40 se crearon los primeros dispositivos informáticos basados ​​en lámparas (en Estados Unidos y Gran Bretaña, la primera computadora basada en lámparas apareció en 1951); La programación se realizó exclusivamente en lenguaje de máquina. La base del elemento son tubos electrónicos y paneles de comunicación. No había sistemas operativos; todas las tareas de organización del proceso informático las resolvía manualmente el programador desde el panel de control. Software del sistema: bibliotecas de rutinas matemáticas y de utilidad.

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 (transistores). 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, aumentando 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 controlar el proceso informático. Se desarrolló un lenguaje formal de gestión del trabajo. Ha aparecido un mecanismo de memoria virtual.

Tercer período (1965 - 1975). Transición a circuitos integrados. Creación de familias de máquinas compatibles con software (serie de máquinas IBM System/360, máquina análoga soviética - serie EC). Durante este período de tiempo se implementaron casi todos los conceptos básicos inherentes a los sistemas operativos modernos: multiprogramación, multiprocesamiento, modo multiterminal, memoria virtual, sistema de archivos, control de acceso y redes. Los procesadores ahora tienen modos de operación privilegiados y de usuario, registros especiales para cambio de contexto, medios para proteger áreas de memoria y un sistema de interrupció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. Ha aparecido un nuevo tipo de sistema operativo: los sistemas de tiempo compartido. A finales de los años 60 se empezó a trabajar en la creación de la red global ARPANET, que se convirtió en el punto de partida de Internet. A mediados de los años 70, las minicomputadoras se generalizaron. Su arquitectura se simplificó significativamente en comparación con los mainframes, lo que se reflejó en su sistema operativo. La rentabilidad y la disponibilidad de miniordenadores sirvieron como un poderoso incentivo para la creación de las primeras redes locales. Desde mediados de los años 70 se inició el uso generalizado del sistema operativo UNIX. A finales de los años 70 se creó una versión funcional del protocolo TCP/IP y en 1983 se estandarizó.


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. Ha llegado la era de las computadoras personales. Las computadoras se han vuelto ampliamente utilizadas por no especialistas. Se implementó una interfaz gráfica de usuario (GUI - Graphical User Interface), cuya teoría se desarrolló allá por los años 60. Desde 1985, comenzó a producirse Windows; fue el shell gráfico MS-DOS hasta 1995, cuando se lanzó el sistema operativo Windows 95 completo, IBM y Microsoft desarrollaron conjuntamente el sistema operativo OS/2. Admitía multitarea preventiva, memoria virtual, una interfaz gráfica de usuario y una máquina virtual para ejecutar aplicaciones DOS. La primera versión se lanzó en 1987. Posteriormente, Microsoft abandonó OS/2 y comenzó a desarrollar Windows NT. La primera versión fue lanzada en 1993.

En 1987 Se lanzó el sistema operativo MINIX (prototipo LINUX); se construyó según el principio de la arquitectura microkernel.

En los años 80 se adoptaron los principales estándares para equipos 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.

En los años 90, casi todos los sistemas operativos pasaron a estar basados ​​en red. Han aparecido sistemas operativos especializados que están diseñados exclusivamente para solucionar problemas de comunicación (IOS de Cisco Systems). La aparición de la World Wide Web (WWW) en 1991 dio un poderoso impulso a la popularidad de Internet. El desarrollo de sistemas operativos de redes corporativas está pasando a primer plano. Se está reanudando el desarrollo del sistema operativo mainframe. En 1991 Se lanzó LINUX. Un poco más tarde, se lanzó FreeBSD (su base era BSD UNIX).

  • II. Principios y reglas básicos de conducta oficial de los funcionarios estatales del Servicio de Impuestos Federales.
  • II. Las principales metas y objetivos del Programa, el período y etapas de su implementación, indicadores objetivo e indicadores.
  • II. Las principales etapas del desarrollo de la física. La formación de la física (hasta el siglo XVII).
  • III.2.1) El concepto de delito, sus principales características.
  • La historia del desarrollo de los sistemas operativos se remonta a más de medio siglo y está indisolublemente ligada al nivel técnico de desarrollo de la electrónica, la ciencia de los materiales, las matemáticas, todas aquellas disciplinas de la ciencia y la tecnología, sin las cuales es impensable construir una computadora. complejo. Por tanto, las etapas de desarrollo de los sistemas operativos están estrechamente relacionadas con determinadas etapas del progreso científico y tecnológico en este campo.

    Primer período (1945 – 1955)

    Las primeras computadoras electrónicas aparecieron después de la Segunda Guerra Mundial. En la década de 1940 se crearon los primeros dispositivos informáticos basados ​​en tubos y apareció el principio de un programa almacenado en la memoria de una máquina (Howard Aiken de la Universidad de Harvard, John von Neumann del Instituto de Estudios Avanzados de Princeton y otros, junio de 1945). Las computadoras eran voluminosas y ocupaban varias habitaciones. Su diseño implicó el uso de varios miles de tubos de vacío. Trabajar con una computadora era igualmente engorroso. Un grupo de personas realizó simultáneamente su mantenimiento, operación y programación. Estas máquinas pueden clasificarse fácilmente como experimentales, y los cálculos realizados en ellas fueron, más bien, de carácter de prueba (experimentales). La programación se realizó exclusivamente en lenguaje de máquina, es decir. entrada secuencial de códigos de comando y datos desde el teclado, y no se habló de ningún sistema o software de aplicación. El programa se cargaba en la memoria de la máquina mediante un panel de conexiones o desde una baraja de tarjetas perforadas. Los dispositivos de entrada/salida existentes no estaban estandarizados y eran controles remotos primitivos con un conjunto de interruptores, botones e indicadores. Todos los recursos de la computadora fueron administrados por su personal, quienes lanzaron manualmente el programa para su ejecución, le asignaron la cantidad de memoria requerida y monitorearon visualmente todo el proceso de cálculo. El sistema informático realizaba sólo una operación a la vez (entrada-salida o cálculos reales). La depuración de programas se realizó desde el panel de control estudiando el estado de la memoria y registros de la máquina. Sin embargo, ya durante este período de tiempo, se crearon bibliotecas de programas matemáticos y de utilidad a las que el programador podía acceder al ejecutar el programa principal.



    Al final de este período aparece el primer software de sistema: en 1951-1952. Aparecieron prototipos de los primeros compiladores de lenguajes simbólicos (Fortran, etc.), y en 1954 Nat Rochester desarrolló un ensamblador para el IBM-701.

    Se dedicó una parte importante del tiempo a preparar el lanzamiento del programa y los programas en sí se ejecutaron de forma estrictamente secuencial. Este modo de operación se llama procesamiento de datos secuencial. En general, el primer período se caracteriza por el costo extremadamente alto de los sistemas informáticos, su pequeño número y su baja eficiencia de uso. Así, el ordenador UNIVAC I, desarrollado en marzo de 1951, contenía 5.000 lámparas y podía funcionar a una velocidad de 1.000 operaciones por segundo. El coste de una máquina de este tipo fue de 159.000 dólares estadounidenses.

    Segundo período (1955 – principios de los 60).

    A mediados de los años 50 del siglo XX, comenzó un nuevo período en el desarrollo de la tecnología informática. Los relés y las lámparas fueron sustituidos por transistores semiconductores. Esto hizo posible aumentar el rendimiento de los procesadores, la cantidad de RAM y memoria externa aumentó considerablemente y aparecieron dispositivos de interfaz fundamentalmente nuevos. En general, el sistema informático se ha vuelto más complejo, lo que ha cambiado la actitud de los operadores hacia él. Era necesario automatizar el trabajo computacional y, como resultado, simplificar el proceso de programación en sí. Durante estos años, aparecieron los primeros lenguajes algorítmicos y el software especial que los acompaña: los traductores. Entre los idiomas de esa época, los más utilizados eran ALGOL y Fortran.



    Realizar cualquier cálculo comenzó a implicar una mayor cantidad de trabajo secuencial, a saber: ingresar el texto de los programas, cargar el traductor deseado, vincular programas con rutinas de biblioteca, obtener el programa resultante en código de máquina, cargar el código en la RAM, ejecutar programas y, finalmente, enviar los resultados a un dispositivo externo. Es decir, el proceso de cálculo en sí ocupa sólo uno de los componentes en numerosas operaciones computacionales. Esto requirió la introducción de operadores informáticos altamente calificados en el personal de los centros informáticos.

    Está claro que no importa cuán rápido y confiablemente trabajen los operadores, el rendimiento de los dispositivos informáticos es mayor. En consecuencia, parte del tiempo la máquina simplemente permanece inactiva, esperando las siguientes acciones del operador. 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. Estos fueron los primeros programas de sistema, prototipos de sistemas operativos modernos. El sistema de procesamiento por lotes representaba un conjunto típico de directivas, incluida una señal del inicio de un trabajo separado, una llamada al traductor, una llamada al cargador y una señal del principio y el final de los datos originales. Para facilitar el trabajo con directivas, se desarrolló un lenguaje de control de tareas formalizado (un prototipo de comandos de DOS). El operador compila un paquete de tareas que se lanzan secuencialmente para su ejecución mediante un programa de control especial: un monitor. El monitor podría manejar de forma independiente situaciones de emergencia y controlar el uso de RAM. El paquete solía ser un juego de tarjetas perforadas, cuyo contenido se introducía secuencialmente en la máquina mediante un dispositivo especial. Tenga en cuenta que el dispositivo permitía la instalación de varios paquetes de tarjetas perforadas, de ahí, de hecho, el nombre de este conjunto de directivas: sistemas de procesamiento por lotes.

    Los sistemas de procesamiento por lotes aceleraron significativamente la ejecución de acciones auxiliares para organizar el proceso informático, pero los programadores usuarios perdieron el acceso directo a la máquina, lo que redujo la eficiencia de los propios programadores. Cualquier corrección en el programa durante su depuración requirió mucho tiempo. De una forma u otra, los propios cálculos estaban controlados por otros: el personal de mantenimiento de los centros informáticos.

    Las computadoras de segunda generación se utilizaron principalmente para cálculos científicos y técnicos, como la resolución de ecuaciones diferenciales. La programación se realizó en Fortran o Assembly, y los sistemas operativos típicos eran FMS (Fortran Monitor System) e IBSYS (el sistema operativo de IBM para la computadora IBM 7094).

    Tercer período (principios de los 60 - 1980).

    La aparición de computadoras basadas en circuitos integrados en 1965-1975 abrió una nueva página en el desarrollo de la tecnología informática. Las nuevas máquinas tenían una arquitectura compleja y desarrollada, más cercana a la arquitectura de las computadoras modernas. En ese momento ya nos habíamos decidido por completo sobre el equipo periférico principal. Los representantes típicos de este tipo de máquinas son la serie de ordenadores IBM/360 o sus homólogos domésticos: los ordenadores de la familia EC. Dado que las máquinas de esta serie tenían la misma estructura y conjunto de comandos, los programas escritos para una computadora podrían, en principio, funcionar en todas las demás. Otra ventaja de la serie de ordenadores IBM/360 era que los datos informáticos podían utilizarse tanto con fines científicos (cálculos numéricos para ciencia y tecnología) como para uso comercial (clasificación e impresión de datos). Esto predeterminó el éxito de IBM, que se declaró líder mundial en el mercado de las computadoras. Otros fabricantes empezaron a aceptar la idea de una familia de ordenadores compatibles. El sistema operativo OS/360 fue diseñado para funcionar en todas las computadoras de una determinada familia de máquinas, independientemente del propósito que tuviera la computadora utilizada (calcular pronósticos del tiempo o simplemente copiar información de tarjetas perforadas a cintas magnéticas).

    A pesar de que el sistema operativo OS/360 era muy voluminoso y complejo (millones de líneas de lenguaje ensamblador), fue durante este período que se implementaron casi todos los mecanismos básicos integrados en los sistemas operativos modernos: multitarea, soporte para múltiples usuarios. modo, memoria virtual, sistema de archivos, etc. Desde la dirección de las matemáticas aplicadas asociadas con la programación, destaca una rama separada: la programación de sistemas. En condiciones de un fuerte aumento de la potencia informática, realizar solo una tarea a la vez resultó ineficaz. La solución se encontró en la multiprogramación (multitarea), un método para organizar un proceso informático en el que varias tareas se cargan en la RAM simultáneamente, pero se ejecutan alternativamente en un procesador. La multiprogramación se implementó en dos versiones: en un sistema de procesamiento por lotes probado y en un sistema de tiempo compartido (desarrollado por el MIT, IBM 7094), gracias al cual cada usuario tenía su propio terminal interactivo.

    El uso de circuitos integrados ha permitido reducir significativamente el tamaño de las computadoras. Estas computadoras se conocieron como minicomputadoras (PDP-1, DEC Corporation, 1961) y, aunque costaban alrededor de 120 000 dólares, tuvieron éxito comercial y tuvieron buena demanda. Su costo fue el 5% del costo de la computadora IBM 7094, sin embargo, las computadoras de la serie PDP realizaron algunas operaciones a la misma velocidad.

    Fue para la serie de computadoras PDP-7 que el especialista de Bell Labs, Ken Thompson, desarrolló una versión para un solo usuario del sistema operativo MULTICS, que luego se convirtió en el sistema operativo UNIX, que luego tenía variedades de System V (AT&T Corporation), BSD. (Instituto Berkeley de California) y otros. Para el sistema operativo UNIX, Ken Thompson y Denis Ritchie desarrollaron el lenguaje C, que sigue siendo líder en el campo de la programación de sistemas. En 1974, publicaron el artículo “El sistema de tiempo compartido UNIX” en la revista Commun. del ACM, que hizo popular el sistema UNIX.

    EL CONCEPTO DE SISTEMA OPERATIVO

    El sistema operativo (OS) es un conjunto de programas de sistema y control diseñados para el uso más eficiente de todos los recursos de un sistema informático (CS) (el sistema informático es un conjunto interconectado de hardware y software informático diseñado para procesar información) y la conveniencia de trabajando con ello.

    El propósito del sistema operativo es organizar el proceso informático en un sistema informático, la distribución racional de los recursos informáticos entre tareas individuales; proporcionando a los usuarios numerosas herramientas de servicio que facilitan el proceso de programación y tareas de depuración. El sistema operativo desempeña el papel de una especie de interfaz (la interfaz es un conjunto de hardware y software necesarios para conectar dispositivos periféricos a una PC) entre el usuario y la computadora, es decir. El sistema operativo proporciona al usuario un avión virtual. Esto significa que el sistema operativo forma en gran medida la idea que tiene el usuario de las capacidades del avión, la facilidad para trabajar con él y su rendimiento. Diferentes sistemas operativos en el mismo hardware pueden brindar al usuario diferentes oportunidades para organizar el proceso informático o el procesamiento automatizado de datos.

    En el software informático, el sistema operativo ocupa una posición central porque planifica y controla todo el proceso informático. Cualquier componente de software debe ejecutarse bajo el sistema operativo.

    Según las condiciones de la aplicación, se distinguen tres modos del sistema operativo: procesamiento por lotes, tiempo compartido y tiempo real. En el modo de procesamiento por lotes, el sistema operativo ejecuta secuencialmente las tareas recopiladas en un lote. En este modo, el usuario no tiene contacto con la computadora y solo recibe los resultados de los cálculos. En el modo de tiempo compartido, el sistema operativo realiza simultáneamente varias tareas, permitiendo que cada usuario acceda a la computadora. En tiempo real, el sistema operativo proporciona control de los objetos de acuerdo con las señales de entrada recibidas. El tiempo de respuesta de una computadora con sistema operativo en tiempo real a una influencia perturbadora debería ser mínimo.



    Etapas de desarrollo de sistemas operativos.

    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” nunca pudo funcionar realmente porque la tecnología de esa época no cumplía 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.

    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 controlar 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.

    Tercer período (1965 - 1980)

    El siguiente período importante en el desarrollo de las computadoras se remonta a 1965-1980. En este momento, la base técnica experimentó una transición 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.

    Sin embargo, a pesar de su enorme tamaño y muchos problemas, OS/360 y otros sistemas operativos similares en máquinas de tercera generación satisfacían 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. El spooling en ese momento se definió 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.

    Utilidades básicas de red.

    Linux es un sistema operativo de red. Esto significa que el usuario puede enviar archivos y trabajar no solo en su máquina local, sino que, mediante el acceso remoto, recibir y enviar archivos, realizar algunas acciones en una máquina remota. Un amplio conjunto de utilidades de red hace que trabajar en una computadora remota sea tan conveniente como en una computadora local.

    Para garantizar la seguridad cuando trabaja en una computadora remota, debe utilizar la utilidad ssh (shell seguro). Por supuesto, el usuario debe estar registrado en el sistema donde va a trabajar. En la ventana del emulador de terminal, el usuario debe ingresar el comando.

    ssh inicio de sesión_usuario@host

    donde inicio de sesión es el nombre de registro del usuario en la máquina host. Otra opción es:

    ssh host -l inicio de sesión de usuario

    Las funciones en Excel son fórmulas predefinidas que realizan cálculos en un orden específico utilizando valores determinados. En este caso, los cálculos pueden ser tanto simples como complejos.

    Por ejemplo, la determinación del valor promedio de cinco celdas se puede describir mediante la fórmula: =(A1 + A2 + A3 + A4 + A5)/5, o puede usar una función PROMEDIO especial, que reducirá la expresión a la siguiente forma : PROMEDIO(A1:A5). Como puede ver, en lugar de ingresar todas las direcciones de celda en la fórmula, puede usar una función específica, especificando su rango como argumento.

    Para trabajar con funciones en Excel, hay una pestaña Fórmulas separada en la cinta, en la que se encuentran todas las herramientas principales para trabajar con ellas.

    Puede seleccionar la categoría requerida en la cinta del grupo Biblioteca de funciones en la pestaña Fórmulas. Tras pulsar en la flecha situada al lado de cada una de las categorías se abre un listado de funciones, y al pasar el cursor sobre cualquiera de ellas aparece una ventana con su descripción.

    La introducción de funciones, como fórmulas, comienza con un signo igual. Después viene el nombre de la función, en forma de abreviatura de letras mayúsculas que indican su significado. Luego, entre paréntesis se indican los argumentos de la función: los datos utilizados para obtener el resultado.

    El argumento puede ser un número específico, una referencia de celda independiente, toda una serie de referencias a valores o celdas, o un rango de celdas. Al mismo tiempo, algunas funciones tienen argumentos que son texto o números, mientras que otras tienen hora y fechas.

    Muchas funciones pueden tomar varios argumentos a la vez. En este caso, cada uno de ellos está separado del siguiente por un punto y coma. Por ejemplo, la función =PRODUCTO(7, A1, 6, B2) calcula el producto de cuatro números diferentes indicados entre paréntesis y, en consecuencia, contiene cuatro argumentos. Además, en nuestro caso, algunos argumentos se especifican explícitamente, mientras que otros son los valores de determinadas celdas.

    También puedes utilizar otra función como argumento, que en este caso se llama anidada. Por ejemplo, la función =SUMA(A1:A5; PROMEDIO(B5:B10)) suma los valores de las celdas en el rango de A1 a A5, así como el valor promedio de los números ubicados en las celdas B5, B6, B7, B8, B9 y B10.

    Es posible que algunas funciones simples no tengan ningún argumento. Entonces, usando la función =TDATE() puedes obtener la hora y fecha actuales sin usar ningún argumento.

    No todas las funciones en Ecxel tienen una definición simple, como la función SUMA, que suma valores seleccionados. Algunos de ellos tienen una escritura sintáctica compleja y también requieren muchos argumentos, que también deben ser del tipo correcto. Cuanto más compleja es la función, más difícil es componerla correctamente. Y los desarrolladores tuvieron esto en cuenta al incluir en sus hojas de cálculo un asistente para crear funciones para los usuarios: el Asistente de funciones.

    Para comenzar a ingresar una función usando el Asistente de funciones, haga clic en el ícono Insertar función (fx) ubicado a la izquierda de la barra de fórmulas.

    También puede encontrar el botón Insertar función en la cinta en la parte superior del grupo Biblioteca de funciones en la pestaña Fórmulas. Otra forma de abrir el Asistente de funciones es el método abreviado de teclado Shift+F3.

    Después de abrir la ventana del asistente, lo primero que tendrás que hacer es seleccionar una categoría de función. Para hacer esto, puede utilizar el campo de búsqueda o la lista desplegable.

    En el medio de la ventana se muestra una lista de funciones de la categoría seleccionada y debajo hay una breve descripción de la función seleccionada por el cursor y ayuda sobre sus argumentos. Por cierto, el propósito de una función a menudo puede determinarse por su nombre.

    Una vez realizada la selección necesaria, haga clic en el botón Aceptar, después de lo cual aparecerá la ventana Argumentos de función.

    Diagramas

    Muy a menudo, los números de la tabla, incluso si están ordenados correctamente, no proporcionan una imagen completa de los resultados del cálculo. Para obtener una representación visual de los resultados, MS Excel le permite crear varios tipos de gráficos. Puede ser un histograma o gráfico normal, o un gráfico de radar, circular o de burbujas exótico. Además, el programa tiene la capacidad de crear gráficos combinados de varios tipos, guardándolos como plantilla para uso futuro.

    Un gráfico en Excel se puede colocar en la misma hoja donde ya se encuentra la tabla, en cuyo caso se llama "incrustado", o en una hoja separada, que pasará a llamarse "hoja de gráfico".

    Para crear un gráfico basado en datos tabulares, primero seleccione las celdas cuya información desea mostrar gráficamente. La apariencia del gráfico depende del tipo de datos seleccionados, que deben estar en columnas o filas. Los encabezados de las columnas deben estar encima de los valores y los encabezados de las filas deben estar a la izquierda de ellos.\

    Luego, en la cinta, en la pestaña Insertar, en el grupo Gráficos, seleccione el tipo y tipo de gráfico deseado. Para ver una breve descripción de un tipo particular y tipo de diagrama, debe mantener el puntero del mouse sobre él.

    En la esquina inferior derecha del bloque Gráficos hay un pequeño botón Crear gráfico, que se puede usar para abrir la ventana Insertar gráfico, que muestra todos los tipos, tipos y plantillas de gráficos.

    También preste atención a la aparición de una pestaña adicional en la cinta Trabajar con gráficos, que contiene tres pestañas más: Diseño, Diseño y Formato.

    En la pestaña Diseño, puede cambiar el tipo de gráfico, intercambiar filas y columnas, agregar o eliminar datos, elegir su diseño y estilo y también mover el gráfico a otra hoja u otra pestaña del libro.

    La pestaña Diseño contiene comandos que le permiten agregar o eliminar varios elementos del gráfico, que se pueden formatear fácilmente usando la pestaña Formato.

    La pestaña Herramientas de gráficos aparece automáticamente cada vez que selecciona un gráfico y desaparece cuando trabaja con otros elementos del documento.

    El concepto de sistema operativo. Las principales etapas de desarrollo de los sistemas operativos.

    Consideraremos la historia del desarrollo de la informática, no los sistemas operativos, porque el hardware y el software han evolucionado juntos, influyéndose mutuamente. La aparición de nuevas capacidades técnicas condujo a un gran avance en la creación de programas convenientes, eficaces y seguros, y las nuevas ideas en el campo del software estimularon la búsqueda de nuevas soluciones técnicas. Fueron estos criterios (conveniencia, eficiencia y seguridad) los que desempeñaron el papel de factores de selección natural en la evolución de los sistemas informáticos.

    Durante el primer período de desarrollo (1945-1955) Las computadoras eran máquinas de tubos sin sistemas operativos. Los primeros pasos en el desarrollo de las computadoras electrónicas se dieron al final de la Segunda Guerra Mundial. A mediados de la década de 1940 se crearon los primeros dispositivos informáticos de tubo y apareció el principio de un programa almacenado en la memoria de una máquina (John Von Neumann, junio de 1945). 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 habitual de los ordenadores 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. Sólo un usuario puede estar en el control remoto. El programa se cargaba en la memoria de la máquina, en el mejor de los casos, desde una baraja de tarjetas perforadas y, por lo general, mediante un panel de interruptores.

    El sistema informático realizaba sólo una operación a la vez (entrada-salida o cálculos reales). La depuración de programas se realizó desde el panel de control estudiando el estado de la memoria y registros de la máquina. Al final de este período aparece el primer software de sistema: en 1951-1952. Aparecieron prototipos de los primeros compiladores de lenguajes simbólicos (Fortran, etc.), y en 1954 Nat Rochester desarrolló un ensamblador para el IBM-701.

    Se dedicó una parte importante del tiempo a preparar el lanzamiento del programa y los programas en sí se ejecutaron de forma estrictamente secuencial. Este modo de operación se llama procesamiento de datos secuencial. En general, el primer período se caracteriza por el costo extremadamente alto de los sistemas informáticos, su pequeño número y su baja eficiencia de uso.

    El segundo período comenzó a mediados de los años 50. en la evolución de la tecnología informática, asociado con la aparición de una nueva base técnica: los elementos semiconductores. El uso de transistores en lugar de tubos de vacío que frecuentemente se queman condujo a una mayor confiabilidad de las computadoras. Las máquinas ahora pueden funcionar continuamente durante el tiempo suficiente para que se les pueda asignar tareas prácticamente importantes. Se reduce el consumo de electricidad de los ordenadores y se mejoran los sistemas de refrigeración. El tamaño de las computadoras se ha reducido. El costo de operación y mantenimiento de equipos informáticos ha disminuido. Se inició el uso de computadoras por parte de empresas comerciales. Al mismo tiempo, se está produciendo un rápido desarrollo de los lenguajes algorítmicos (LISP, COBOL, ALGOL-60, PL-1, etc.). Aparecen los primeros compiladores reales, editores de enlaces, bibliotecas de rutinas matemáticas y de utilidad. El proceso de programación se simplifica. No es necesario cargar a las mismas personas con todo el proceso de desarrollo y uso de computadoras. Fue durante este período que el personal se dividió en programadores y operadores, especialistas en operaciones y desarrolladores informáticos.

    El proceso de ejecución de programas en sí cambia. Ahora el usuario trae al programa los datos de entrada en forma de una baraja de cartas perforadas e indica los recursos necesarios. Esta baraja se llama asignaciones. El operador carga la tarea en la memoria de la máquina y la inicia para su ejecución. Los datos de salida resultantes se imprimen en la impresora y el usuario los recibe después de un tiempo (bastante largo).

    Cambiar los recursos solicitados hace que la ejecución del programa se detenga, lo que hace que el procesador a menudo esté inactivo. Para aumentar la eficiencia del uso de la computadora, las tareas con recursos similares comienzan a agruparse, creando paquete de tareas.

    Aparecen los primeros sistemas de procesamiento por lotes, que simplemente automatizan el lanzamiento de un programa desde un paquete tras otro y, por lo tanto, aumentan el factor de utilización del procesador. Al implementar 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é trabajo quería realizar en la computadora. Los sistemas de procesamiento por lotes se convirtieron en el prototipo de los sistemas operativos modernos; fueron los primeros programas de sistema diseñados para gestionar el proceso informático.

    El próximo período importante de desarrollo. Las computadoras se remontan a principios de los años 60 y 1980. En ese momento, la base técnica experimentó una transición de elementos semiconductores individuales, como los transistores, a los circuitos integrados. La tecnología informática es cada vez más fiable y barata. La complejidad y el número de problemas que resuelven las computadoras va en aumento. Mejora el rendimiento del procesador.

    El aumento de la eficiencia en el uso del tiempo del procesador se ve obstaculizado por la baja velocidad de los dispositivos mecánicos de entrada y salida (un lector rápido de tarjetas perforadas podría procesar 1200 tarjetas perforadas por minuto, las impresoras imprimían hasta 600 líneas por minuto). En lugar de leer directamente en la memoria un paquete de tareas de tarjetas perforadas, comienzan a utilizar su grabación preliminar, primero en cinta magnética y luego en disco. Cuando se requiere la entrada de datos durante un trabajo, se leen desde el disco. De manera similar, la información de salida se copia primero en el búfer del sistema y se escribe en una cinta o disco, y se imprime sólo después de que se completa el trabajo. Al principio, las operaciones de E/S reales se llevaban a cabo fuera de línea, es decir, utilizando otras computadoras independientes más simples. Posteriormente, comienzan a ejecutarse en el mismo ordenador que realiza los cálculos, es decir, en modo online. Esta técnica se llama enrollar(abreviatura de operación periférica simultánea en línea) o bombeo de datos/bombeo. La introducción de la tecnología de bomba-bomba en los sistemas por lotes hizo posible combinar operaciones de E/S reales de una tarea con la ejecución de otra tarea, pero requirió el desarrollo de un aparato de interrupción para notificar al procesador sobre la finalización de estas operaciones.

    Las cintas magnéticas eran dispositivos de acceso secuencial, lo que significaba que la información se leía en el orden en que estaba escrita. La aparición de un disco magnético, para el cual el orden en que se lee la información no es importante, es decir, un dispositivo de acceso directo, condujo a un mayor desarrollo de los sistemas informáticos. Al procesar un lote de trabajos en cinta magnética, el orden en que se iniciaban los trabajos estaba determinado por el orden en que se ingresaban. Al procesar un lote de tareas en un disco magnético, fue posible seleccionar la siguiente tarea a realizar. Los sistemas por lotes están cada vez más ocupados programar tareas: dependiendo de la disponibilidad de los recursos solicitados, la urgencia de los cálculos, etc. Se selecciona una u otra tarea para la cuenta.

    Se han logrado mejoras adicionales en la eficiencia del procesador utilizando multiprogramación. La idea de la multiprogramación es la siguiente: mientras un programa realiza una operación de E/S, el procesador no está inactivo, como ocurría en el modo de programa único, sino que ejecuta otro programa. Cuando finaliza la operación de E/S, el procesador vuelve a ejecutar el primer programa. Esta idea recuerda el comportamiento de un profesor y sus alumnos durante un examen. Mientras un estudiante (programa) piensa en la respuesta a una pregunta (operación de entrada/salida), el profesor (procesador) escucha la respuesta de otro estudiante (cálculo). Naturalmente, esta situación requiere que haya varios estudiantes en la sala. Asimismo, la multiprogramación requiere tener múltiples programas en la memoria al mismo tiempo. En este caso, cada programa se carga en su propia sección de RAM, llamada sección, y no debe influir en la ejecución de otro programa (los estudiantes se sientan en mesas separadas y no se animan entre sí).

    La aparición de la multiprogramación requiere una verdadera revolución en la estructura del sistema informático. El soporte de hardware juega aquí un papel especial (muchas innovaciones de hardware aparecieron en la etapa anterior de evolución), cuyas características más importantes se enumeran a continuación.

    - Implementación de mecanismos de protección. . Los programas no deberían tener acceso independiente a la asignación de recursos, lo que conduce a privilegiado Y sin privilegios comandos Los comandos privilegiados, como los comandos de E/S, solo pueden ser ejecutados por el sistema operativo. Dicen que se ejecuta en modo privilegiado. La transición del control del programa de aplicación al sistema operativo va acompañada de un cambio de modo controlado. Además, es la protección de la memoria la que le permite aislar los programas de usuario competidores entre sí y el sistema operativo de los programas de usuario.

    - Presencia de interrupciones . Las interrupciones externas notifican al sistema operativo que se ha producido un evento asincrónico, por ejemplo, que se ha completado una operación de E/S. Las interrupciones internas (ahora llamadas excepciones) ocurren cuando la ejecución de un programa ha llevado a una situación que requiere la intervención del sistema operativo, como una división por cero o un intento de violación de seguridad.

    - Desarrollo del paralelismo en la arquitectura. . El acceso directo a la memoria y la organización de los canales de E/S permitieron liberar al procesador central de operaciones rutinarias.

    No menos importante es el papel del sistema operativo en la organización de la multiprogramación. Ella es responsable de las siguientes operaciones:

    Organización de la interfaz entre el programa de aplicación y el sistema operativo mediante llamadas al sistema;

    Poner en cola trabajos en la memoria y asignar un procesador a uno de los trabajos requería programar el uso del procesador;

    Pasar de un trabajo a otro requiere preservar el contenido de los registros y las estructuras de datos necesarios para ejecutar el trabajo, en otras palabras, el contexto para garantizar que el cálculo continúe correctamente;

    Dado que la memoria es un recurso limitado, se necesitan estrategias de gestión de la memoria, es decir, es necesario agilizar los procesos de colocación, reemplazo y recuperación de información de la memoria;

    Organizar el almacenamiento de información en medios externos en forma de archivos y garantizar el acceso a un archivo específico solo a determinadas categorías de usuarios;

    Dado que los programas pueden necesitar realizar un intercambio de datos autorizado, es necesario proporcionarles medios de comunicación;

    Para un correcto intercambio de datos, es necesario resolver situaciones conflictivas que surgen al trabajar con diversos recursos y prever la coordinación por programas de sus acciones, es decir. Proporcionar al sistema herramientas de sincronización.

    Los sistemas de multiprogramación hicieron posible utilizar los recursos del sistema (por ejemplo, procesador, memoria, periféricos) de manera más eficiente, pero siguieron siendo sistemas por lotes durante mucho tiempo. El usuario no podía interactuar directamente con la tarea y debía prever todas las situaciones posibles mediante tarjetas de control. La depuración de programas todavía consumía mucho tiempo y requería examinar impresiones de varias páginas del contenido de la memoria y los registros o utilizar la impresión de depuración.

    La llegada de las pantallas de rayos catódicos y el replanteamiento del uso de los teclados aportaron una solución a este problema. Sistemas de tiempo compartido, o sistemas de tiempo compartido. En ellos, el procesador cambia entre tareas no sólo durante las operaciones de E/S, sino también simplemente después de que ha transcurrido un cierto tiempo. Estos cambios ocurren con tanta frecuencia que los usuarios pueden interactuar con sus programas mientras se ejecutan, es decir, de forma interactiva. Como resultado, es posible que varios usuarios trabajen simultáneamente en un sistema informático. Para ello, cada usuario debe tener al menos un programa en la memoria. Para reducir las restricciones en la cantidad de usuarios que trabajan, se introdujo la idea de no residir completamente el programa ejecutable en la RAM. La parte principal del programa se encuentra en el disco, y el fragmento que debe ejecutarse en este momento se puede cargar en la RAM y el innecesario se puede descargar nuevamente al disco. Esto se implementa usando mecanismo de memoria virtual. La principal ventaja de este mecanismo es la creación de la ilusión de una RAM ilimitada en la computadora.

    En los sistemas de tiempo compartido, el usuario podía depurar eficazmente el programa en modo interactivo y escribir información en el disco sin utilizar tarjetas perforadas, sino directamente desde el teclado. La aparición de archivos en línea ha llevado a la necesidad de desarrollar sistemas avanzados sistemas de archivos.

    Paralelamente a la evolución interna de los sistemas informáticos, también se produjo su evolución externa. Antes del comienzo de este período, los sistemas informáticos eran, por regla general, incompatibles. Cada uno tenía su propio sistema operativo, su propio sistema de comando, etc. Como resultado, un programa que se ejecutaba exitosamente en un tipo de máquina tenía que ser completamente reescrito y depurado para ejecutarse en otro tipo de computadora. Al comienzo del tercer período apareció la idea de crear familias de máquinas compatibles con software que ejecutaran el mismo sistema operativo. La primera familia de ordenadores compatibles con software., construida sobre circuitos integrados, se convirtió en la serie de máquinas IBM/360. Desarrollada 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. Le siguió la línea de computadoras PDP, incompatible con la línea IBM, y el modelo superior de esta línea fue el PDP-11.

    La fuerza de “una familia” era también su debilidad. Las amplias posibilidades de este concepto (la presencia de todos los modelos: desde minicomputadoras hasta máquinas gigantes; una gran cantidad de diversos periféricos; diferentes entornos; diferentes usuarios) dieron lugar a un sistema operativo complejo y engorroso. Millones de líneas de lenguaje ensamblador, escritas por miles de programadores, contenían muchos errores, lo que provocó un flujo constante de publicaciones sobre ellos e intentos de corregirlos. Sólo el sistema operativo OS/360 contenía más de 1.000 errores conocidos. Sin embargo, idea de estandarización de sistemas operativos se introdujo ampliamente en la mente de los usuarios y posteriormente recibió un desarrollo activo.

    Próximo período en la evolución Los sistemas informáticos están asociados con la llegada de los circuitos integrados a gran escala (LSI). Estos años (1980 al presente) hubo un fuerte aumento en el grado de integración y una disminución en el costo de los microcircuitos. Una computadora que no difería en arquitectura del PDP-11, en términos de precio y facilidad de uso, se volvió accesible para un individuo, y no para un departamento de una empresa o universidad. Ha llegado la era de las computadoras personales. Inicialmente, las computadoras personales estaban destinadas a ser utilizadas por un solo usuario en modo de un solo programa, lo que provocó la degradación de la arquitectura de estas computadoras y sus sistemas operativos (en particular, no era necesario proteger archivos y memoria, programar tareas , etc.).

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

    Sin embargo, el aumento de la complejidad y variedad de las tareas resueltas en las computadoras personales y la necesidad de mejorar la confiabilidad de su funcionamiento han llevado a la reactivación de casi todas las características características de la arquitectura de los grandes sistemas informáticos.

    A mediados de los 80 comenzaron a desarrollarse rápidamente. red de computadoras, incluidos los personales que trabajan bajo el control sistemas operativos de red o distribuidos.

    En sistemas operativos de red. Los usuarios pueden acceder a los recursos de otra computadora de la red; sólo deben ser conscientes de su presencia y poder hacerlo. Cada máquina en la red ejecuta su propio sistema operativo local, que se diferencia del sistema operativo de una computadora independiente por la presencia de herramientas adicionales (soporte de software para dispositivos de interfaz de red y acceso a recursos remotos), pero estas adiciones no cambian la estructura del sistema operativo.

    Sistema distribuido Por el contrario, exteriormente parece un sistema autónomo normal. El usuario no sabe ni debería saber dónde se almacenan sus archivos (en una máquina local o remota) y dónde se ejecutan sus programas. Puede que ni siquiera sepa si su computadora está conectada a la red. La estructura interna de un sistema operativo distribuido difiere significativamente de la de los sistemas autónomos.

    En lo que sigue, nos referiremos a los sistemas operativos independientes como sistemas operativos clásicos.

    Habiendo analizado las etapas de desarrollo de los sistemas informáticos, podemos destacar seis funciones principales, que ejecutó sistemas operativos clásicos en proceso de evolución:

    Programación de trabajos y uso de CPU;

    Facilitación de programas con medios de comunicación y sincronización;

    Gestión de la memoria;

    Gestión del sistema de archivos;

    gestión de E/S;

    Seguridad

    Cada una de las funciones anteriores generalmente se implementa como un subsistema, que es un componente estructural del sistema operativo. En cada sistema operativo, estas funciones, por supuesto, se implementaron a su manera, en distintos grados. No se inventaron originalmente como componentes de sistemas operativos, sino que aparecieron en el proceso de desarrollo a medida que los sistemas informáticos se volvieron más convenientes, eficientes y seguros. La evolución de los sistemas informáticos creados por el hombre ha seguido este camino, pero nadie ha demostrado todavía que sea el único camino posible para su desarrollo. Los sistemas operativos existen porque su existencia es actualmente la forma inteligente de utilizar los sistemas informáticos.


    Instituto Económico y Financiero por Correspondencia de toda Rusia

    Facultad: finanzas - crédito

    Especialidad: grupo nocturno de finanzas y crédito.

    Trabajo de curso

    En la disciplina "Informática"

    Sobre el tema “Objetivo, clasificación y evolución de los sistemas operativos”

    Moscú - 2008

    Introducción
    1 Propósito de los sistemas operativos 5

    2 Enumeremos las funciones principales de los sistemas operativos 9.

    2.2 Mantenimiento de todas las operaciones de E/S 9

    3 Evolución y clasificación del sistema operativo.
    Conclusión 2
    Referencias 22

    Introducción

    El sistema operativo (SO) es la base del software del sistema, que controla el arranque inicial de la computadora, administra el funcionamiento de todos sus dispositivos y verifica su funcionalidad, administra el sistema de archivos de la computadora, carga aplicaciones de usuario y distribuye los recursos de la computadora entre ellos. , admite la interfaz de usuario, etc. Las familias de sistemas operativos más conocidas incluyen DOS, WINDOWS, UNIX, NETWARE, etc.

    Un sistema operativo (SO) es un conjunto de programas que realizan dos funciones: brindar al usuario la comodidad de una máquina virtual y aumentar la eficiencia del uso de una computadora mientras se administran racionalmente sus recursos.

    El procesador de la computadora ejecuta instrucciones dadas en lenguaje de máquina. La preparación directa de dichos comandos requiere que el usuario tenga conocimiento del lenguaje y de las características específicas de la construcción e interacción del hardware. Entonces, por ejemplo, para acceder a la información almacenada en un medio magnético, es necesario indicar los números de bloque en el disco y los números de sector en la pista, determinar el estado del motor del mecanismo para mover los cabezales de lectura y grabación. , detectar la presencia y tipos de errores, realizar su análisis, etc. Exigir este conocimiento a todos los usuarios es casi imposible. Por lo tanto, surgió la necesidad de crear un sistema operativo, un conjunto de programas que ocultan al usuario las características de la ubicación física de la información y realizan procesamiento de interrupciones, administración de temporizadores y RAM. Como resultado, el usuario recibe una máquina virtual que implementa el trabajo en el nivel lógico.

    1 Propósito de los sistemas operativos

    Los sistemas operativos se refieren al software del sistema. Todo el software se divide en sistema y aplicación. El software del sistema generalmente incluye programas y complejos de programas que son comunes, sin los cuales es imposible ejecutar o crear otros programas. La historia del surgimiento y desarrollo del software de sistemas comenzó desde el momento en que la gente se dio cuenta de que cualquier programa requiere operaciones de entrada y salida de datos. Esto sucedió en los lejanos años 50 del siglo pasado. Los propios sistemas operativos aparecieron un poco más tarde.

    Asimismo, la salida de los resultados se puede organizar, por ejemplo, en dispositivos adecuados y en una forma cómoda para la percepción humana. O el programa enviará los resultados del cálculo a algunos actuadores controlados por una computadora. Finalmente, podemos organizar el registro de los valores obtenidos en algunos dispositivos de almacenamiento de datos (con el fin de su posterior procesamiento).

    La programación de E/S es una de las áreas del desarrollo de software que consume más tiempo. No se trata de utilizar declaraciones como LEER o ESCRIBIR en lenguajes de alto nivel. Estamos hablando de la necesidad de crear un subprograma en forma de máquina, listo para su ejecución en una computadora, y no escrito mediante algún sistema de programación (no existían sistemas de programación en ese momento), un subprograma que, en lugar de cálculos convencionales, controle el Dispositivo que debe participar en la entrada de datos de operaciones o conclusiones de resultados. Si existe dicha subrutina, el programador puede acceder a ella tantas veces como operaciones de E/S con este dispositivo requiera. Para realizar este trabajo no basta con que un programador tenga un buen conocimiento de la arquitectura del complejo informático y sea capaz de crear programas en lenguaje ensamblador. Debe conocer perfectamente tanto la interfaz con la que se conecta el dispositivo a la parte central del ordenador, como el algoritmo de funcionamiento del dispositivo de control del dispositivo de E/S.

    Obviamente, tenía sentido crear un conjunto de rutinas para gestionar las operaciones de E/S y usarlas en sus programas, para no obligar a los programadores a reprogramar todas estas operaciones cada vez. Aquí comenzó la historia del software de sistemas. Posteriormente, se empezó a organizar un conjunto de rutinas de entrada y salida en forma de una biblioteca especial de entrada y salida, y luego aparecieron los propios sistemas operativos. El motivo principal de su aparición fue el deseo de automatizar el proceso de preparación de un complejo informático para la ejecución de programas.

    En los años 50, la interacción del usuario con el sistema informático era completamente diferente a la actual. Un programador-codificador (del inglés coder - codificador), un especialista especialmente capacitado que conoce la arquitectura de la computadora y los lenguajes de programación, compiló el texto del programa a pedido, a menudo utilizando un algoritmo ya preparado desarrollado por un programador-algoritmista. El texto de este programa fue luego entregado al operador, quien lo mecanografió en dispositivos especiales y lo transfirió al medio correspondiente. La mayoría de las veces, se utilizaron tarjetas perforadas o cinta perforada como medio. A continuación, la baraja con tarjetas perforadas fue trasladada a la sala de informática, donde se requirieron las siguientes acciones para los cálculos mediante este programa:

    1. El operador del complejo informático desde el control remoto ingresó en los registros de trabajo del procesador central y en la RAM de la computadora el programa inicial que permitió leer en la memoria un programa para traducir códigos fuente y obtener una máquina (binario). programa (es decir, un traductor, que también se almacenaba en tarjetas perforadas o cinta perforada).

    2. El traductor leyó el programa fuente, realizó un análisis léxico del texto fuente y, a menudo, los resultados intermedios del proceso de traducción también se enviaron a tarjetas perforadas (cinta perforada). La traducción es un proceso complejo que a menudo requiere varias pasadas. A veces, para realizar el siguiente paso, era necesario cargar en la memoria de la computadora tanto la siguiente parte del traductor como los resultados intermedios de la traducción de las tarjetas perforadas. Después de todo, el resultado de la traducción también se mostraba en los medios de almacenamiento, ya que la cantidad de RAM era pequeña y la tarea de traducción era una tarea muy compleja.

    3. El operador cargó los códigos binarios recibidos del programa traducido en la RAM de la computadora y cargó los códigos binarios de aquellas subrutinas del sistema que controlaban las operaciones de entrada y salida. Después de esto, el programa terminado, ubicado en la memoria, podría leer los datos originales y realizar los cálculos necesarios. Si se descubrían errores en alguna de estas etapas o después de analizar los resultados obtenidos, había que repetir todo el ciclo.

    Para automatizar el trabajo de un programador (codificador), se comenzaron a desarrollar lenguajes algorítmicos especiales de alto nivel, y para automatizar el trabajo de un operador complejo informático, se desarrolló un programa de control especial, cargándolo en la memoria una vez, el El operador podría entonces usarlo repetidamente y ya no necesitaría consultar el procedimiento de programación de la computadora a través del control remoto. Fue este programa de control el que pasó a denominarse sistema operativo. Con el tiempo, se le empezaron a asignar cada vez más tareas y su volumen empezó a crecer. En primer lugar, los desarrolladores buscaron que el sistema operativo distribuyera los recursos informáticos de la computadora de la manera más eficiente posible, porque en los años 60 los sistemas operativos ya permitían organizar la ejecución paralela de varios programas. Además de los problemas de distribución de recursos, han aparecido problemas para garantizar la fiabilidad de los cálculos. A principios de los años 70, el modo interactivo de trabajar con una computadora se volvió predominante y los sistemas operativos comenzaron a desarrollar rápidamente capacidades de interfaz. El término interfaz se refiere a un conjunto completo de especificaciones que definen una forma específica en que un usuario puede interactuar con una computadora.

    Hoy en día se puede afirmar que un sistema operativo (SO) es un conjunto de programas de control y procesamiento del sistema que, por un lado, actúan como interfaz entre el hardware de la computadora y el usuario con sus tareas, y por otro, están diseñados para el uso más eficiente de los recursos del sistema informático y la organización de una informática confiable.

    2 Enumeramos las principales funciones de los sistemas operativos

    Recepción por parte del usuario (u operador del sistema) de tareas, o comandos formulados en el lenguaje apropiado, y su procesamiento. Las tareas se pueden transmitir en forma de directivas de texto (comandos) del operador o en forma de instrucciones realizadas mediante un manipulador (por ejemplo, utilizando un mouse). Estos comandos están asociados con el inicio (pausa, parada) de programas, con operaciones en archivos (obtener una lista de archivos en el directorio actual, crear, renombrar, copiar, mover un archivo en particular, etc.), aunque existen otros comandos.

    Distribución de la memoria y, en la mayoría de los sistemas modernos, organización de la memoria virtual.

    Ejecutar un programa (transferirle el control, haciendo que el procesador ejecute el programa).

    Reciba y utilice diversas solicitudes de aplicaciones en ejecución. El sistema operativo puede realizar una gran cantidad de funciones (servicios) del sistema que pueden solicitarse desde un programa en ejecución. Se accede a estos servicios de acuerdo con las reglas apropiadas que definen la Interfaz del Programa de Aplicación (API) de este sistema operativo.

    2.2 Mantenimiento de todas las operaciones de E/S

    Garantizar el funcionamiento de los sistemas de gestión de archivos (FMS) y/o sistemas de gestión de bases de datos (DBMS), que pueden aumentar drásticamente la eficiencia de todo el software.

    Proporcionar un modo de multiprogramación, es decir, organizar la ejecución paralela de dos o más programas en un procesador, creando la apariencia de su ejecución simultánea.

    Programar y distribuir tareas de acuerdo con las especificadas entre los programas en ejecución.

    Los sistemas operativos de red se caracterizan por la función de asegurar la interacción de computadoras interconectadas.

    Organización de mecanismos para el intercambio de mensajes y datos entre programas en ejecución.

    Proteger un programa de la influencia de otro, garantizar la seguridad de los datos, proteger el propio sistema operativo de las aplicaciones que se ejecutan en la computadora.

    Autenticación y autorización de usuario (para la mayoría de los sistemas operativos interactivos). La autenticación se refiere al procedimiento de verificar el nombre y la contraseña de un usuario con los valores almacenados en su cuenta. Obviamente, si el nombre de usuario y la contraseña de un usuario son los mismos, lo más probable es que sea el mismo usuario. El término autorización significa que, según la cuenta del usuario que ha pasado la autenticación, a él (y a todas las solicitudes que irán al sistema operativo en su nombre) se le asignan ciertos derechos (privilegios) que determinan lo que puede hacer en la computadora.

    Cumple con estrictas restricciones de tiempo de respuesta en tiempo real (típicas de un sistema operativo en tiempo real).

    Asegurar el funcionamiento de los sistemas de programación con los que los usuarios elaboran sus programas.

    Proporcionar servicios en caso de falla parcial del sistema.

    El sistema operativo aísla el hardware de la computadora de los programas de aplicación del usuario. Tanto el usuario como sus programas interactúan con la computadora a través de interfaces del sistema operativo.

    3 Evolución y clasificación del SO

    La evolución del sistema operativo se debe en gran medida a la mejora del hardware informático.

    La programación de dispositivos informáticos tubulares destinados a resolver problemas de aplicaciones especializadas se realizó en lenguaje de máquina (un lenguaje de programación que representa un programa en una forma que permite ejecutarlo directamente mediante medios técnicos de procesamiento de datos). La organización del proceso informático en este caso la realizó el personal de mantenimiento manualmente desde el panel de control. Prácticamente no existían sistemas operativos para estas computadoras.

    Las computadoras construidas con elementos semiconductores se volvieron más compactas, confiables y se utilizaron para resolver una clase más amplia de problemas aplicados. Aparecieron los primeros lenguajes algorítmicos, compiladores (los compiladores son programas utilizados para la compilación: traducción de un programa escrito en un lenguaje algorítmico a un lenguaje cercano al lenguaje de máquina) y sistemas de procesamiento por lotes. Estos sistemas fueron el prototipo de los sistemas operativos modernos. Su objetivo principal es aumentar la carga del procesador.

    La transición de elementos semiconductores individuales, como transistores, a circuitos integrados fue acompañada por la creación de familias de máquinas compatibles con software, por ejemplo, la familia IBM/360, ordenadores EC. Los sistemas operativos de estas computadoras estaban destinados a dar servicio a sistemas informáticos con una variedad de dispositivos periféricos y en diversos campos de actividad. Una característica de estos sistemas operativos es la multiprogramación, un método para organizar un proceso informático en el que se ejecutan alternativamente varias aplicaciones en un procesador. Por ejemplo, mientras una aplicación realiza operaciones de E/S, el procesador realiza operaciones computacionales en otra. Ha surgido un nuevo tipo de sistema operativo: un sistema de tiempo compartido que permite a cada usuario crear la ilusión de trabajar solo con la computadora. La llegada de los circuitos integrados a gran escala (LSI) y los circuitos integrados a muy gran escala (VLSI) aseguró el uso generalizado de las computadoras y su uso por parte de especialistas no programadores. Esto requirió el desarrollo de una interfaz de software amigable e intuitiva. El desarrollo de los medios de comunicación ha llevado al desarrollo de los sistemas operativos de red.

    Los siguientes requisitos se aplican a los sistemas operativos modernos:

    Compatibilidad: el sistema operativo debe incluir herramientas para ejecutar aplicaciones preparadas para otros sistemas operativos;

    Portabilidad: garantizar la capacidad de transferir el sistema operativo de una plataforma de hardware a otra;

    Fiabilidad y tolerancia a fallos: implica proteger el sistema operativo de errores, fallos y fallos internos y externos;

    Seguridad: el sistema operativo debe contener medios para proteger los recursos de unos usuarios de otros;

    Extensibilidad: el sistema operativo debe facilitar la realización de cambios y adiciones posteriores;

    Rendimiento: el sistema debe tener suficiente velocidad.

    Clasificación del sistema operativo. Normalmente, la comunicación entre un usuario y una máquina se produce de forma interactiva. En este caso, el ritmo de resolución del problema está determinado por la reacción del usuario. Si asumimos que el tiempo de reacción del usuario es constante, entonces podemos suponer que la complejidad de la tarea está limitada por la velocidad de los medios técnicos (si es necesario, se aumenta mediante métodos extensivos: el uso de componentes de hardware más rápidos, el uso de sistemas multiprocesador o multimáquina). Pero éste es un enfoque unilateral. Grandes oportunidades residen en medidas organizativas, que incluyen la elección de modos operativos óptimos y disciplinas de servicio; ambos son implementados por sistemas operativos.

    Los modos de funcionamiento de la PC están determinados principalmente por la cantidad de tareas resueltas en paralelo en la máquina (programas que se implementan). Con base en este criterio, los sistemas operativos se dividen en multitarea y monotarea, que admiten y no admiten procesamiento multiproceso, multiusuario y monousuario, multiprocesador y monoprocesador.

    Según la cantidad de tareas realizadas simultáneamente, se distinguen los sistemas operativos:

    Sistemas operativos de tarea única (MS-DOS, primeras versiones de PS DOS);

    Multitarea (OS/2, UNIX, Windows).

    Los sistemas operativos de tarea única proporcionan al usuario una máquina virtual e incluyen administración de archivos, administración de dispositivos periféricos y herramientas de comunicación con el usuario. Los sistemas operativos multitarea gestionan además la división de recursos compartidos entre tareas. Entre las opciones para implementar la multitarea, existen dos grupos de algoritmos de distribución del tiempo del procesador:

    Multitarea no preventiva (NetWare, Windows 3. x y 9. x);

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

    En el primer caso, al finalizar, el propio proceso activo transfiere el control al sistema operativo para seleccionar otro proceso de la cola. En el segundo, la decisión de cambiar un proceso de un proceso a otro no la toma el proceso activo, sino el sistema operativo.

    La compatibilidad con subprocesos múltiples implica la capacidad de ejecutar algunos comandos del programa casi al mismo tiempo. Un sistema operativo multiproceso divide el tiempo del procesador no entre tareas, sino entre ramas (subprocesos) separados de algoritmos para resolverlas (multitarea dentro de una tarea).

    Según el número de usuarios simultáneos, se distinguen los sistemas operativos:

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

    Multiusuario (UNIX, Windows NT).

    La diferencia entre los sistemas multiusuario es la disponibilidad de medios para proteger la información del usuario del acceso no autorizado.

    El multiprocesamiento implica soporte para el funcionamiento de varios procesadores y es bienvenido en el sistema operativo Solaris 2. x de Sun, OS/2 de IBM, Windows NT de Microsoft, NetWare 4.1. Novell, etc

    Los sistemas operativos multiprocesador se dividen en asimétricos y simétricos. Un sistema operativo asimétrico se ejecuta en uno de los procesadores del sistema, distribuyendo las tareas de la aplicación entre los procesadores restantes. Un sistema operativo simétrico está descentralizado y utiliza todos los procesadores, dividiendo las tareas del sistema y de las aplicaciones entre ellos.

    Es obvio que el sistema operativo de una computadora personal es menos complejo que el sistema operativo de mainframes y supercomputadoras. La diferencia entre un sistema operativo de red y un sistema operativo local es el medio para transmitir datos entre computadoras a través de líneas de comunicación y la implementación de protocolos de transferencia de datos, por ejemplo IP, IPX, etc.

    Además de los sistemas operativos centrados en un tipo específico de plataforma de hardware, existen sistemas operativos móviles que son fácilmente portátiles a diferentes tipos de computadoras. En dichos sistemas operativos (por ejemplo, UNIX), los lugares dependientes del hardware se localizan y se reescriben cuando el sistema se transfiere a una nueva plataforma. La parte independiente del hardware se implementa en un lenguaje de programación de alto nivel en C y se recompila cuando se pasa a otra plataforma.

    La redistribución dinámica de los recursos de la PC entre varias tareas (método de uso colectivo) garantiza una reducción en el tiempo total para resolver varias tareas o una reducción en el tiempo de inicio del procesamiento de la tarea. Ambas cosas con un “dispositivo de servicio”, por ejemplo un procesador o una impresora, se logran aumentando el tiempo necesario para resolver una (cada) tarea. El orden de las tareas en la máquina determina los modos de implementación del método de uso colectivo: procesamiento por lotes y tiempo compartido. El procesamiento por lotes implica resolver varios problemas aproximadamente del mismo modo en que trabaja un profesor durante un examen oral: su atención está ocupada por uno de los estudiantes. Al finalizar la encuesta, la atención pasa a la siguiente (asumimos que atender a los estudiantes es la solución al problema).

    En el modo de tiempo compartido, el proceso de ejecución del programa se divide en ciclos. Dentro de cada ciclo aparece necesariamente la tarea básica para la que está asignado este ciclo (si aún no ha sido resuelta). Los problemas restantes se pueden resolver en el mismo ciclo, si su solución no interfiere con la solución del básico. Los bucles vecinos se asignan para resolver diferentes problemas, por lo que el tiempo necesario para resolver cada uno de ellos aumenta significativamente. Al mismo tiempo, no se pasan más de N-1 ciclos esperando a que se complete la siguiente parte de la tarea (N es el número de ciclos diferentes asignados para resolver N tareas diferentes). Con una elección adecuada de la duración del ciclo, el usuario (debido a su inercia) crea la ilusión de trabajar en tiempo real. El trabajo en tiempo real es un modo de funcionamiento en el que existen restricciones máximas en el tiempo para resolver un problema impuesto por el entorno externo. Para un sistema de control, esto significa que el procesamiento de la información debe realizarse a una velocidad que exceda la velocidad del proceso controlado real, de modo que haya una cierta cantidad de tiempo para tomar decisiones y formular acciones de control apropiadas.

    Es típico de las condiciones de trabajo reales que los momentos en que se reciben las tareas para su procesamiento no estén determinados por la velocidad de funcionamiento del dispositivo de servicio (PC, impresora, etc.), sino por los procesos que ocurren fuera de él. De acuerdo con esto, el dispositivo de mantenimiento debe resolver un determinado conjunto de tareas (respuesta a fallas del equipo, solicitud de comunicación en la red, creación forzada de una copia de seguridad, etc.).

    Con la velocidad finita del dispositivo de servicio, las solicitudes entrantes no se pueden ejecutar inmediatamente, sino que se ponen en cola. El proceso de seleccionar una solicitud del conjunto de aquellas en espera de servicio se llama despacho, y la regla de despacho se llama disciplina de servicio. Existen muchas disciplinas de servicio, por ejemplo, “en orden de llegada” (FIFO – First Input First Output), “en orden inverso” (LIFO – Last Input First Output), etc. Para reducir el tiempo de espera (tiempo de espera) , las solicitudes individuales reciben derechos de prioridad para el servicio, llamado prioridad, que se caracteriza por un número entero positivo. La máxima prioridad se asigna al sistema operativo.

    Entonces, al crear programas de máquinas binarias, es posible que los programadores de aplicaciones ni siquiera conozcan muchos de los detalles de la administración de recursos específicos de un sistema informático, sino que solo necesiten acceder a algún subsistema de software con las llamadas apropiadas y recibir las funciones y servicios necesarios del mismo. Este subsistema de software es el sistema operativo, y el conjunto de sus funciones y servicios, así como las reglas para acceder a ellos, forman el concepto básico que llamamos entorno operativo. Podemos decir que el término "entorno operativo" significa las interfaces correspondientes necesarias para que los programas y usuarios accedan a la parte de control (supervisión) del sistema operativo para obtener ciertos servicios.

    Hay muchas funciones del sistema; determinan las capacidades que el sistema operativo proporciona a las aplicaciones que se ejecutan bajo su control. Este tipo de solicitudes del sistema (llamadas a operaciones o funciones del sistema) las escriben explícitamente los programadores en el texto del programa o las inserta automáticamente el propio sistema de programación en la etapa de traducción del texto fuente del programa que se está desarrollando. Cada sistema operativo tiene su propia variedad de características del sistema; se llaman en consecuencia, de acuerdo con las reglas aceptadas en el sistema. El conjunto de llamadas al sistema y las reglas según las cuales deben usarse definen con precisión la interfaz de programación de aplicaciones (API). Obviamente, un programa diseñado para ejecutarse en un sistema operativo probablemente no funcionará en otro sistema operativo, ya que las API de esos sistemas operativos son diferentes. Para intentar superar esta limitación, los desarrolladores de sistemas operativos comenzaron a crear los llamados entornos de software. El entorno de software (sistema) debe entenderse como un determinado entorno de software del sistema que le permite cumplir con todas las solicitudes del sistema desde el programa de aplicación. El entorno de software del sistema que está formado directamente por el código del sistema operativo se denomina entorno principal, natural o nativo. Además del entorno operativo principal, se pueden organizar entornos de software adicionales en el sistema operativo (emulando otro entorno operativo). Si el sistema operativo organiza el trabajo con varios entornos operativos, entonces en dicho sistema es posible ejecutar programas creados no solo para este, sino también para otros sistemas operativos. Podemos decir que los programas se crean para funcionar en un entorno operativo determinado. Por ejemplo, puede crear un programa para ejecutar en el entorno DOS. Si dicho programa realiza todas las funciones relacionadas con operaciones de E/S y solicitudes de memoria no por sí solo, sino accediendo a las funciones del sistema DOS, entonces (en la gran mayoría de los casos) se ejecutará con éxito tanto en MS DOS como en PS. DOS, Windows 9x, Windows 2000, OS/2 e incluso Linux.

    Así, la existencia paralela de los términos “sistema operativo” y “entorno operativo” se debe a que un sistema operativo puede soportar varios entornos operativos. Casi todos los sistemas operativos modernos de 32 bits creados para computadoras personales admiten múltiples entornos operativos. Así, el sistema operativo OS/2 Warp, que en su momento fue uno de los mejores en este sentido, puede ejecutar los siguientes programas:

    Programas básicos creados teniendo en cuenta la correspondiente interfaz de programación "nativa" de 32 bits de este sistema operativo;

    Programas de 16 bits creados para sistemas OS/2 de primera generación;

    Aplicaciones de 16 bits diseñadas para ejecutarse en el sistema operativo MS DOS o PS DOS;

    Aplicaciones de 16 bits creadas para el entorno operativo Windows 3. x;

    El shell operativo en sí es Windows 3. x y ya contiene programas creados para él.

    Y el sistema operativo Windows XP permite ejecutar, además de las aplicaciones principales creadas con Win32API, aplicaciones de 16 bits para Windows 3. x, aplicaciones DOS de 16 bits, aplicaciones de 16 bits para la primera versión de OS/2.

    El entorno operativo puede incluir varias interfaces: usuario y software. Si hablamos de usuarios, entonces, por ejemplo, el sistema Linux tiene para el usuario ambas interfaces de línea de comando (puede usar varios "shells" - shell), como Norton Commander, por ejemplo X-Window con varios administradores de ventanas - KDE, Gnome, etc. Si hablamos de interfaces de software, entonces en los mismos sistemas operativos con el nombre general Linux, los programas pueden acceder tanto al sistema operativo para los servicios y funciones correspondientes como al subsistema de gráficos (si se utiliza). Desde el punto de vista de la arquitectura del procesador (y de la computadora personal en general), un programa binario creado para ejecutarse en un entorno Linux utiliza los mismos comandos y formatos de datos que un programa creado para ejecutarse en un entorno Windows NT. Sin embargo, en el primer caso tenemos acceso a un entorno operativo y en el segundo a otro. Y un programa escrito directamente para Windows no se ejecutará en Linux; Si se organiza un entorno operativo Windows completo en el sistema operativo Linux, entonces se puede ejecutar nuestro programa de Windows. En general, el entorno operativo es el entorno de software del sistema en el que se pueden ejecutar los programas creados de acuerdo con las reglas de funcionamiento de este entorno.

    Conclusión

    Entonces, el sistema operativo realiza las funciones de administrar cálculos en una computadora, distribuye los recursos del sistema informático entre varios procesos informáticos y forma el entorno de software en el que se ejecutan las aplicaciones del usuario. Este entorno se denomina entorno operativo. Esto último debe entenderse en el sentido de que cuando se inicia el programa, se pondrá en contacto con el sistema operativo con las solicitudes apropiadas para realizar determinadas acciones o funciones. El sistema operativo realiza estas funciones iniciando módulos de software del sistema especiales que forman parte de él.

    Actualmente, alrededor del 90% de los ordenadores personales utilizan el sistema operativo Windows, que tiene una serie de ventajas y ha obligado a los competidores a abandonar este segmento del mercado. Una clase más amplia de sistema operativo está destinada a su uso en servidores. Esta clase de sistemas operativos incluye: la familia Unix, desarrollos de Microsoft, productos de red de Novell e IBM Corporation.

    Los recursos informáticos incluyen: procesadores, memoria, unidades de disco, comunicaciones de red, impresoras y otros dispositivos. La función del sistema operativo es distribuir racionalmente estos recursos entre procesos para garantizar la máxima eficiencia de la computadora.

    Lista de literatura usada

    Gordeev A.V. Sistemas operativos: Libro de texto para universidades 2ª ed. – San Petersburgo: Peter, 2005.

    Fundamentos de la informática: libro de texto. subsidio / A.N. Morozevich, N.N. Goviadinova, V.G. Levashenko y otros; Editado por A.N. Morozevich. – 2ª ed., rev. – Mn.: Nuevos conocimientos, 2003.

    Evsyukov V.V. Informática económica: Proc. manual - Tula: Editorial "Graf and K", 2003.

    Informática en economía: Proc. manual / ed. profe. SER. Odintsova, Prof. A.N. Romanova. – M.: Libro de texto universitario, 2008.



    
    Arriba