Diferencia entre revisiones de «Sistema operativo»

(Fuentes)
(Etiqueta: nuestro-nuestra)
(Familia Windows)
(Etiquetas: nuestro-nuestra, revisar proyecto)
 
(No se muestran 39 ediciones intermedias de 24 usuarios)
Línea 1: Línea 1:
{{Aplicación|nombre=Sistemas Operativos|logo=Sistemas_Operativos.jpg|descripcion=Sistemas Operativos|creador=|fecha_de_creacion=|sitio_web=}}
+
{{Ficha Software
<div align="justify">En el artículo '''Sistemas Operativos''' se define el concepto de Sistemas Operativos, [[Historia]] y evolución, características, tipos, componentes, tareas, funciones y la necesidad de la existencia de programas que permitan que el hardware funcione y dentro de estos un programa&nbsp; rector que controla todas las funciones, el [[Sistema Operativo|Sistema Operativo]]. La utilidad y empleo de los Sistemas Operativos de [[Código Abierto]] como alternativa a las limitaciones y ejemplos de Sistemas Operativos.<div><br>
+
| nombre = Sistema operativo
== Introducción<br>  ==
+
| familia =
<div align="justify">En el inicio de la [[Computación]] el [[Programador]] debía tener un conocimiento y contacto profundo con el [[Hardware]], y en el infortunado caso de que su programa fallara, debía examinar los valores de los registros y páneles de luces indicadoras del estado de la [[Computadora|computadora]] para determinar la causa del fallo y poder corregir su [[Programa]], además de enfrentarse nuevamente a los procedimientos de apartar tiempo del [[Sistema|sistema]] y poner a punto los [[Compiladores]], ligadores, etc; para volver a correr su programa.<div><div align="justify">[[La importancia de los Sistemas Operativos|La importancia de los Sistemas Operativos]] nace históricamente desde los 50's, cuando se hizo evidente que el operar una computadora por medio de tableros enchufables en la primera [[Generación]] y luego por medio del trabajo en lote en la segunda generación se podía mejorar notoriamente, pues el operador realizaba siempre una secuencia de pasos repetitivos, lo cual es una de las características contempladas en la definición de lo que es un programa. Es decir, se comenzó a ver que las tareas mismas del operador podían plasmarse en un programa, el cual a través del tiempo y por su enorme complejidad se le llamó "Sistema Operativo". Así, tenemos entre los primeros sistemas operativos al [[Fortran]] [[Monitor]] System ( FMS ) e IBSYS.<br><div align="justify"><div align="justify">Todo sistema de cómputo se puede dividir, en forma general, en dos partes: hardware (aseguramiento técnico) y software (aseguramiento de programas). El software hace útil al hardware y puede dividirse en dos clase: los programas del sistema (software de base) que manejan la operación de la computadora, y el [[Software]] de aplicación que realiza acciones útiles a los usuarios. Entre los programas del sistema se pueden mencionar: sistemas de operación (los más importantes de todo el conjunto), [[Compiladores]], [[Intérpretes]], [[Editores]], etc Para que funcionen los otros programas, cada ordenador de uso general debe tener un sistema operativo.<div>
+
| imagen = Foto_de_sistema_operativo.JPG
== Historia y Evolución <br>  ==
+
| tamaño = 400 px
<div align="justify">Los Sistemas Operativos han estado relacionados históricamente con la [[Arquitectura de las computadoras]] en las cuales se ejecutan, razón por la cual su historia. Los Sistemas Operativos, al igual que el Hardware de los computadores, han sufrido una serie de cambios revolucionarios llamados generaciones. En el caso del [[Hardware|Hardware]], las generaciones han sido marcadas por grandes avances en los componentes utilizados, pasando de [[Válvulas]] (primera generación ) a [[Transistores|transistores]] (segunda generación), a [[Circuitos integrados|circuitos integrados]] (tercera generación), a circuitos integrados de gran y muy gran escala (cuarta generación). Cada generación Sucesiva de hardware ha ido acompañada de reducciones substanciales en los costos, tamaño, [[Emisión de calor|emisión de calor]] y consumo de [[Energía|energía]], y por incrementos notables en velocidad y capacidad. En la actualidad existe gran variedad de Sistemas Operativos como pueden ser [[Windows 98]], [[Windows NT]], [[Linux]], etc. <br><div>
+
| descripción = Los sistemas operativos más conocidos
=== Primera Generación (Finales de la década de los 50's)<br>  ===
+
| imagen2 =
<div align="justify">En esta década aparecen los sistemas de [[Procesamiento por lotes|procesamiento por lotes]], donde los trabajos se reunían por grupos o lotes. Cuando se ejecutaba alguna tarea, ésta tenía control total de la máquina. Al terminar cada tarea, el&nbsp; control era devuelto al sistema operativo, el cual limpiaba, leía e iniciaba la siguiente tarea. Aparece el concepto de nombres de [[Archivo del sistema|archivo del sistema]] para lograr independencia de información. Los laboratorios de investigación de [[General Motors|General Motors]] poseen el crédito de haber sido los primeros en poner en operación un sistema operativo para su [[IBM 701|IBM 701]]. </div>
+
| tamaño2 =
=== Segunda Generación (Mitad de la década de los 60's)<br>  ===
+
| descripción2 =
<div align="justify">En esta generación se desarrollan los [[Sistemas compartidos|sistemas compartidos]] con [[Multiprogramación|multiprogramación]], en los cuales se utilizan varios procesadores en un solo sistema, con la finalidad de incrementar el poder de procesamiento de la máquina. El [[Programa|programa especificaba]] tan sólo que un [[Archivo|archivo]] iba a ser escrito en una unidad de cinta con cierto número de [[Pistas|pistas y]] cierta densidad. El sistema operativo localizaba entonces una unidad de cinta disponible con las características deseadas, y le indicaba al operador que montara una cinta en esa [[Unidad|unidad]].<div align="justify">
+
| desarrollador =
=== Tercera Generación  ===
+
| modelo de desarrollo =
<div align="justify">En esta época surge la familia de [[Computadores IBM/360|computadores IBM/360 diseñados]] como sistemas para uso general, por lo que requerían manejar grandes volúmenes de información de distinto tipo, lo cual provocó una nueva evolución de los sistemas operativos: los sistemas de modos múltiples, que soportan simultáneamente [[Procesos por lotes,|procesos por lotes,]] [[Tiempo compartido|tiempo compartido]], procesamiento en [[Tiempo real|tiempo real]] y [[Multiprocesamiento|multiprocesamiento]].<div>
+
| lanzamiento inicial =
=== Cuarta Generación (Mitad de la década de los 70's hasta nuestros días)<br>  ===
+
| última versión estable =
<div align="justify">Los sistemas operativos conocidos en la [[Época actual|época actual]] son los considerados sistemas de cuarta generación. Con la ampliación del uso de [[Redes de computadoras|redes de computadoras]] y del procesamiento en línea es posible obtener acceso a computadoras alejadas geográficamente a través de varios tipos de [[Terminales|terminales]]. Con estos sistemas operativos aparece el concepto de [[Máquinas virtuales|máquinas virtuales]], en el cual el usuario no se involucra con el hardware de la computadora con la que se quiere conectar y en su lugar el usuario observa una interfaz gráfica creada por el sistema operativo.<br><div>
+
| núcleo =
== Sistema Operativo <br>  ==
+
| tipo de núcleo =
<div align="justify">Un sistema operativo es un conjunto de programas o [[Software|software]], destinado a permitir la comunicación entre el usuario y la máquina de forma cómoda y eficiente; se encarga de gestionar los recursos del [[Ordenador|ordenador]], esto incluye la [[Gestión del hardware|gestión del hardware]] desde los niveles más básicos.<br><div align="justify">
+
| plataformas soportadas =
== Componentes del Sistema Operativo<br>  ==
+
| idioma =
<div align="justify">El sistema operativo está compuesto por un conjunto de [[Paquetes de software|paquetes de software]] que pueden utilizarse para gestionar las interacciones con el hardware. Estos elementos se incluyen por lo general en este conjunto de software: <br>• El núcleo, que representa las [[Funciones básicas del sistema operativo|funciones básicas del sistema operativo]], como por ejemplo, la gestión de la [[Memoria|memoria]], de los procesos, de los archivos, de las entradas/salidas principales y de las funciones de [[Comunicación|comunicación]]. <br>• El intérprete de comandos, que posibilita la comunicación con el sistema operativo a través de un lenguaje de control, permitiendo al usuario controlar los [[Periféricos|periféricos]] sin conocer las [[Características del hardware|características del hardware]] utilizado, la gestión de las direcciones físicas, etcétera. <br>• El [[Sistema de archivos|sistema de archivos]], que permite que los archivos se registren en una estructura arbórea.<br><div>
+
| licencia =
[[Image:Componentes Sistemas Operativos.PNG|thumb|left]]<br>
+
| premios =
 +
| web =
 +
}}
  
<br>
+
'''Un sistema operativo''' ('''SO''') es el [[programa informático|programa]] o conjunto de programas que efectúan la gestión de los procesos básicos de un [[sistema informático]] y permite la normal ejecución del resto de las operaciones.
  
<br>
+
== Introducción ==
  
<br>
+
En el inicio de la [[computación]] el programador debía tener un conocimiento y contacto profundo con el [[hardware]], y en el infortunado caso de que su programa fallara, debía examinar los valores de los registros y paneles de luces indicadoras del estado de la [[computadora]] para determinar la causa del fallo y poder corregir su programa, además de enfrentarse nuevamente a los procedimientos de apartar tiempo del sistema y poner a punto los [[compilador]]es, ligadores, etc. para volver a correr el programa.
  
<br>
+
La importancia de los sistemas operativos nace históricamente desde los años 1950, cuando se hizo evidente que el operar una computadora por medio de tableros enchufables en la primera generación y luego por medio del trabajo en lote en la segunda generación, se podía mejorar notoriamente, pues el operador realizaba siempre una secuencia de pasos repetitivos, lo cual es una de las características contempladas en la definición de lo que es un programa. Es decir, se comenzó a ver que las tareas mismas del operador podían plasmarse en un programa, el cual a través del tiempo y por su enorme complejidad se le llamó «sistema operativo». Así, entre los primeros sistemas operativos se encuentra el Fortran Monitor System (FMS) y el IBSYS.
  
<br>
+
Todo sistema de cómputo se puede dividir, en forma general, en dos partes:
 +
* el [[hardware]] (la parte material o mecánica de la computadora) y
 +
* el [[software]] (los programas que hacen funcionar a la computadora).
 +
El software hace útil al hardware y puede dividirse en dos clase:
 +
* el software de base (los programas que hacen que funcione la computadora) que manejan la operación de la computadora, y
 +
* el software de [[aplicación (informática)|aplicaciones]], que realiza acciones útiles a los usuarios.
  
<br>
+
Entre los programas del sistema se pueden mencionar:
 +
* sistemas de operación (los más importantes de todo el conjunto),
 +
* [[compiladores]],
 +
* [[intérprete (informática)|intérpretes]],
 +
* [[editor gráfico (informática)|editores]], etc.
 +
Para que funcionen los otros programas, cada computadora de uso general debe tener un sistema operativo.
  
== Los Sistemas Operativos son una interfaz con: <br>  ==
+
== Historia y evolución ==
  
• [[Operadores|Operadores]].<br>• [[Programadores de aplicaciones|Programadores de aplicaciones]].<br>• [[Programadores de sistemas|Programadores de sistemas]] (administradores del S. O.).<br>• [[Programas|Programas]].<br>• [[Hardware|Hardware]].<br>• [[Usuarios|Usuarios]].<br>
+
Los sistemas operativos han estado relacionados históricamente con la arquitectura de las computadoras en las cuales se ejecutan, razón por la cual su historia. Los sistemas operativos, al igual que el hardware de las computadoras, han sufrido una serie de cambios revolucionarios llamados generaciones.
  
== Funciones de los Sistemas Operativos. <br>  ==
+
En el caso del hardware, las generaciones han sido marcadas por grandes avances en los componentes utilizados, pasando de [[válvulas]] (primera generación) a [[transistores]] (segunda generación), a [[circuitos integrados]] (tercera generación), a circuitos integrados de gran escala y de muy gran escala (cuarta generación).
  
• [[Administración del procesador|Administración del procesador]]: el sistema operativo administra la distribución del procesador entre los distintos programas por medio de un [[Algoritmo de programación|algoritmo de programación]]. El tipo de programador depende completamente del sistema operativo, según el objetivo deseado. <br>• [[Gestión de la memoria de acceso aleatorio|Gestión de la memoria de acceso aleatorio]]: el sistema operativo se encarga de gestionar el espacio de memoria asignado para cada aplicación y para cada usuario, si resulta pertinente. Cuando la [[Memoria física|memoria física]] es insuficiente, el sistema operativo puede crear una zona de memoria en el disco duro, denominada "memoria virtual". La [[Memoria virtual|memoria virtual permite]] ejecutar aplicaciones que requieren una memoria superior a la [[Memoria RAM|Memoria RAM]] disponible en el sistema. Sin embargo, esta memoria es mucho más lenta. <br>• [[Gestión de entradas/salidas|Gestión de entradas/salidas]]: el sistema operativo permite unificar y controlar el acceso de los programas a los recursos materiales a través de los [[Drivers|drivers]] (también conocidos como administradores periféricos o de entrada/salida). <br>• [[Gestión de ejecución de aplicaciones|Gestión de ejecución de aplicaciones]]: el sistema operativo se encarga de que las aplicaciones se ejecuten sin problemas asignándoles los recursos que éstas necesitan para funcionar. Esto significa que si una aplicación no responde correctamente puede "sucumbir". <br>• [[Administración de autorizaciones|Administración de autorizaciones]]: el sistema operativo se encarga de la seguridad en relación con la ejecución de programas garantizando que los recursos sean utilizados sólo por programas y usuarios que posean las autorizaciones correspondientes. <br>• [[Gestión de archivos|Gestión de archivos]]: el sistema operativo gestiona la lectura y escritura en el sistema de archivos, y las autorizaciones de acceso a archivos de aplicaciones y usuarios. <br>• [[Gestión de la información|Gestión de la información]]: el sistema operativo proporciona cierta cantidad de indicadores que pueden utilizarse para diagnosticar el funcionamiento correcto del equipo. <br>
+
Cada generación sucesiva de hardware ha ido acompañada de reducciones substanciales en los costos, tamaño, emisión de calor y consumo de energía, y por incrementos notables en velocidad y capacidad. En la actualidad existe gran variedad de sistemas operativos como pueden ser [[Windows&nbsp;98]], [[Windows&nbsp;NT]], [[Linux]], etc.
  
== Características de los Sistemas Operativos.<br>  ==
+
=== Primera generación (finales de los años 1950) ===
  
• Conveniencia. Un Sistema Operativo hace más conveniente el uso de una computadora. <br>• Eficiencia. Un Sistema Operativo permite que los [[recursos|recursos]] de la computadora se usen de la manera más eficiente posible. <br>• Habilidad para evolucionar. Un Sistema Operativo deberá construirse de manera que permita el desarrollo, prueba o introducción efectiva de nuevas funciones del sistema sin interferir con el servicio. <br>• Encargado de [[administrar el hardware|administrar el hardware]]. El Sistema Operativo se encarga de manejar de una mejor manera los recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada proceso una parte del procesador para poder compartir los recursos. <br>• Relacionar [[dispositivos|dispositivos]] (gestionar a través del kernel). El Sistema Operativo se debe encargar de comunicar a los dispositivos [[periféricos|periféricos]], cuando el usuario así lo requiera. <br>• Organizar datos para acceso rápido y seguro. <br>• Manejar las [[comunicaciones en red|comunicaciones en red]]. El Sistema Operativo permite al usuario manejar con alta facilidad todo lo referente a la instalación y uso de las redes de computadoras. <br>• Procesamiento por [[bytes|bytes]] de flujo a través del [[bus de datos|bus de datos]]. <br>• Facilitar las entradas y salidas. Un Sistema Operativo debe hacerle fácil al usuario el acceso y manejo de los dispositivos de [[Entrada/Salida de la computadora|Entrada/Salida de la computadora]]. <br>• [[Técnicas de recuperación de errores|Técnicas de recuperación de errores]]. <br>• Evita que otros usuarios interfieran. El Sistema Operativo evita que los usuarios se bloqueen entre ellos, informándoles si esa aplicación esta siendo ocupada por otro usuario. <br>• Generación de estadísticas. <br>• Permite que se puedan compartir el hardware y los datos entre los usuarios.<br>
+
En esta década aparecen los sistemas de procesamiento por lotes, donde los trabajos se reunían por grupos o lotes. Cuando se ejecutaba alguna tarea, ésta tenía control total de la máquina. Al terminar cada tarea, el control era devuelto al sistema operativo, el cual limpiaba, leía e iniciaba la siguiente tarea. Aparece el concepto de nombres de archivo del sistema para lograr independencia de información. Los laboratorios de investigación de la empresa [[General Motors]] poseen el crédito de haber sido los primeros en poner en operación un sistema operativo para su [[IBM|IBM&nbsp;701]].
  
== Sistema Operativo como administrador de recursos<br>  ==
+
=== Segunda generación (mitad de los años 1960) ===
<div align="justify">La otra tarea de un sistema operativo consiste en administrar los recursos de un [[computador |computador ]]cuando hay dos o más programas que ejecutan simultáneamente y requieren usar el mismo recurso (como tiempo de [[CPU|CPU]], memoria o [[impresora|impresora]]). <br>Además, en un [[sistema multiusuario|sistema multiusuario]], suele ser necesario o conveniente compartir, además de [[dispositivos físicos|dispositivos físicos]], información. Al mismo tiempo, debe tenerse en cuenta consideraciones de seguridad: por ejemplo, la [[información confidencial|información confidencial]] sólo debe ser accesada por usuarios autorizados, un usuario cualquiera no debiera ser capaz de sobrescribir áreas críticas del [[Sistema|Sistema]], etc. (En este caso, un usuario puede ser una persona, un programa, u otro computador). En resumen, el sistema operativo debe llevar la cuenta acerca de quién está usando qué recursos; otorgar recursos a quienes los solicitan (siempre que el solicitante tenga derechos adecuados sobre el recurso); y arbitrar en caso de solicitudes conflictivas. <br><div>
 
== Los principales recursos administrados por los Sistemas Operativos <br>  ==
 
  
[[Procesadores|Procesadores]].<br>• [[Almacenamiento|Almacenamiento]].<br>• [[Dispositivos de entrada y salida|Dispositivos de entrada y salida]].<br>• [[Datos|Datos]].<br>
+
En esta generación se desarrollan los sistemas compartidos con [[multiprogramación]], en los cuales se utilizan varios procesadores en un solo sistema, con la finalidad de incrementar el poder de procesamiento de la máquina. El programa especificaba tan sólo que un [[archivo (informática)|archivo]] iba a ser escrito en una unidad de cinta con cierto número de pistas y cierta densidad. El sistema operativo localizaba entonces una unidad de cinta disponible con las características deseadas, y le indicaba al operador que montara una cinta en esa unidad.
  
== Tareas que realiza un Sistema Operativo<br>  ==
+
=== Tercera generación ===
  
-Realizar el interfaz [[sistema-usuario|sistema-usuario]]. <br>-[[Compartir los recursos|Compartir los recursos]] de Hardware entre los usuarios. <br>-Permitir a los usuarios compartir sus datos entre ellos. <br>-Prevenir que las actividades de un usuario no interfieran en las de los demás usuarios. <br>-Calendarizar los recursos de los usuarios. <br>-Facilitar el acceso a los dispositivos de E/S. <br>-Recuperarse de fallas o errores. <br>-Llevar el control sobre el uso de los recursos. <br>-Entre otras.  
+
En esta época surgió la familia de computadoras IBM/360 diseñadas como sistemas para uso general, por lo que requerían manejar grandes volúmenes de información de distinto tipo, lo cual provocó una nueva evolución de los sistemas operativos: los sistemas de modos múltiples, que soportan simultáneamente procesos por lotes, tiempo compartido, procesamiento en tiempo real y multiprocesamiento.
  
== Clasificación de los Sistemas Operativos  ==
+
=== Cuarta generación (mitad de los años 1970 hasta nuestros días) ===
  
Debido a la evolución de los sistemas operativos fue necesario realizar una clasificación; considerando las diferencias existentes entre sus componentes los podemos clasificar en: <br>• [[Sistemas operativos por lotes|Sistemas operativos por lotes]]. <br>• [[Sistemas operativos multiprogramación|Sistemas operativos multiprogramación]]. <br>• [[Sistemas operativos multiusuario|Sistemas operativos multiusuario]]. <br>• [[Sistemas operativos de tiempo compartido|Sistemas operativos de tiempo compartido]]. <br>• [[Sistemas operativos de tiempo real|Sistemas operativos de tiempo real]].  
+
Los sistemas operativos conocidos en la época actual son los considerados sistemas de cuarta generación. Con la ampliación del uso de redes de computadoras y del procesamiento en línea es posible obtener acceso a computadoras alejadas geográficamente a través de varios tipos de terminales. Con estos sistemas operativos aparece el concepto de máquinas virtuales, en el cual el usuario no se involucra con el hardware de la computadora con la que se quiere conectar y en su lugar el usuario observa una interfaz gráfica creada por el sistema operativo.
  
=== Sistemas operativos por lotes<br>  ===
+
== Sistema operativo ==
<div align="justify">Los sistemas operativos por [[lotes|lotes]] requieren que la información esté reunida en bloque o "lote" (el programa, los datos, y las instrucciones). Los trabajos son procesados en el orden de admisión, según el modelo de "primero en llegar primero en ser atendido". En estos sistemas la memoria se divide en dos zonas. Una de ellas es ocupada por el sistema operativo, y la otra se usa para cargar programas transitorios para su ejecución. Cuando termina la ejecución de un programa se carga un nuevo programa en la misma zona de memoria.<div>
+
 
=== Sistemas operativos multiprogramación ===
+
Un sistema operativo es un conjunto de programas o software, destinado a permitir la comunicación entre el usuario y la máquina de forma cómoda y eficiente; se encarga de gestionar los recursos de la [[computadora]], esto incluye la gestión del hardware desde los niveles más básicos.
<div align="justify">Los sistemas de [[multiprogramación|multiprogramación]] son capaces de soportar dos o más procesos concurrentes múltiples, permiten que residan al mismo tiempo en la [[memoria primaria|memoria primaria]] las instrucciones y los datos procedentes de dos o más procesos. Estos sistemas implican la operación de multiproceso, para el manejo de la información. Se caracterizan principalmente por un gran número de programas activos simultáneamente que compiten por los [[recursos del sistema|recursos del sistema]], como el procesador, la memoria, y los "dispositivos de E/S". Estos sistemas monitorean el estado de todos los [[programas activos|programas activos]] y recursos del sistema.<div>
+
 
=== Sistemas operativos multiusuario ===
+
== Componentes del sistema operativo ==
<div align="justify">Los sistemas operativos [[multiusuario|multiusuario]] permiten acceder simultáneamente a un sistema de computadoras a través de dos o más terminales. Este [[tipo de sistema operativo|tipo de sistema operativo]] es fundamental en el manejo de redes de computadoras actualmente.<div align="justify">
+
 
=== Sistemas operativos de tiempo compartido ===
+
[[Archivo:Componentes_Sistemas_Operativos.PNG|miniatura|400 px]]
<div align="justify">Los sistemas operativos de tiempo compartido tratan de proporcionar un reparto equitativo de los recursos comunes para dar la impresión a los usuarios de que poseen una [[computadora|computadora]] independiente. En estos sistemas el [[administrador de memoria |administrador de memoria ]]proporciona aislamiento y protección de los programas, ya que generalmente no tienen necesidad de comunicarse entre ellos. El control de E/S se encarga de proporcionar o retirar la asignación a los dispositivos de forma que se preserve la integridad del sistema y se proporcione servicio a todos los usuarios. El [[administrador de archivos|administrador de archivos]] proporciona protección y control en el acceso de la información, dada la posibilidad de concurrencia y conflictos al tratar de acceder a los archivos.<div>
+
 
=== Sistemas operativos de tiempo real ===
+
El sistema operativo está compuesto por un conjunto de paquetes de [[software]] que pueden utilizarse para gestionar las interacciones con el [[hardware]]. Estos elementos se incluyen por lo general en este conjunto de software:
<div align="justify">Estos [[sistemas|sistemas]] tienen como objetivo proporcionar tiempos más rápidos de respuesta, procesar la información sin tiempos muertos. En estos sistemas el administrador de memoria es relativamente menos solicitado debido a que muchos procesos residen permanentemente en memoria. El administrador de archivos se encuentra normalmente en grandes sistemas de tiempo real y su objetivo principal es manejar la velocidad de acceso, más que la utilización eficaz del almacenamiento secundario.<div>
+
* El núcleo, que representa las funciones básicas del sistema operativo, como por ejemplo, la gestión de la [[memoria (informática)|memoria]], de los procesos, de los archivos, de las entradas/salidas principales y de las funciones de comunicación.
== <br>Tipos de Sistemas Operativos<br>  ==
+
* El intérprete de comandos, que posibilita la comunicación con el sistema operativo a través de un lenguaje de control, permitiendo al usuario controlar los periféricos sin conocer las características del hardware utilizado, la gestión de las direcciones físicas, etcétera.
<div align="justify">Existen varios tipos de sistemas operativos, definidos según su capacidad para administrar simultáneamente información de 16 bits, 32 bits, 64 bits o más.<div align="justify">
+
* El sistema de archivos, que permite que los archivos se registren en una estructura arbórea.
{| cellspacing="1" cellpadding="1" border="1" style="width: 589px; height: 240px;"
+
 
|-
+
Los sistemas operativos son una interfaz con:
| Sistema<br>
+
 
| Programación<br>
+
* [[Operador (informática)|Operadores]].
| Usuario único<br>
+
* [[Programador (informática)|Programador]]es de aplicaciones.
| Usuario Múltiple<br>
+
* Programadores de sistemas (administradores del sistema operativo).
| Tarea ünica<br>
+
* Programas.
| Multitarea<br>
+
* [[Hardware]].
 +
* [[Usuario (informática)|Usuarios]].
 +
 
 +
== Funciones de los sistemas operativos ==
 +
 
 +
* Administración del procesador: el sistema operativo administra la distribución del procesador entre los distintos programas por medio de un [[algoritmo]] de programación. El tipo de programador depende completamente del sistema operativo, según el objetivo deseado.
 +
* Gestión de la memoria de acceso aleatorio: el sistema operativo se encarga de gestionar el espacio de memoria asignado para cada aplicación y para cada usuario, si resulta pertinente. Cuando la [[memoria física]] es insuficiente, el sistema operativo puede crear una zona de memoria en el disco duro, denominada «[[memoria virtual]]». La memoria virtual permite ejecutar aplicaciones que requieren una memoria superior a la [[memoria&nbsp;RAM]] disponible en el sistema. Sin embargo, esta memoria es mucho más lenta.
 +
* Gestión de entradas/salidas: el sistema operativo permite unificar y controlar el acceso de los programas a los recursos materiales a través de los [[driver (informática)|drivers]] (también conocidos como administradores periféricos o administradores de entrada/salida).
 +
* Gestión de ejecución de aplicaciones: el sistema operativo se encarga de que las aplicaciones se ejecuten sin problemas asignándoles los recursos que éstas necesitan para funcionar. Esto significa que si una aplicación no responde correctamente puede «sucumbir».
 +
* Administración de autorizaciones: el sistema operativo se encarga de la seguridad en relación con la ejecución de programas garantizando que los recursos sean utilizados sólo por programas y usuarios que posean las autorizaciones correspondientes.
 +
* Gestión de archivos: el sistema operativo gestiona la lectura y escritura en el sistema de archivos, y las autorizaciones de acceso a archivos de aplicaciones y usuarios.
 +
* Gestión de la información: el sistema operativo proporciona cierta cantidad de indicadores que pueden utilizarse para diagnosticar el funcionamiento correcto del equipo.
 +
 
 +
== Características de los sistemas operativos ==
 +
 
 +
* Conveniencia. Un sistema operativo hace más conveniente el uso de una computadora.
 +
* Eficiencia. Un sistema operativo permite que los recursos de la computadora se usen de la manera más eficiente posible.
 +
* Habilidad para evolucionar. Un sistema operativo deberá construirse de manera que permita el desarrollo, prueba o introducción efectiva de nuevas funciones del sistema sin interferir con el servicio.
 +
* Encargado de administrar el hardware. El sistema operativo se encarga de manejar de una mejor manera los recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada proceso una parte del procesador para poder compartir los recursos.
 +
* Relacionar dispositivos (gestionar a través del [[kernel]]). El sistema operativo se debe encargar de comunicar a los dispositivos [[periférico (informática)|periféricos]], cuando el usuario así lo requiera.
 +
* Organizar datos para acceso rápido y seguro.
 +
* Manejar las comunicaciones en red. El sistema operativo permite al usuario manejar con alta facilidad todo lo referente a la instalación y uso de las redes de computadoras.
 +
* Procesamiento por [[bytes]] de flujo a través del [[bus de datos]].
 +
* Facilitar las entradas y salidas. Un sistema operativo debe hacerle fácil al usuario el acceso y manejo de los dispositivos de [[software de entrada y salida|entrada/salida de la computadora]].
 +
* [[Técnicas de recuperación de errores]].
 +
* Evita que otros usuarios interfieran. El sistema operativo evita que los usuarios se bloqueen entre ellos, informándoles si esa aplicación esta siendo ocupada por otro usuario.
 +
* Generación de estadísticas.
 +
* Permite que se puedan compartir el hardware y los datos entre los usuarios.
 +
 
 +
== Sistema operativo como administrador de recursos ==
 +
 
 +
La otra tarea de un sistema operativo consiste en administrar los recursos de una [[computadora]] cuando hay dos o más programas que ejecutan simultáneamente y requieren usar el mismo recurso ―como tiempo de
 +
[[unidad de procesamiento central|CPU]] (unidad de procesamiento central),
 +
[[memoria (informática)|memoria]] o
 +
[[impresora]]―.
 +
 
 +
Además, en un [[sistema multiusuario]], suele ser necesario o conveniente compartir, además de dispositivos físicos, información. Al mismo tiempo, debe tenerse en cuenta consideraciones de seguridad: por ejemplo, la [[información confidencial]] sólo debe ser accesada por usuarios autorizados, un usuario cualquiera no debiera ser capaz de sobrescribir áreas críticas del sistema, etc. (En este caso, un usuario puede ser una persona, un programa, u otra computadora). En resumen, el sistema operativo debe llevar la cuenta acerca de quién está usando qué recursos; otorgar recursos a quienes los solicitan (siempre que el solicitante tenga derechos adecuados sobre el recurso); y arbitrar en caso de solicitudes conflictivas.
 +
 
 +
== Recursos administrados por los sistemas operativos ==
 +
 
 +
* [[Procesador (informática)|Procesa]][[Procesadores de PC|dores]].
 +
* [[Almacenamiento (informática)|Almacenamiento]].
 +
* Dispositivos de entrada y salida.
 +
* [[Dato (informática)|Datos]].
 +
 
 +
== Tareas que realiza un sistema operativo ==
 +
 
 +
* Realizar el interfaz [[sistema-usuario]].
 +
* Compartir los recursos de hardware entre los usuarios.
 +
* Permitir a los usuarios compartir sus datos entre ellos.
 +
* Prevenir que las actividades de un usuario no interfieran en las de los demás usuarios.
 +
* Calendarizar los recursos de los usuarios.
 +
* Facilitar el acceso a los dispositivos de E/S (entrada y salida).
 +
* Recuperarse de fallas o errores.
 +
* Llevar el control sobre el uso de los recursos (entre otras).
 +
 
 +
== Clasificación de los sistemas operativos ==
 +
 
 +
Debido a la evolución de los sistemas operativos fue necesario realizar una clasificación; considerando las diferencias existentes entre sus componentes los podemos clasificar en:
 +
* sistemas operativos por lotes.
 +
* sistemas operativos multiprogramación.
 +
* sistemas operativos multiusuario.
 +
* sistemas operativos de tiempo compartido.
 +
* sistemas operativos de tiempo real.
 +
 
 +
=== Sistemas operativos por lotes ===
 +
 
 +
Los sistemas operativos por lotes requieren que la información esté reunida en bloque o «lote» (el programa, los datos, y las instrucciones). Los trabajos son procesados en el orden de admisión, según el modelo de «primero en llegar primero en ser atendido». En estos sistemas la memoria se divide en dos zonas. Una de ellas es ocupada por el sistema operativo, y la otra se usa para cargar programas transitorios para su ejecución. Cuando termina la ejecución de un programa se carga un nuevo programa en la misma zona de memoria.
 +
 
 +
=== Sistemas operativos multiprogramación ===
 +
 
 +
Los sistemas de [[multiprogramación]] son capaces de soportar dos o más procesos concurrentes múltiples, permiten que residan al mismo tiempo en la memoria primaria las instrucciones y los datos procedentes de dos o más procesos. Estos sistemas implican la operación de multiproceso, para el manejo de la información. Se caracterizan principalmente por un gran número de programas activos simultáneamente que compiten por los recursos del sistema, como el procesador, la memoria, y los «dispositivos de E/S» (entrada y salida). Estos sistemas monitorean el estado de todos los programas activos y recursos del sistema.
 +
 
 +
=== Sistemas operativos multiusuario ===
 +
 
 +
Los sistemas operativos [[multiusuario]] permiten acceder simultáneamente a un sistema de computadoras a través de dos o más terminales. Actualmente este tipo de sistema operativo es fundamental en el manejo de redes de computadoras.
 +
 
 +
=== Sistemas operativos de tiempo compartido ===
 +
 
 +
Los sistemas operativos de tiempo compartido tratan de proporcionar un reparto equitativo de los recursos comunes para dar la impresión a los usuarios de que poseen una [[computadora]] independiente. En estos sistemas el administrador de memoria proporciona aislamiento y protección de los programas, ya que generalmente no tienen necesidad de comunicarse entre ellos. El control de E/S (entrada y salida) se encarga de proporcionar o retirar la asignación a los dispositivos de forma que se preserve la integridad del sistema y se proporcione servicio a todos los usuarios. El [[administrador de archivos]] proporciona protección y control en el acceso de la información, dada la posibilidad de concurrencia y conflictos al tratar de acceder a los archivos.
 +
 
 +
=== Sistemas operativos de tiempo real ===
 +
 
 +
Estos sistemas tienen como objetivo proporcionar tiempos más rápidos de respuesta, procesar la información sin tiempos muertos. En estos sistemas el administrador de memoria es relativamente menos solicitado debido a que muchos procesos residen permanentemente en memoria. El administrador de archivos se encuentra normalmente en grandes sistemas de tiempo real y su objetivo principal es manejar la velocidad de acceso, más que la utilización eficaz del almacenamiento secundario.
 +
 
 +
== Tipos de sistemas operativos ==
 +
 
 +
Existen varios tipos de sistemas operativos, definidos según su capacidad para administrar simultáneamente información de 16&nbsp;bits, 32&nbsp;bits, 64&nbsp;bits o más.
 +
{|width="60%" cellspacing="0" cellpadding="4" border="2" style="margin: 0.5em 0.5em 0.5em 1em; padding: 0.5em; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; font-size: 95%; text-align: center;"
 +
|-style="background: #ccf;"
 +
| Sistema
 +
| Programación
 +
| Usuario único
 +
| Usuario múltiple
 +
| Tarea única
 +
| Multitarea
 
|-
 
|-
| [[DOS|DOS]]<br>
+
| [[MS-DOS|DOS]]
| 16 bits<br>
+
| 16 bits
| X<br>
+
| X
| <br>
+
|  
| X<br>
+
| X
| <br>
+
|  
 
|-
 
|-
| [[Windows 3.1|Windows 3.1]]<br>
+
| [[Windows 3.1]]
| 16/32 bits<br>
+
| 16/32 bits
| X<br>
+
| X
| <br>
+
|  
| <br>
+
|  
| no preventivo<br>
+
| No preventivo
 
|-
 
|-
| [[Windows 95/98/Me|Windows 95/98/Me]]<br>
+
| [[Windows 95/98/Me]]
| 32 bits<br>
+
| 32 bits
| X<br>
+
| X
| <br>
+
|  
| <br>
+
|  
| cooperativo<br>
+
| Cooperativo
 
|-
 
|-
| [[Windows NT/ 2000|Windows NT/ 2000]]<br>
+
| [[Windows NT/2000]]
| 32 bits<br>
+
| 32 bits
| <br>
+
|  
| X<br>
+
| X
| <br>
+
|  
| preventivo<br>
+
| Preventivo
 
|-
 
|-
| Windows XP<br>
+
| Windows XP
| 32/64 bits<br>
+
| 32/64 bits
| <br>
+
|  
| X<br>
+
| X
| <br>
+
|  
| preventivo<br>
+
| Preventivo
 
|-
 
|-
| [[Unix/Linux|Unix/Linux]]<br>
+
| [[Unix/Linux]]
| 32/64 bits<br>
+
| 32/64 bits
| <br>
+
|  
| X<br>
+
| X
| <br>
+
|  
| preventivo<br>
+
| Preventivo
 
|-
 
|-
| [[MAC/OS X|MAC/OS X]]<br>
+
| [[MAC/OS X]]
| 32 bits<br>
+
| 32 bits
| <br>
+
|  
| X<br>
+
| X
| <br>
+
|  
| preventivo<br>
+
| Preventivo
 
|-
 
|-
| [[VMS|VMS]]<br>
+
| [[VMS]]
| 32 bits<br>
+
| 32 bits
| <br>
+
|  
| X<br>
+
| X
| <br>
+
|  
| preventivo<br>
+
| Preventivo
 
|}
 
|}
  
<br>
+
== Ejemplos de sistemas operativos ==
 
 
== Ejemplos de Sistemas Operativos ==
 
  
 
=== Familia Windows ===
 
=== Familia Windows ===
  
<div style="-moz-column-count:3; column-count:3;">
+
* [[Windows 95]]
* [[Windows 95|Windows 95]]
+
* [[Windows 98]]
* [[Windows 98|Windows 98]]
+
* [[Windows ME]]
* [[Windows ME|Windows ME]]
+
* [[Windows NT]]
* [[Windows NT|Windows NT]]
+
* [[Windows 2000]]
* [[Windows 2000|Windows 2000]]
+
* [[Windows 2000 Server]]
* [[Windows 2000 Server|Windows 2000 Server]]
+
* [[Windows XP]]
* [[Windows XP|Windows XP]]
+
* [[Windows Server 2003]]
* [[Windows Server 2003|Windows Server 2003]]
+
* [[Windows CE]]
* [[Windows CE|Windows CE]]
+
* [[Windows Mobile]]
* [[Windows Mobile|Windows Mobile]]
+
* [[Windows XP 64 bits]]
* [[Windows XP 64 bits|Windows XP 64 bits]]
+
* [[Windows Vista|Window]][[Windows Vista (Longhorn)|s Vista (Longhorn)]]
* [[Windows Vista (Longhorn)|Windows Vista (Longhorn) ]]
+
* [[Windows 7]]
* [[Windows Seven|Windows Seven]]
+
* [[Windows 8]]
</div>
+
* [[Windows 8.1]]
 +
* [[Windows 10]]
 +
* [[Windows 11]]
  
 
=== Familia Macintosh ===
 
=== Familia Macintosh ===
  
<div style="-moz-column-count:3; column-count:3;">
+
* [[Mac OS 7]]
* [[Mac OS 7|Mac OS 7]]
+
* [[Mac OS 8]]
* [[Mac OS 8|Mac OS 8]]
+
* [[Mac OS 9]]
* [[Mac OS 9|Mac OS 9]]
+
* [[Mac OS X]]
* [[Mac OS X|Mac OS X]]
 
</div>
 
  
 
=== Familia UNIX ===
 
=== Familia UNIX ===
  
<div style="-moz-column-count:3; column-count:3;">
+
* [[AIX]]
* [[AIX|AIX]]
+
* [[AMIX]]
* [[AMIX|AMIX]]
+
* [[GNU/Linux]]
* [[GNU/Linux|GNU/Linux]]
+
* [[GNU/Hurd]]
* [[GNU / Hurd|GNU / Hurd]]
+
* [[HP-UX]]
* [[HP-UX|HP-UX]]
+
* [[Irix]]
* [[Irix|Irix]]
+
* [[Minix]]
* [[Minix|Minix]]
+
* [[System V]]
* [[System V|System V]]
+
* [[Solaris]]
* [[Solaris|Solaris]]
+
* [[UnixWare]]
* [[UnixWare|UnixWare]]
 
</div>
 
  
== Empleo de Sistemas Operativos de Código Abierto  ==
+
== Empleo de sistemas operativos de código abierto ==
<div align="justify">El vertiginoso desarrollo alcanzado, la ausencia de [[licencias|licencias]] restrictivas para la copia, modificación y redistribución hacen del Sistema Operativo Linux un candidato muy fuerte a ganar cada día más usuarios en el mundo y en particular en nuestro país con las limitaciones impuestas por [[el bloqueo|el bloqueo]], de aquí que los lineamientos generales para el uso del software libre en [[Cuba|Cuba]] así lo contemplen creando las condiciones necesarias para la migración, siendo los [[Joven Club|Joven Club]] la vía principal para acercar a la [[población cubana |población cubana ]]en general, al software libre. ellos, la bien llamada “[[Computadora de la familia cubana|Computadora de la familia cubana]]”, que desempeña un papel vital en la introducción de cualquier programa informático en la [[sociedad|sociedad]] criolla, ya que es allí donde la gran mayoría de nuestra población tiene el primer contacto con una computadora, ahí coinciden el [[Adolescente|adolescente]], el [[Universitario|universitario]], el [[Adulto|adulto]] y el [[Adulto Mayor|Adulto Mayor]] y se preparan en la modalidad de sistema operativo ([[Windows|Windows]]) y software libre ([[Linux|Linux]]), un sistema operativo que favorece el uso de códigos abiertos por lo tanto ahora con la inserción del [[Software Libre|Software Libre]] en nuestro [[país|país]], estos centros están llamados a desarrollar programas de enseñanza acorde a las potencialidades de los usuarios y encaminados a satisfacer las necesidades de toda la comunidad circundante y al que la [[isla|isla]] apuesta para sustituir en instituciones oficiales el uso del [[Microsoft|Microsoft]].<br><div align="justify">
 
==Véase también==
 
  
*[[Arquitectura Monolítica]]
+
El vertiginoso desarrollo alcanzado, la ausencia de licencias restrictivas para la copia, modificación y redistribución hacen del sistema operativo Linux un candidato muy fuerte a ganar cada día más usuarios en el mundo y en particular en Cuba, con las limitaciones impuestas por el [[bloqueo de Estados Unidos contra Cuba]], de aquí que los lineamientos generales para el uso del software libre en la Isla, así lo contemplen creando las condiciones necesarias para la migración, siendo los [[Joven Club]] la vía principal para acercar a la población cubana en general, al software libre. Ellos, la bien llamada Computadora de la Familia Cubana, desempeñan un papel vital en la introducción de cualquier programa informático en la sociedad criolla, ya que es allí donde la gran mayoría de nuestra población tiene el primer contacto con una computadora, ahí coinciden el adolescente, el universitario, el adulto y el [[adulto mayor]] y se preparan en la modalidad de sistema operativo ([[Windows]]) y software libre ([[Linux]]), un sistema operativo que favorece el uso de códigos abiertos por lo tanto ahora con la inserción del [[software libre]] en nuestro país. Estos centros están llamados a desarrollar programas de enseñanza acorde a las potencialidades de los usuarios y encaminados a satisfacer las necesidades de toda la comunidad circundante y al que la Isla apuesta para sustituir en instituciones oficiales el uso del [[Microsoft]].
  
 
== Fuentes ==
 
== Fuentes ==
  
# [http://www.masadelante.com/ Más Adelante]
+
{{listaref}}
# [http://www.maestrosdelweb.com/ Maestros del Web]
+
:* http://www.masadelante.com/
# [http://www.euram.com.ni/ EURAM]
+
:* http://www.maestrosdelweb.com/
# [http://exa.unne.edu.ar/ UNNE]
+
:* http://www.euram.com.ni/
# [http://entrenate.dgsca.unam.mx/ UNAM]
+
:* http://exa.unne.edu.ar/
 +
:* http://entrenate.dgsca.unam.mx/
  
[[Categoría:Ciencias_informáticas]]
+
[[Categoría: Sistemas operativos]]

última versión al 22:17 28 ago 2021

Sistema operativo
Información sobre la plantilla
Foto de sistema operativo.JPG
Los sistemas operativos más conocidos

Un sistema operativo (SO) es el programa o conjunto de programas que efectúan la gestión de los procesos básicos de un sistema informático y permite la normal ejecución del resto de las operaciones.

Introducción

En el inicio de la computación el programador debía tener un conocimiento y contacto profundo con el hardware, y en el infortunado caso de que su programa fallara, debía examinar los valores de los registros y paneles de luces indicadoras del estado de la computadora para determinar la causa del fallo y poder corregir su programa, además de enfrentarse nuevamente a los procedimientos de apartar tiempo del sistema y poner a punto los compiladores, ligadores, etc. para volver a correr el programa.

La importancia de los sistemas operativos nace históricamente desde los años 1950, cuando se hizo evidente que el operar una computadora por medio de tableros enchufables en la primera generación y luego por medio del trabajo en lote en la segunda generación, se podía mejorar notoriamente, pues el operador realizaba siempre una secuencia de pasos repetitivos, lo cual es una de las características contempladas en la definición de lo que es un programa. Es decir, se comenzó a ver que las tareas mismas del operador podían plasmarse en un programa, el cual a través del tiempo y por su enorme complejidad se le llamó «sistema operativo». Así, entre los primeros sistemas operativos se encuentra el Fortran Monitor System (FMS) y el IBSYS.

Todo sistema de cómputo se puede dividir, en forma general, en dos partes:

  • el hardware (la parte material o mecánica de la computadora) y
  • el software (los programas que hacen funcionar a la computadora).

El software hace útil al hardware y puede dividirse en dos clase:

  • el software de base (los programas que hacen que funcione la computadora) que manejan la operación de la computadora, y
  • el software de aplicaciones, que realiza acciones útiles a los usuarios.

Entre los programas del sistema se pueden mencionar:

Para que funcionen los otros programas, cada computadora de uso general debe tener un sistema operativo.

Historia y evolución

Los sistemas operativos han estado relacionados históricamente con la arquitectura de las computadoras en las cuales se ejecutan, razón por la cual su historia. Los sistemas operativos, al igual que el hardware de las computadoras, han sufrido una serie de cambios revolucionarios llamados generaciones.

En el caso del hardware, las generaciones han sido marcadas por grandes avances en los componentes utilizados, pasando de válvulas (primera generación) a transistores (segunda generación), a circuitos integrados (tercera generación), a circuitos integrados de gran escala y de muy gran escala (cuarta generación).

Cada generación sucesiva de hardware ha ido acompañada de reducciones substanciales en los costos, tamaño, emisión de calor y consumo de energía, y por incrementos notables en velocidad y capacidad. En la actualidad existe gran variedad de sistemas operativos como pueden ser Windows 98, Windows NT, Linux, etc.

Primera generación (finales de los años 1950)

En esta década aparecen los sistemas de procesamiento por lotes, donde los trabajos se reunían por grupos o lotes. Cuando se ejecutaba alguna tarea, ésta tenía control total de la máquina. Al terminar cada tarea, el control era devuelto al sistema operativo, el cual limpiaba, leía e iniciaba la siguiente tarea. Aparece el concepto de nombres de archivo del sistema para lograr independencia de información. Los laboratorios de investigación de la empresa General Motors poseen el crédito de haber sido los primeros en poner en operación un sistema operativo para su IBM 701.

Segunda generación (mitad de los años 1960)

En esta generación se desarrollan los sistemas compartidos con multiprogramación, en los cuales se utilizan varios procesadores en un solo sistema, con la finalidad de incrementar el poder de procesamiento de la máquina. El programa especificaba tan sólo que un archivo iba a ser escrito en una unidad de cinta con cierto número de pistas y cierta densidad. El sistema operativo localizaba entonces una unidad de cinta disponible con las características deseadas, y le indicaba al operador que montara una cinta en esa unidad.

Tercera generación

En esta época surgió la familia de computadoras IBM/360 diseñadas como sistemas para uso general, por lo que requerían manejar grandes volúmenes de información de distinto tipo, lo cual provocó una nueva evolución de los sistemas operativos: los sistemas de modos múltiples, que soportan simultáneamente procesos por lotes, tiempo compartido, procesamiento en tiempo real y multiprocesamiento.

Cuarta generación (mitad de los años 1970 hasta nuestros días)

Los sistemas operativos conocidos en la época actual son los considerados sistemas de cuarta generación. Con la ampliación del uso de redes de computadoras y del procesamiento en línea es posible obtener acceso a computadoras alejadas geográficamente a través de varios tipos de terminales. Con estos sistemas operativos aparece el concepto de máquinas virtuales, en el cual el usuario no se involucra con el hardware de la computadora con la que se quiere conectar y en su lugar el usuario observa una interfaz gráfica creada por el sistema operativo.

Sistema operativo

Un sistema operativo es un conjunto de programas o software, destinado a permitir la comunicación entre el usuario y la máquina de forma cómoda y eficiente; se encarga de gestionar los recursos de la computadora, esto incluye la gestión del hardware desde los niveles más básicos.

Componentes del sistema operativo

Componentes Sistemas Operativos.PNG

El sistema operativo está compuesto por un conjunto de paquetes de software que pueden utilizarse para gestionar las interacciones con el hardware. Estos elementos se incluyen por lo general en este conjunto de software:

  • El núcleo, que representa las funciones básicas del sistema operativo, como por ejemplo, la gestión de la memoria, de los procesos, de los archivos, de las entradas/salidas principales y de las funciones de comunicación.
  • El intérprete de comandos, que posibilita la comunicación con el sistema operativo a través de un lenguaje de control, permitiendo al usuario controlar los periféricos sin conocer las características del hardware utilizado, la gestión de las direcciones físicas, etcétera.
  • El sistema de archivos, que permite que los archivos se registren en una estructura arbórea.

Los sistemas operativos son una interfaz con:

Funciones de los sistemas operativos

  • Administración del procesador: el sistema operativo administra la distribución del procesador entre los distintos programas por medio de un algoritmo de programación. El tipo de programador depende completamente del sistema operativo, según el objetivo deseado.
  • Gestión de la memoria de acceso aleatorio: el sistema operativo se encarga de gestionar el espacio de memoria asignado para cada aplicación y para cada usuario, si resulta pertinente. Cuando la memoria física es insuficiente, el sistema operativo puede crear una zona de memoria en el disco duro, denominada «memoria virtual». La memoria virtual permite ejecutar aplicaciones que requieren una memoria superior a la memoria RAM disponible en el sistema. Sin embargo, esta memoria es mucho más lenta.
  • Gestión de entradas/salidas: el sistema operativo permite unificar y controlar el acceso de los programas a los recursos materiales a través de los drivers (también conocidos como administradores periféricos o administradores de entrada/salida).
  • Gestión de ejecución de aplicaciones: el sistema operativo se encarga de que las aplicaciones se ejecuten sin problemas asignándoles los recursos que éstas necesitan para funcionar. Esto significa que si una aplicación no responde correctamente puede «sucumbir».
  • Administración de autorizaciones: el sistema operativo se encarga de la seguridad en relación con la ejecución de programas garantizando que los recursos sean utilizados sólo por programas y usuarios que posean las autorizaciones correspondientes.
  • Gestión de archivos: el sistema operativo gestiona la lectura y escritura en el sistema de archivos, y las autorizaciones de acceso a archivos de aplicaciones y usuarios.
  • Gestión de la información: el sistema operativo proporciona cierta cantidad de indicadores que pueden utilizarse para diagnosticar el funcionamiento correcto del equipo.

Características de los sistemas operativos

  • Conveniencia. Un sistema operativo hace más conveniente el uso de una computadora.
  • Eficiencia. Un sistema operativo permite que los recursos de la computadora se usen de la manera más eficiente posible.
  • Habilidad para evolucionar. Un sistema operativo deberá construirse de manera que permita el desarrollo, prueba o introducción efectiva de nuevas funciones del sistema sin interferir con el servicio.
  • Encargado de administrar el hardware. El sistema operativo se encarga de manejar de una mejor manera los recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada proceso una parte del procesador para poder compartir los recursos.
  • Relacionar dispositivos (gestionar a través del kernel). El sistema operativo se debe encargar de comunicar a los dispositivos periféricos, cuando el usuario así lo requiera.
  • Organizar datos para acceso rápido y seguro.
  • Manejar las comunicaciones en red. El sistema operativo permite al usuario manejar con alta facilidad todo lo referente a la instalación y uso de las redes de computadoras.
  • Procesamiento por bytes de flujo a través del bus de datos.
  • Facilitar las entradas y salidas. Un sistema operativo debe hacerle fácil al usuario el acceso y manejo de los dispositivos de entrada/salida de la computadora.
  • Técnicas de recuperación de errores.
  • Evita que otros usuarios interfieran. El sistema operativo evita que los usuarios se bloqueen entre ellos, informándoles si esa aplicación esta siendo ocupada por otro usuario.
  • Generación de estadísticas.
  • Permite que se puedan compartir el hardware y los datos entre los usuarios.

Sistema operativo como administrador de recursos

La otra tarea de un sistema operativo consiste en administrar los recursos de una computadora cuando hay dos o más programas que ejecutan simultáneamente y requieren usar el mismo recurso ―como tiempo de CPU (unidad de procesamiento central), memoria o impresora―.

Además, en un sistema multiusuario, suele ser necesario o conveniente compartir, además de dispositivos físicos, información. Al mismo tiempo, debe tenerse en cuenta consideraciones de seguridad: por ejemplo, la información confidencial sólo debe ser accesada por usuarios autorizados, un usuario cualquiera no debiera ser capaz de sobrescribir áreas críticas del sistema, etc. (En este caso, un usuario puede ser una persona, un programa, u otra computadora). En resumen, el sistema operativo debe llevar la cuenta acerca de quién está usando qué recursos; otorgar recursos a quienes los solicitan (siempre que el solicitante tenga derechos adecuados sobre el recurso); y arbitrar en caso de solicitudes conflictivas.

Recursos administrados por los sistemas operativos

Tareas que realiza un sistema operativo

  • Realizar el interfaz sistema-usuario.
  • Compartir los recursos de hardware entre los usuarios.
  • Permitir a los usuarios compartir sus datos entre ellos.
  • Prevenir que las actividades de un usuario no interfieran en las de los demás usuarios.
  • Calendarizar los recursos de los usuarios.
  • Facilitar el acceso a los dispositivos de E/S (entrada y salida).
  • Recuperarse de fallas o errores.
  • Llevar el control sobre el uso de los recursos (entre otras).

Clasificación de los sistemas operativos

Debido a la evolución de los sistemas operativos fue necesario realizar una clasificación; considerando las diferencias existentes entre sus componentes los podemos clasificar en:

  • sistemas operativos por lotes.
  • sistemas operativos multiprogramación.
  • sistemas operativos multiusuario.
  • sistemas operativos de tiempo compartido.
  • sistemas operativos de tiempo real.

Sistemas operativos por lotes

Los sistemas operativos por lotes requieren que la información esté reunida en bloque o «lote» (el programa, los datos, y las instrucciones). Los trabajos son procesados en el orden de admisión, según el modelo de «primero en llegar primero en ser atendido». En estos sistemas la memoria se divide en dos zonas. Una de ellas es ocupada por el sistema operativo, y la otra se usa para cargar programas transitorios para su ejecución. Cuando termina la ejecución de un programa se carga un nuevo programa en la misma zona de memoria.

Sistemas operativos multiprogramación

Los sistemas de multiprogramación son capaces de soportar dos o más procesos concurrentes múltiples, permiten que residan al mismo tiempo en la memoria primaria las instrucciones y los datos procedentes de dos o más procesos. Estos sistemas implican la operación de multiproceso, para el manejo de la información. Se caracterizan principalmente por un gran número de programas activos simultáneamente que compiten por los recursos del sistema, como el procesador, la memoria, y los «dispositivos de E/S» (entrada y salida). Estos sistemas monitorean el estado de todos los programas activos y recursos del sistema.

Sistemas operativos multiusuario

Los sistemas operativos multiusuario permiten acceder simultáneamente a un sistema de computadoras a través de dos o más terminales. Actualmente este tipo de sistema operativo es fundamental en el manejo de redes de computadoras.

Sistemas operativos de tiempo compartido

Los sistemas operativos de tiempo compartido tratan de proporcionar un reparto equitativo de los recursos comunes para dar la impresión a los usuarios de que poseen una computadora independiente. En estos sistemas el administrador de memoria proporciona aislamiento y protección de los programas, ya que generalmente no tienen necesidad de comunicarse entre ellos. El control de E/S (entrada y salida) se encarga de proporcionar o retirar la asignación a los dispositivos de forma que se preserve la integridad del sistema y se proporcione servicio a todos los usuarios. El administrador de archivos proporciona protección y control en el acceso de la información, dada la posibilidad de concurrencia y conflictos al tratar de acceder a los archivos.

Sistemas operativos de tiempo real

Estos sistemas tienen como objetivo proporcionar tiempos más rápidos de respuesta, procesar la información sin tiempos muertos. En estos sistemas el administrador de memoria es relativamente menos solicitado debido a que muchos procesos residen permanentemente en memoria. El administrador de archivos se encuentra normalmente en grandes sistemas de tiempo real y su objetivo principal es manejar la velocidad de acceso, más que la utilización eficaz del almacenamiento secundario.

Tipos de sistemas operativos

Existen varios tipos de sistemas operativos, definidos según su capacidad para administrar simultáneamente información de 16 bits, 32 bits, 64 bits o más.

Sistema Programación Usuario único Usuario múltiple Tarea única Multitarea
DOS 16 bits X X
Windows 3.1 16/32 bits X No preventivo
Windows 95/98/Me 32 bits X Cooperativo
Windows NT/2000 32 bits X Preventivo
Windows XP 32/64 bits X Preventivo
Unix/Linux 32/64 bits X Preventivo
MAC/OS X 32 bits X Preventivo
VMS 32 bits X Preventivo

Ejemplos de sistemas operativos

Familia Windows

Familia Macintosh

Familia UNIX

Empleo de sistemas operativos de código abierto

El vertiginoso desarrollo alcanzado, la ausencia de licencias restrictivas para la copia, modificación y redistribución hacen del sistema operativo Linux un candidato muy fuerte a ganar cada día más usuarios en el mundo y en particular en Cuba, con las limitaciones impuestas por el bloqueo de Estados Unidos contra Cuba, de aquí que los lineamientos generales para el uso del software libre en la Isla, así lo contemplen creando las condiciones necesarias para la migración, siendo los Joven Club la vía principal para acercar a la población cubana en general, al software libre. Ellos, la bien llamada Computadora de la Familia Cubana, desempeñan un papel vital en la introducción de cualquier programa informático en la sociedad criolla, ya que es allí donde la gran mayoría de nuestra población tiene el primer contacto con una computadora, ahí coinciden el adolescente, el universitario, el adulto y el adulto mayor y se preparan en la modalidad de sistema operativo (Windows) y software libre (Linux), un sistema operativo que favorece el uso de códigos abiertos por lo tanto ahora con la inserción del software libre en nuestro país. Estos centros están llamados a desarrollar programas de enseñanza acorde a las potencialidades de los usuarios y encaminados a satisfacer las necesidades de toda la comunidad circundante y al que la Isla apuesta para sustituir en instituciones oficiales el uso del Microsoft.

Fuentes