lunes, 10 de mayo de 2021

El Sistema Operativo - Resumen Corto

 

 





El Sistema Operativo

-------------------  ---------------------  ----------------------


Un sistema operativo ( SO ) es el software básico de una computadora y asigna los diversos recursos de la computadora a otros programas. Un tipo de recurso son los dispositivos externos , como una impresora . El sistema operativo asegura, por ejemplo, que dos programas no envíen información a la misma impresora al mismo tiempo, sino que se colocan en una lista de espera antes de imprimir. Otro tipo de recurso son los dispositivos internos como la memoria y los procesadores . Estos son componentes muy básicos de los que el sistema operativo también realiza un seguimiento.


  • Se puede considerar que el software es de dos tipos: software de aplicación o software del sistema . El software de aplicación es como procesadores de texto, hojas de cálculo y otros programas con los que el usuario tiene contacto directo.

  • Del software del sistema, el sistema operativo es el más importante. Realiza un seguimiento de los recursos del sistema y facilita el trabajo del programador y los usuarios.


Los dispositivos adicionales conectados a la computadora a menudo son complicados de usar. Un disco duro , por ejemplo, necesita instrucciones detalladas sobre cómo arrancar el motor, detenerlo, mover los cabezales de lectura y mucho más.

El sistema operativo utiliza el disco duro comunicándose de forma estándar con un programa controlador diseñado específicamente para el dispositivo. Otro programa que quiere escribir algo en el disco duro solo le dice al sistema operativo que, por ejemplo, "escriba el texto 'cono' en el archivo 'cone.txt' en el directorio c: \». El sistema operativo, en colaboración con el programa del controlador, se encarga del resto de la tarea.


El sistema operativo es un programa como cualquier otro en la computadora. Está escrito en un lenguaje de programación y sigue reglas comunes para los programas. La diferencia es que es lo primero que se carga en la memoria cuando se inicia la máquina, y controla el "diario" de todos los programas que se cargan posteriormente.



Sistema operativo común


Microsoft Windows es uno de los sistemas operativos de computadoras personales más utilizados. Sus predecesores llegaron a principios de la década de 1980 con MS-DOS de Microsoft y DR-DOS de Digital Research. La abreviatura DOS significa Disk Operating System .


Unix es uno de los sistemas operativos más antiguos que todavía se utilizan. El sistema operativo gratuito Linux también se usa para computadoras personales, pero especialmente para servidores , supercomputadoras y electrónica de consumo. Linux es una variante de Unix. Otras variantes de Unix incluyen Berkeley Software Distribution (BSD).


IBM tuvo un período de éxito con su OS / 2 , y las computadoras Macintosh usan Mac OS (anteriormente llamado simplemente el sistema ). Sin embargo, las Mac más nuevas ejecutan Mac OS X , que está basado en BSD.


Detalles del S.O.


Un sistema informático moderno consta de componentes como procesadores , memoria principal, relojes, dispositivos de entrada y salida, dispositivos de almacenamiento y más. El sistema operativo realiza un seguimiento de los componentes y les da acceso a los programas de aplicación. De esta manera, no todos los programadores necesitan conocer los detalles del uso de dispositivos a menudo complejos, o cómo un programa debe compartirlos con otros programas. El sistema operativo puede verse como una capa que separa el software de la aplicación del hardware, a menudo más complejo.


Diferentes computadoras usan diferentes tipos de hardware . Una aplicación escrita en un tipo de computadora no necesariamente se ejecutará en otro. Sin embargo, se puede encontrar un sistema operativo para varios tipos de máquinas, lo que hace que el sistema operativo funcione como una plataforma común que puede utilizar el desarrollador de una aplicación, sin pensar en los diferentes tipos de hardware que pueda tener el usuario.


Sistemas operativos conocidos


