Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
es:sistema_operativo [2012/06/11 18:56] lefispedia |
es:sistema_operativo [2020/01/08 18:24] (actual) |
||
---|---|---|---|
Línea 1: | Línea 1: | ||
- | ====== 1.Introducción: ====== | + | ====== 1.Introducción ====== |
Un Sistema Operativo (SO) es el software básico de una computadora que provee una interfaz entre el resto de programas del ordenador, los dispositivos hardware y el usuario. Además de ofrecer un entorno común para la ejecución de aplicaciones de índole muy diversa, ofrece una interfaz de comunicación con el usuario. | Un Sistema Operativo (SO) es el software básico de una computadora que provee una interfaz entre el resto de programas del ordenador, los dispositivos hardware y el usuario. Además de ofrecer un entorno común para la ejecución de aplicaciones de índole muy diversa, ofrece una interfaz de comunicación con el usuario. | ||
+ | |||
Los sistemas operativos pueden ser clasificados de la siguiente forma: | Los sistemas operativos pueden ser clasificados de la siguiente forma: | ||
* Multiusuario: Permite que dos o más usuarios utilicen los recursos del sistema concurrentemente. | * Multiusuario: Permite que dos o más usuarios utilicen los recursos del sistema concurrentemente. | ||
* Multitarea: Permite que varios programas se ejecuten al mismo tiempo. | * Multitarea: Permite que varios programas se ejecuten al mismo tiempo. | ||
- | * Multi-thread: Permite que diversas partes de un solo programa funcionen al mismo tiempo. | + | * Multi-//thread//: Permite que diversas partes de un solo programa funcionen al mismo tiempo. |
* Tiempo Real: Responde a las entradas inmediatamente. Se le exige corrección en sus respuestas bajo ciertas restricciones de tiempo. Si no las respeta, el sistema mostrará un fallo. Para garantizar este comportamiento, se utilizan modelos y algoritmos deterministas. Los sistemas operativos como DOS y UNIX, no funcionan en tiempo real, sin embargo, otros, como QNX si. | * Tiempo Real: Responde a las entradas inmediatamente. Se le exige corrección en sus respuestas bajo ciertas restricciones de tiempo. Si no las respeta, el sistema mostrará un fallo. Para garantizar este comportamiento, se utilizan modelos y algoritmos deterministas. Los sistemas operativos como DOS y UNIX, no funcionan en tiempo real, sin embargo, otros, como QNX si. | ||
* Distribuido: maneja un grupo de nodos independientes que pueden realizar tareas en paralelo, de manera transparente al usuario; quien solo ve un único ordenador. | * Distribuido: maneja un grupo de nodos independientes que pueden realizar tareas en paralelo, de manera transparente al usuario; quien solo ve un único ordenador. | ||
* Embebido: son aquellos que están diseñados para operar en pequeños ordenadores, como por ejemplo PDAs o diferentes equipos industriales. Están diseñados para trabajar en ambientes más hostiles (como por ejemplo entornos de fabricación), por lo que son mucho más robustos. Por ejemplo, Windows CE y Minix 3. | * Embebido: son aquellos que están diseñados para operar en pequeños ordenadores, como por ejemplo PDAs o diferentes equipos industriales. Están diseñados para trabajar en ambientes más hostiles (como por ejemplo entornos de fabricación), por lo que son mucho más robustos. Por ejemplo, Windows CE y Minix 3. | ||
+ | |||
Un sistema operativo, entre otras cosas se encarga de: | Un sistema operativo, entre otras cosas se encarga de: | ||
* Realizar el interfaz sistema-aplicación/usuario. | * Realizar el interfaz sistema-aplicación/usuario. | ||
Línea 17: | Línea 19: | ||
* Recuperarse de fallos o errores, o en su defecto detectarlos antes de que ocurran. | * Recuperarse de fallos o errores, o en su defecto detectarlos antes de que ocurran. | ||
* Llevar el control sobre el uso de los recursos. | * Llevar el control sobre el uso de los recursos. | ||
+ | |||
====== 2.- Evolución histórica de los sistemas operativos ====== | ====== 2.- Evolución histórica de los sistemas operativos ====== | ||
La perspectiva histórica de los sistemas operativos, ha ido íntimamente ligada a la arquitectura de la máquina sobre la que se ejecuta, por tanto, su evolución ha ido en paralelo. | La perspectiva histórica de los sistemas operativos, ha ido íntimamente ligada a la arquitectura de la máquina sobre la que se ejecuta, por tanto, su evolución ha ido en paralelo. | ||
+ | |||
El primer sistema operativo fue creado en 1956, para un ordenador IBM 704 y su única tarea era la concatenación de ejecuciones de programas cuando estos finalizaban. | El primer sistema operativo fue creado en 1956, para un ordenador IBM 704 y su única tarea era la concatenación de ejecuciones de programas cuando estos finalizaban. | ||
+ | |||
En la década de los sesenta, es cuando empiezan a surgir los conceptos íntimamente ligados a los sistemas operativos, como son las multitareas, los multiusuarios y los sistemas en tiempo real. El objetivo era reducir al máximo el tiempo ocioso del ordenador. Es en este punto cuando surge UNIX, que ha sido la base para la gran mayoría de sistemas operativos posteriores. | En la década de los sesenta, es cuando empiezan a surgir los conceptos íntimamente ligados a los sistemas operativos, como son las multitareas, los multiusuarios y los sistemas en tiempo real. El objetivo era reducir al máximo el tiempo ocioso del ordenador. Es en este punto cuando surge UNIX, que ha sido la base para la gran mayoría de sistemas operativos posteriores. | ||
+ | |||
La aparición de los ordenadores personales en la década de los setenta y los ochenta hace que los sistemas operativos empiecen a enfocarse hacia otras áreas hasta entonces ignoradas, como son la interfaz con el usuario. Hasta entonces se basaba en ejecución por lotes o línea de comandos. Paralelamente al desarrollo de Unix se crea el lenguaje de programación C, que hereda parte de su filosofía, sobretodo en los temas relativos a entrada y salida e interrupciones del sistema. En los ochenta nacen sistemas operativos como MacOS, MS-DOS y Windows. | La aparición de los ordenadores personales en la década de los setenta y los ochenta hace que los sistemas operativos empiecen a enfocarse hacia otras áreas hasta entonces ignoradas, como son la interfaz con el usuario. Hasta entonces se basaba en ejecución por lotes o línea de comandos. Paralelamente al desarrollo de Unix se crea el lenguaje de programación C, que hereda parte de su filosofía, sobretodo en los temas relativos a entrada y salida e interrupciones del sistema. En los ochenta nacen sistemas operativos como MacOS, MS-DOS y Windows. | ||
- | A partir de la década de los 90, surge Linux, que tras liberar su núcleo, se une con GNU, formando el sistema operativo GNU/Linux, que con los años ha ido ganando adeptos. | + | |
- | En los últimos años, conceptos en los que no se había enfatizado, debido a limitaciones tecnológicas, están cobrando fuerza, como es la computación distribuida, haciendo que diferentes sistemas operativos estén basados en dicha arquitectura. El auge de internet y en especial el “cloud computing” o computación en la nube, ha llevado a desarrollar diferentes plataformas y sistemas operativos que trabajen nativamente en internet. | + | A partir de la década de los 90, surge Linux, que tras liberar su núcleo, se une con GNU, formando el sistema operativo GNU/Linux, que con los años ha ido ganando adeptos. |
+ | |||
+ | En los últimos años, conceptos en los que no se había enfatizado, debido a limitaciones tecnológicas, están cobrando fuerza, como es la computación distribuida, haciendo que diferentes sistemas operativos estén basados en dicha arquitectura. El auge de internet y en especial el //“cloud computing”// o computación en la nube, ha llevado a desarrollar diferentes plataformas y sistemas operativos que trabajen nativamente en internet. | ||
Paralelamente, el desarrollo de tecnología móvil ha propiciado la aparición de sistemas operativos con núcleos más ligeros, como pueden ser Android o Windows Mobile. | Paralelamente, el desarrollo de tecnología móvil ha propiciado la aparición de sistemas operativos con núcleos más ligeros, como pueden ser Android o Windows Mobile. | ||
+ | |||
====== 3.- Partes de un sistema operativo ====== | ====== 3.- Partes de un sistema operativo ====== | ||
===== 3.1 Gestión de procesos ===== | ===== 3.1 Gestión de procesos ===== | ||
El sistema operativo se encarga de crear y destruir procesos (programas en ejecución que necesita unos determinados recursos) y ofrecer mecanismos para sincronizarlos. Algunos sistemas operativos ofrecen mecanismos para detectar (o evitar) la presencia de bloqueos entre los diferentes procesos concurrentes. | El sistema operativo se encarga de crear y destruir procesos (programas en ejecución que necesita unos determinados recursos) y ofrecer mecanismos para sincronizarlos. Algunos sistemas operativos ofrecen mecanismos para detectar (o evitar) la presencia de bloqueos entre los diferentes procesos concurrentes. | ||
- | Como muchos sistemas operativos son multitarea, pero solo disponen de una CPU (o en su defecto de un número menor al número de tareas o threads), este modulo se encarga de repartir el tiempo de ejecución entre los procesos. El encargado de llevar a cabo dicho reparto es el scheduler (o programador de tareas), que puede utilizar diferentes algoritmos. | ||
- | ==== 3.2 Gestión de la memoria principal ==== | + | Como muchos sistemas operativos son multitarea, pero solo disponen de una CPU (o en su defecto de un número menor al número de tareas o //threads//), este modulo se encarga de repartir el tiempo de ejecución entre los procesos. El encargado de llevar a cabo dicho reparto es el //scheduler// (o programador de tareas), que puede utilizar diferentes algoritmos. |
+ | |||
+ | ===== 3.2 Gestión de la memoria principal ===== | ||
Este módulo se encarga de ofrecer a los diferentes procesos la información almacenada en memoria que en cada momento soliciten. El control de la memoria caché se realiza mediante hardware, y es el sistema operativo el que se encarga de realizar la paginación (traducción de direcciones físicas a direcciones lógicas) e indicar al sistema cuándo debe cargar o descargar páginas de memoria. | Este módulo se encarga de ofrecer a los diferentes procesos la información almacenada en memoria que en cada momento soliciten. El control de la memoria caché se realiza mediante hardware, y es el sistema operativo el que se encarga de realizar la paginación (traducción de direcciones físicas a direcciones lógicas) e indicar al sistema cuándo debe cargar o descargar páginas de memoria. | ||
===== 3.3 Gestión del almacenamiento persistente y entrada salida. ===== | ===== 3.3 Gestión del almacenamiento persistente y entrada salida. ===== | ||
El sistema operativo se encarga de gestionar los diferentes volúmenes de almacenamiento persistente. Dicho control se puede realizar tanto por hardware (mediante tarjetas que realizan diferentes agregaciones, como puede ser los diferentes esquemas RAID) o mediante el propio SO. | El sistema operativo se encarga de gestionar los diferentes volúmenes de almacenamiento persistente. Dicho control se puede realizar tanto por hardware (mediante tarjetas que realizan diferentes agregaciones, como puede ser los diferentes esquemas RAID) o mediante el propio SO. | ||
+ | |||
Por otra parte, también gestiona los diferentes búferes de entrada y salida, tanto de dispositivos de almacenamiento como de otros periféricos. | Por otra parte, también gestiona los diferentes búferes de entrada y salida, tanto de dispositivos de almacenamiento como de otros periféricos. | ||
- | ==== 3.4 Sistema de archivos ==== | + | ===== 3.4 Sistema de archivos ===== |
El sistema operativo se encarga de realizar ciertas operaciones sobre el sistema de archivos (si dicho sistema lo requiere, como por ejemplo el sistema NTFS) y asignar los permisos a los diferentes archivos. | El sistema operativo se encarga de realizar ciertas operaciones sobre el sistema de archivos (si dicho sistema lo requiere, como por ejemplo el sistema NTFS) y asignar los permisos a los diferentes archivos. | ||
+ | |||
También puede ejecutar copias de seguridad y establecer la propiedad de los mismos. | También puede ejecutar copias de seguridad y establecer la propiedad de los mismos. | ||
- | === 3.5 Otros módulos === | + | ===== 3.5 Otros módulos ===== |
Adicionalmente, un sistema operativo lo completan diferentes módulos de seguridad (para discernir entre usuarios autorizados y no autorizados), módulos de red, módulos gestores de recursos alternativos y diferentes módulos del sistema que ofrecen soporte a los lenguajes de programación (como pueden ser las llamadas al sistema, las interrupciones, las interfaces de comunicaciones o socket, las primitivas de sincronización o semáforos, entre otros elementos). | Adicionalmente, un sistema operativo lo completan diferentes módulos de seguridad (para discernir entre usuarios autorizados y no autorizados), módulos de red, módulos gestores de recursos alternativos y diferentes módulos del sistema que ofrecen soporte a los lenguajes de programación (como pueden ser las llamadas al sistema, las interrupciones, las interfaces de comunicaciones o socket, las primitivas de sincronización o semáforos, entre otros elementos). | ||
+ | AUTOR: VÍCTOR MEDEL GRACIA |