Los sistemas operativos se pueden agrupar de varias formas. Uno de ellos es por área de uso. Las grandes máquinas tienen sistemas operativos que se adaptan a su uso, sus mini-máquinas y servidores tienen sus sistemas operativos. Todos ellos tienen en común que no tienen como foco la interacción con el usuario. En los escritorios y en las casas particulares encontramos lo que antes se llamaba microcomputadoras , más tarde se llamaron ordenadores domésticos y luego PC . Estos tienen sus propios sistemas operativos y, desde finales de la década de 1980 , los sistemas operativos de Microsoft se convirtieron en el líder del mercado. Los dispositivos de mano, como PDA y teléfonos móviles, tienen sistemas operativos especialmente adaptados al hardware. Otra categoría de sistemas operativos son los sistemas operativos en tiempo real . Estos últimos ofrecen servicios donde garantizan tiempo de respuesta. Algunos ejemplos son la computadora que controla el encendido y el suministro de combustible en un automóvil moderno.


Además de los sistemas mencionados, que son los más conocidos, también existen varios sistemas operativos alternativos. Entre estos encontramos BeOS , que ya no se está desarrollando, pero hay varios sistemas operativos nuevos en desarrollo que son clones o inspirados en BeOS, uno de estos es Haiku . Otros sistemas operativos alternativos en desarrollo son Syllable y SkyOS .


También el teléfono móvil de gran innovación tecnológica contemporánea utiliza el sistema operativo. En el pasado, estos eran bastante primitivos, pero a medida que los teléfonos móviles se han vuelto más potentes y tienen más usos, los sistemas operativos de los teléfonos móviles también se han desarrollado más. Esto es especialmente algo que ha llegado al mismo tiempo que la pantalla a color y los teléfonos con cámara. Ejemplos de sistemas operativos móviles son: Symbian , Windows CE , Linux , Android , IOS



Conceptos básicos


Un concepto básico dentro de todos los sistemas operativos es el proceso .

Un proceso es básicamente un programa que se ejecuta. Tiene su código ejecutable, sus datos y pila , su contador de programa y otros registros y toda la otra información que necesita para ejecutarse.

El sistema operativo gestiona los procesos, principalmente al crearlos y finalizarlos. A veces, un proceso puede crear otros procesos, llamados hijos . Los procesos se comunican entre sí mediante señales . Un proceso que está esperando que suceda algo, como una impresora que hace su trabajo, puede entrar en suspensión y el sistema operativo lo vuelve a ponderar cuando el hardware recibe una señal de interrupción.

En un sistema multiusuario, cada usuario tiene la propiedad de sus propios procesos, lo que puede ayudar a controlar qué tipo de señales pueden enviarse entre sí los procesos del sistema.


Otro concepto básico son los archivos . El sistema operativo controla la apertura y el cierre, la eliminación y la escritura de archivos. La mayoría de los directorios de soporte de los sistemas operativos actuales sirven para agrupar archivos. Tanto los procesos como los archivos están agrupados jerárquicamente, pero si bien los archivos tienen una larga vida (días, meses y años), los procesos a menudo se crean y destruyen en segundos. Cada proceso tiene su propia área de trabajo, es decir, el directorio en el que el proceso busca básicamente archivos que no tienen un nombre de archivo completo. El sistema operativo también realiza un seguimiento del estado de los archivos además del contenido y la ubicación en sí. Por ejemplo, los archivos en Unix tienen un conjunto de estados booleanos llamados RWX, donde R es el derecho a leer el archivo, W es el derecho a escribir en el archivo y X es el derecho a ejecutar el archivo (es decir, si se considera un programa). Para los directorios, X significa el derecho a mostrar contenido. Los archivos son propiedad de un propietario y un grupo, y hay un conjunto de modos RWX para el propietario, el grupo, además de estos, así como un conjunto que especifica las propiedades especiales. Esto asegura que los diferentes usuarios y sus procesos no se pisoteen unos a otros.

A menudo, los dispositivos externos también se representan como archivos, para facilitar el trabajo de los programadores. Hay dos tipos de archivos de este tipo, con escritura de bloques y escritura de caracteres . La escritura en bloque se utiliza para modelar dispositivos en los que uno puede moverse hacia adelante y hacia atrás y leer y escribir arbitrariamente, como un disco duro. La escritura de caracteres significa que uno debe leer y escribir en un cierto orden, como para un escritor.

El último archivo especial es una pipe (inglés para tuberías ). Esto conecta dos procesos, de modo que mientras un proceso escribe en la tubería como si fuera un archivo, otro proceso lee de él, también como si fuera un archivo.


Los programas de los usuarios se comunican con el sistema operativo y solicitan servicios mediante llamadas al sistema . Para el programador, esto parece una llamada a un procedimiento normal, mientras que el sistema operativo ejecuta sus funciones básicas basándose en la llamada. Algunos ejemplos son la creación de procesos, la asignación de memoria y el procesamiento de dispositivos externos.


Interacción con el usuario


El usuario de una computadora normalmente se comunica con la computadora a través de la interfaz de usuario de una aplicación. Pero antes de que la aplicación pueda ejecutarse, el usuario debe poder iniciarla. Es posible que el usuario también deba iniciar sesión en el sistema antes de ejecutar cualquier programa. Por lo tanto, el usuario también debe poder dar comandos directamente al sistema operativo.


La interfaz de usuario del sistema operativo maneja la interacción del usuario . Hay dos formas principales de hacer esto, ya sea usando comandos de texto en un shell del sistema o usando una interfaz gráfica de usuario (GUI). Las interfaces gráficas de usuario requieren poca formación por parte del usuario y son relativamente fáciles de aprender, pero utilizan más recursos del sistema que los comandos de un shell.


Histórica y estrictamente técnicamente, la interfaz de usuario no pertenece al sistema operativo, pero utiliza el sistema operativo en gran medida y, a menudo, se menciona junto con el sistema operativo cuando se habla de él. Actualmente, varios sistemas operativos modernos de la familia Unix, como Linux y Solaris, se pueden entregar con interfaces gráficas completamente diferentes, tanto basadas en X11 como otras.



A través de una línea de comando, el usuario da comandos a través de comandos concisos y parcialmente crípticos.


Arquitectura


Por arquitectura se entiende la estructura general de cómo se construye el sistema operativo. Un pequeño número de arquitecturas domina el campo. En 2006, Linux y Windows usaron un kernel monolítico , mientras que Mac OS X se basó en Mach y usó un micronúcleo .


Sistemas monolíticos


La arquitectura más común es un sistema monolítico . Aquí no hay una estructura específica, ya que toda la funcionalidad del sistema operativo está en un solo programa. Para crear el sistema operativo ejecutable real, todos los archivos de código fuente individuales se compilan y se vinculan en un solo archivo ejecutable. La interfaz con el sistema operativo se escribe luego como una serie de procedimientos y el software de aplicación llama a los procedimientos. Cuando se llama al sistema operativo, el modo de funcionamiento de la computadora cambia del modo de usuario, donde el software tiene una serie de limitaciones, al modo de núcleo, donde el sistema operativo tiene acceso a todas las instrucciones y dispositivos externos.


Los sistemas monolíticos generalmente han dividido los procedimientos en varios tipos o capas. Uno tiene el procedimiento principal, que se llama los diversos servicios . Los servicios consisten en procedimientos que realizan llamadas al sistema. Los servicios utilizan varias funciones de ayuda , que contienen funciones utilizadas a su vez por otros varios servicios. [29]


La ventaja de los sistemas monolíticos es que el rendimiento es algo mejor. Las desventajas incluyen que ocupan más espacio. Los núcleos monolíticos modernos como Linux, FreeBSD y Solaris pueden cargar componentes en la memoria mientras se ejecuta el sistema operativo, lo que reduce el requisito de tamaño. Los ejemplos más antiguos de núcleos monolíticos son MS-DOS y Mac OS hasta la versión 8.6. Un ejemplo de un sistema operativo para uso educativo que utiliza un núcleo monolítico es Agnix .


Sistemas jerárquicos


5 El usuario

4 Programas de usuario

3 Control de entrada / salida

2 Proceso de usuario de comunicación

1 Controlar la memoria y el almacenamiento fijo

0 Asignación de procesadores y multiprogramación


Una generalización de la estratificación implica la creación de una jerarquía. En una arquitectura en capas , esto se hace formalmente y cada capa se basa en la capa que está debajo. La primera estructura en capas provino del sistema operativo THE , desarrollado por Edsger Dijkstra y sus estudiantes a fines de la década de 1960.


Donde THE usó capas como ayuda en el desarrollo (todo estaba vinculado en un archivo ejecutable de todos modos), MULTICS usó un sistema de anillos, donde los anillos montados en la superficie tenían menos derechos que los internos, y esta estructura estaba respaldada por el hardware subyacente.


Sistemas cliente-servidor


Una tercera arquitectura se llama cliente-servidor o micro-core . Lleva la estratificación un paso más allá. Aquí, la mayor parte de la funcionalidad posible se mueve del sistema operativo y el resto se llama kernel . Gran parte de la funcionalidad se implementa aquí en los procesos de usuario. Una aplicación (el cliente) que necesita utilizar un servicio, por ejemplo, para leer un archivo, envía una solicitud al proceso del servidor, que hace el trabajo y envía una respuesta. Idealmente, todo lo que hace el núcleo es manejar la comunicación entre clientes y servidores. De esta forma, el núcleo se vuelve pequeño y manejable.


      • En informática, un núcleo o kernel (de la raíz germánica Kern, núcleo, hueso) es un software que constituye una parte fundamental del sistema operativo, y se define como la parte que se ejecuta en modo privilegiado (conocido también como modo núcleo). Es el principal responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma básica, es el encargado de gestionar recursos, a través de servicios de llamada al sistema.


Una ventaja del modelo cliente-servidor es que una falla en un componente puede causar un bloqueo de ese servicio, pero generalmente no hará que se detenga toda la máquina. Otra ventaja es que el modelo cliente-servidor se puede adaptar más fácilmente para su uso en sistemas distribuidos.

Ejemplos de sistemas modernos de micro-núcleo incluyen QNX , Mach y más tarde Mac OS X. Un ejemplo de un sistema operativo con fines didácticos que tiene un micro-núcleo es Amoeba .


La diversidad de sistemas operativos y compatibilidad.


El software generalmente está escrito para su uso en un sistema operativo en particular y, a veces, también para hardware específico. Cuando el programa se transfiere para ejecutarse en otro sistema operativo, la funcionalidad que requiere el programa puede ser implementada de manera diferente por el otro sistema (nombre de las funciones, significado de los argumentos, etc.) Esto requiere que el programa deba adaptarse, cambiarse o mantenerse de otro modo .


El costo de brindar soporte para múltiples sistemas operativos se puede evitar escribiendo programas en una plataforma de software como Java o Qt para navegadores. Estas abstracciones ya han asumido el costo de adaptarse a sistemas operativos específicos y sus bibliotecas de sistema .


Drivers – Controladores


Los controladores son programas intermediarios entre el sistema operativo y los dispositivos de hardware, que se utilizan para enviar y recibir datos entre ellos.











--------------------------------------------------- -------------------- ------------------------




Bibliografía:

Enciclopedia Moderna, Enciclopedia Britanica® 2011
Nueva Enciclopedia Tematica Grolier 2012
Enciclopedia Microsoft® Encarta® 2009.
https://www.ecured.cu 
www.wikipedia.org
 Enciclopedia de Conocimientos Fundamentales - UNAM - Siglo XXI

--------------------------  -----------------------
 

No hay comentarios:

Publicar un comentario