Está en la página 1de 20

Universidad Autónoma de Nuevo León

Facultad de Contaduría Pública y Administración


Sistemas operativos
Visión General de las funciones principales de los sistemas operativos

Docente: M.A.E Honorio Gutiérrez Guerrero


Integrantes del equipo:
Fátima Lizeth Rangel Villalba – 1794957
Oscar Rodríguez Naranjo – 1748036
Ana Patricia Saucedo Ramírez – 1817842
Diana Carolina Zúñiga López – 1796442
Carrera: Lic. En Tecnologías de Información
Turno: Vespertino
Aula: 0723
Grupo: 11

Monterrey Nuevo León a


16 de Agosto del 2017

ÍNDICE
Concepto de Sistema Operativo
Categorías de Sistemas Operativos
Componentes y estructura de un Sistema Operativo
Características de un Sistema Operativo
Arranque del computador
Historia de los Sistemas Operativos
Evolución del Sistema Operativo
Estructura del Sistema Operativo
Tipos de Sistema Operativo
Estructura en la que trabajan Windows y Linux

2
Visión General de las funciones principales de los
sistemas operativos

Concepto de Sistema Operativo


Sistema operativo es un programa o conjunto de
programas de computadora destinado a permitir
una gestión eficaz de sus recursos. Comienza a
trabajar cuando se enciende el computador, y
gestiona el hardware de la máquina desde los
niveles más básicos, actuando como
intermediario entre el usuario y el hardware de un
computador. Su propósito es proporcionar un
entorno en el cual el usuario pueda ejecutar
programas. Podemos decir entonces que el
objetivo principal de un Sistema Operativo es
lograr que el Sistema de computación se use de
manera cómoda, pues sirve como interfaz entre
el equipo físico (hardware) de una computadora y
el usuario, y el objetivo secundario es optimar los
3
recursos (tanto de software como de hardware)
con que cuenta una computadora y hacer utilizable ésta última.
Los sistemas operativos controlan el uso por parte de los programas de aplicación
de todos los recursos del computador: memoria, CPU, unidades de entrada y
salida y permitiendo independizar al programa de aplicación del hardware,
proporcionar comunicación con otros computadores, ejecutar servicios para los
programas o aplicaciones, ejecutar órdenes de los usuarios.
A pesar del uso de los sistemas operativos casi a diario, es difícil encontrarle una
definición. En parte, esto se debe a que los sistemas operativos realizan dos
funciones diferentes: El primero es proveer una máquina virtual, es decir, un
ambiente en el cual el usuario pueda ejecutar programas de manera conveniente,
protegiéndolo de los detalles y complejidades del hardware; y el segundo es
administrar eficientemente los recursos del computador.
Es importante mencionar que un Sistema Operativo es una parte importante de
cualquier sistema de computación. Un sistema de computación puede dividirse en
cuatro componentes: el hardware, el Sistema Operativo, los programas de
aplicación y los usuarios.
El hardware (Unidad Central de Procesamiento (UCP), memoria y dispositivos de
entrada/salida (E/S)) proporciona los recursos de computación básicos. Los
programas de las aplicaciones (compiladores, sistemas de bases de datos, juegos
de vídeo y programas para negocios) definen la forma en que estos recursos se
emplean para resolver los problemas de computación de los usuarios.

Categorías de Sistemas Operativos


Los sistemas operativos se pueden clasificar según los siguientes parámetros:
Usuarios
Según el número de usuarios que pueden utilizar a la vez los recursos del sistema,
los sistemas operativos pueden ser:
 MonoUsuario: En este tipo de sistema solo hay un
único usuario que trabaja con el ordenador y tiene
disponibles todos los recursos del sistema para el
mismo. Si otro usuario quiere utilizar el sistema ha de
esperar a que termine el primero para utilizarlo. Los
ejemplos más claros de sistemas operativos
monousuario pueden ser: DOS (Disk Operating
System), Windows XP, Windows 2000, etc.
 MultiUsuario: En estos sistemas varios usuarios pueden utilizar los recursos
4
del sistema a la vez o simultáneamente. La forma más común de utilizar
estos sistemas por parte de los usuarios es a través de terminales “tontos”
o bien mediante ordenadores clientes conectados al ordenador principal o
servidor.
Procesos
Dependiendo del número de procesos que se pueden ejecutar a la vez en el
sistema, los sistemas operativos pueden ser:
 MonoTarea: En este tipo de sistemas solo se puede ejecutar un proceso a
la vez, mientras dicho proceso esté en ejecución los recursos del sistema
están disponibles para el mismo proceso, para iniciarse un nuevo proceso o
aplicación se ha de terminar primero con la que se está trabajando. Un
ejemplo claro de sistema operativo monotarea es DOS (Disk Operanting
System).
 MultiTarea: En este tipo de sistemas se pueden ejecutar varios programas o
procesos de forma “simultanea”, para realizar esta acción el procesador
comparte y va dedicando a cada proceso un tiempo de uso, de esta forma
todos los procesos se irán ejecutando “a la vez”. La carga de procesos hará
que el procesador tarde más tiempo en ejecutar todos los procesos, pero
comparando con un sistema monotarea el tiempo medio de espera será
menor. Un ejemplo de este tipo de sistemas puede ser Unix y Linux.
Procesadores
Según el número de procesadores que el sistema operativo es capaz de utilizar,
se pueden clasificar los sistemas operativos de la forma siguiente:
 MonoProceso: El ordenador en el cual se utiliza el sistema operativo solo
tiene un procesador y el sistema operativo solo es capaz de manejar un
procesador. Todos los procesos del sistema pasaran por dicho procesador,
Aunque el sistema pueda denominarse multitarea y multiusuario, y de
hecho varias personas puedan trabajar con el mismo equipo, teniendo este
un solo procesador, realmente los procesos que es capaz de ejecutar el
procesador a la vez, es solo uno, aunque se reparte el tiempo de uso del
procesador entre todos los procesos activos del sistema, simulando un
multiproceso.
 MultiProceso: Si el sistema informático cuenta con dos o más
procesadores, existen sistemas operativos capaces de gestionar varios
procesadores a la vez, de esta forma se aprovecha mejor la capacidad del
equipo en la ejecución de procesos entre varios procesadores, la utilización
de los procesadores por parte del sistema puede ser de dos tipos:
1. MultiProceso Simetrico (SMP, Symetrical MultiProcessing): En el cual el
sistema operativo utiliza los procesadores por igual alternando el uso de
los mismos de forma simultánea.
2. MultiProceso Asimetrico (AMP,5Asymetrical MultiProcessing): El sistema
reparte las tareas que están realizando los procesadores, determinando
que procesos ejecuta cada procesador.
Tiempos de respuesta
Según el tiempo que los usuarios obtienen los resultados después de iniciar las
aplicaciones, los sistemas pueden ser:
 Tiempo Real: La respuesta del sistema es inmediata después de iniciar el
proceso.
 Tiempo Compartido: Los procesos utilizan ciclos de la unidad central de
proceso compartiendo el procesador.
Componentes y estructura de un sistema operativo
Un sistema operativo consta de tres capas:
Núcleo: Parte del sistema operativo que interactúa directamente con el hardware
de la máquina. Sus funciones consisten en gestionar los recursos de hardware,
tratar las interrupciones de hardware e implementar las funciones básicas de
gestión de memoria.
Servicios: Estas facilidades se ofrecen para brindar una capa de abstracción
sobre el núcleo. Los principales servicios que ofrece un S.O. se pueden clasificar
en:
 Gestión de procesos: Creación, planificación y destrucción de procesos.
 Gestión de memoria: Gestionar la memoria libre y ocupada, realizar la
asignación y liberación de memoria.
 Gestión de entrada/salida: Maneja los dispositivos periféricos.
 Gestión de archivos y directorios: Manejo de archivos y directorios, y en
general de la administración del almacenamiento secundario.
 Seguridad y protección: Permite garantizar la identidad de los usuarios y
definir los permisos sobre los recursos del sistema.
 Comunicación y sincronización entre6 procesos: Brinda las primitivas básicas
para comunicar y sincronizar procesos.
Intérprete de comandos (Shell): Permite que el usuario interactúe con el
sistema operativo, a través de comandos textuales (Shell 1), o interfaces
gráficas (Shell 2).
Característica de un Sistema Operativo
En general, se puede decir que un Sistema Operativo tiene las siguientes
características: 7
 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 está
siendo ocupada por otro usuario.
 Generación de estadísticas.
 Permite que se puedan compartir el hardware y los datos entre los
usuarios.
 El software de aplicación son programas que se utilizan para diseñar,
tal como el procesador de palabras, lenguajes de programación, hojas de
cálculo, etc.
 El software de base sirve para interactuar el usuario con la máquina,
son un conjunto de programas que facilitan la ambiente plataforma, y
permite el diseño del mismo.

Arranque del computador


8 pulsar el botón RESET, se genera una
Luego del encendido del computador o de
señal que carga en el PC la dirección de inicio del programa de arranque
(Iniciador) que se encuentra almacenado en una memoria ROM, que forma parte
del mapa de memoria.
Iniciador ROM
El iniciador ROM tiene las siguientes funciones:
 Comprobación del sistema, por medio de un test de hardware
 Lectura y almacenamiento en memoria del programa cargador del sistema
operativo (Loader). Este programa se encuentra en un periférico,
usualmente un disco duro o un diskette o un CDROM.
 Ceder el control al cargador del sistema operativo.
Cargador del sistema operativo
Este programa se encarga de traer a memoria algunos de los componentes del
sistema operativo. Luego se pasa a la fase de iniciación, en la que se realizan los
siguientes pasos:
 Comprobación del sistema: Se completan las pruebas de hardware
realizadas por el iniciador ROM, además de realizar una prueba del sistema
de archivos.
 Se establecen las estructuras de información propias del S.O. (Tabla de
procesos, tabla de memora y tablas de E/S)
 Se carga en memoria el programa del S.O que estará residente.
Sistema operativo
 Se crean uno o varios procesos de inicio (Login) para permitir el trabajo
interactivo por parte de los usuarios, además de otros procesos auxiliares
(Servicios, demonios, etc).

Historia de los sistemas operativos


9
La informática tal y como se le conoce hoy día, surgió a raíz de la II Guerra
Mundial, en la década de los 40. En esos años no existía siquiera el concepto de
"Sistema Operativo" y los programadores interactuaban directamente con el
hardware de las computadoras trabajando en lenguaje máquina.
El concepto de Sistema Operativo surge en la década de los 50. El primer Sistema
Operativo de la historia fue creado en 1956 para un ordenador IBM 704, y
básicamente lo único que hacía era comenzar la ejecución de un programa
cuando el anterior terminaba.
En los años 60 se produce una revolución en el campo de los Sistemas
Operativos. Aparecen conceptos como sistema multitarea, sistema multiusuario,
sistema multiprocesadores y sistema en tiempo real.
Es en esta década cuando aparece UNIX, la base de la gran mayoría de los
Sistemas Operativos que existen hoy en día.
En los años 70 se produce un boom en cuestión de ordenadores personales,
acercando estos al público general de manera impensable hasta entonces. Esto
hace que se multiplique el desarrollo, creándose el lenguaje de programación C
(diseñado específicamente para reescribir por completo el código UNIX).
Como consecuencia de este crecimiento exponencial de usuarios, la gran mayoría
de ellos sin ningún conocimiento sobre lenguajes de bajo o alto nivel, hizo que, en
los años 80, la prioridad a la hora de diseñar un sistema operativo fuese la
facilidad de uso, surgiendo así las primeras interfaces de usuario.
En los 80 nacieron sistemas como MacOS, MS-DOS, Windows.
En la década de los 90 hace su aparición Linux, publicándose la primera versión
del núcleo en septiembre de 1991, que posteriormente se uniría al proyecto GNU,
un sistema operativo completamente libre, similar a UNIX, al que le faltaba para
funcionar un núcleo funcional. Hoy en día la mayoría de la gente conoce por Linux
al Sistema Operativo que realmente se llama GNU/Linux.

Evolución de los sistemas operativos


Primera generación (1945-1955)
 No existen Sistemas Operativos.
 Un grupo reducido de gente diseñaba, construía, programaba, mantenía
cada máquina.
 Las instrucciones se codificaban a mano.
 El programador insertaba su trabajo y esperaba su turno.
 Existía un desaprovechamiento inadecuado del computador ("tiempos
muertos de la CPU").

10
Disparidad de tiempos de ejecución entre la CPU y los dispositivos de E/S.
 En 1950 aparecen las tarjetas perforadas.
Segunda generación (1955-1965)
 Aparición de los transistores.
 Se especializa el personal (diseñadores, analistas, etc.).
 Se desarrollan los primeros sistemas operativos.
 Se procesan los trabajos por lotes ("batch").
 El S.O. se entiende como un programa de control que planifica los trabajos.
Tercera generación (1965-1980)
 Aparecen los circuitos integrados y la multiprogramación.
 Existen muchas computadoras diferentes con S.O. muy diferentes.
 Se suministran una gran cantidad de programas de utilidad.
 Los S.O. son complejos.
 Se utilizan dispositivos virtuales como las técnicas de SPOOL.
 Multiprocesamiento (sistemas compuestos de varios procesadores).
 Surgimiento de la Ingeniería del Software.
 Separación entre la venta de hardware y software.
Cuarta generación (1980-2000)
 Circuitos LSI (alta escala de integración) y, posteriormente, VLSI.
 Relanzamiento de los ordenadores personales.
 Crecimiento del software para las computadoras personales.
 Crecimiento de las redes de computadoras que ejecutan S.O. en red y
distribuidos.
Quinta generación (2000-...)
 Aparición de las computadoras de bolsillo (PDA, Personal Digital Assistant)
como ampliación de las agendas electrónicas.
 Los S.O. se adaptan a estas nuevas computadoras y teléfonos móviles
(mucho más pequeños que una computadora).

11
12
Estructura de un sistema operativo
Analizando la historia de los Sistemas Operativos notamos que se puede
considerar que éstos surgen desde finales de los 50's con una arquitectura
bastante obsoleta comparada con la de la actualidad.
Para poder construir un Sistema Operativo se deben tener en cuenta dos tipos de
requisitos, los cuales son:
 Requisitos de usuario: Un sistema fácil de usar y de aprender, seguro,
rápido y adecuado para el uso que se le necesita dar.
 Requisitos del software: Considera el continuo mantenimiento, forma de
operación, restricciones de uso, eficiencia, tolerancia frente a los errores y
flexibilidad.
Definir una arquitectura para el Sistema Operativo; esta estará influida en alguna
medida por el hardware que manejará. Sin embargo, es posible identificar algunos
componentes comunes como el núcleo y las llamadas al sistema. El núcleo
contiene, básicamente, todo el código e información necesaria para la gestión de
procesos y memoria y en la mayoría de los sistemas operativos también se incluye
buena parte de la gestión de entrada/salida. Según la arquitectura que tengamos
así es como el usuario se comunica con el sistema operativo y el sistema
operativo o el núcleo con los componentes del hardware, por tanto, cada sistema
13 en dependencia de las necesidades de
operativo tiene una arquitectura específica
este.
Estas son algunas de las estructuras más comunes:
Sistemas monolíticos
En los sistemas monolíticos, todos los componentes de gestión y programas del
sistema están escritos en un solo código o espacio lógico. Pueden decirse que el
núcleo es el Sistema Operativo. La división más evidente que puede hacerse es
entre procesos de aplicación o usuario y procesos del sistema.
Los sistemas monolíticos son los más comunes puesto que su implementación y
diseño son los menos complejos. La desventaja es que como todo el sistema se
ejecuta en el mismo nivel de privilegio que el núcleo (el Sistema Operativo es el
núcleo) es muy probable que haya problemas, (el sistema se apague, se bloquee
o se cuelguen procesos) por ejemplo, si ocurre algún fallo del hardware o existe
algún error sin depurara en el código del sistema. GNU/Linux es monolítico,
aunque con éste se introdujo una variante interesante. A pesar de ser monolítico,
es modular, lo que significa que es posible quitar o añadir componentes al núcleo
incluso en caliente (o sea, en pleno funcionamiento). Así, si un módulo tiene
problemas se puede reemplazar, arreglar o eliminar sin afectar al resto de
funcionalidades. Otra ventaja interesante de los sistemas monolíticos es su
velocidad. Ya que todos los componentes del Sistema Operativo comparten los
privilegios y direcciones y la separación funcional solo se hace entre procesos del
sistema y los de aplicación, la demora para ejecutar las llamadas al sistema es
mínima.

Sistemas por capas o niveles de privilegio


En la medida que el hardware se desarrolló para incorporar mecanismos de
protección para la gestión de procesos, memoria y entrada/salida, los Sistemas
Operativos se adaptaron a este diseño. El objetivo de la arquitectura por capas o
niveles de privilegio es separar la acción del código de los procesos del sistema,
del núcleo y de los procesos de usuario. Idealmente se separa en el nivel de
máximo privilegios o protección, al código base del núcleo.
En el siguiente nivel de privilegios se ubica a los procesos del sistema para la
gestión de procesos y memoria; en otro nivel a los procesos de gestión de entrada
salida incluyendo los drivers y en el nivel de menos privilegio, se ejecutan el resto
de los procesos de aplicación. Esto por supuesto, no siempre es así y pueden
existir muchísimas variantes en la implementación. Una práctica común es ubicar
los procesos y componentes de entrada/salida en los dos primeros niveles, para
acelerar su ejecución. Lo relevante en esta arquitectura es que se necesitan
realizar restricciones en cuanto a las llamadas al sistema que puedan ejecutar los
procesos de determinados niveles. Por14 ejemplo, se ha de evitar que un proceso
pueda efectuar una llamada al sistema que requiera la atención de un componente
de menor privilegio o tal vez evitar que los programas de aplicación hagan
llamadas directamente sobre el núcleo. Así puede obligarse a utilizar como
mediadores a otros niveles.
Sistemas de Micronúcleo
La posibilidad de separar funcionalmente los programas del sistema de los
programas de aplicación y asegurar protección adicional con el hardware, origina
otra arquitectura, la de micronúcleo. En esta, se trata de combinar el rendimiento y
sencillez de la arquitectura monolítica con la protección y organización de la
arquitectura por capas. La idea fundamental es obtener un núcleo lo más pequeño
y rápido posible y tratar el resto de las funciones y componentes como procesos
de aplicación. En esta nueva concepción, es usual que el núcleo solo contenga lo
necesario para la gestión de memoria y procesos.
El resto se ejecutan como aplicaciones de usuario; es decir, con el nivel mínimo de
privilegios. En la práctica es un poco difícil conseguir esto sin una pérdida
apreciable de rendimiento. En alguna medida deben incluirse en el núcleo otras
funciones como el manejo de hardware y algunos drivers.
Sistemas cliente-servidor
Separar funcionalmente el núcleo, los procesos del sistema y los procesos de
aplicación, induce una idea interesante: ¿Se podrán separar físicamente los
procesos del sistema y/o los de aplicación? La arquitectura dónde cada proceso
se ejecuta de manera independiente, es una de las más difíciles de lograr. Esta
independencia implica que los procesos podrían ser ejecutados en sistemas (no
solo CPU, sino todo el hardware) diferentes y distantes geográficamente. En cada
sistema independiente solo estarían presentes el núcleo y los componentes
mínimos para la ejecución de uno o algunos procesos. En esta arquitectura, se
manifiesta con mayor peso la necesidad de establecer llamadas al sistema
robustas, para la comunicación entre procesos. Se escoge el modelo cliente - -
servidor para esta comunicación, porque se establece que cada proceso
(independiente o no) actúa como servidor del resto. En esta arquitectura, el
objetivo fundamental del núcleo es garantizar la comunicación entre procesos.
Esta filosofía propició la creación de los Sistemas Operativos distribuidos que son,
básicamente, implementaciones basadas en el modelo clienteservidor. Aunque los
Sistemas Operativos distribuidos no serán estudiados en este curso, explotan un
mecanismo interesante de la comunicación entre procesos, que es el paso de
mensajes. La tendencia actual es desarrollar aplicaciones distribuidas en vez de
Sistemas Operativos distribuidos, aprovechando las redes de computadoras.

15
Tipos de sistemas operativos
Por lotes o colas ("sistemas batch")
Un sistema por lotes realiza una secuenciación automática de trabajos. En él van
pasando a ejecución de uno en uno los programas en espera.
La planificación es muy simple. Los trabajos se procesan, en general, en el orden
de admisión (FIFO).
Un S.O. por lotes puede servir muy bien para programas que no requieran
interacción con el usuario y aquellos con tiempos de ejecución largos, como los
programas de nóminas, de análisis estadísticos.
Debido a los retardos en el tiempo total de ejecución, el procesamiento por lotes
no es muy conveniente para el desarrollo de programas.
Monoprogramación
Hasta que no finaliza la ejecución de un programa de usuario no empieza a
ejecutarse otro.
Consecuencias:
 Tiempos muertos de CPU, periféricos, ...
 Desaprovechamiento de la Memoria Central
(la no ocupada por el proceso).
Entre la finalización de un programa y el comienzo
del siguiente transcurre un tiempo en el que el
núcleo del sistema operativo tiene el control del
procesador (CPU).
Multiprogramación
Se cargan en memoria principal varios programas
que se van ejecutando concurrentemente con lo
cual, en un determinado tiempo se estarán
ejecutando varios programas.
Ventajas: Aprovechamiento de la memoria y mejora de los tiempos muertos del
procesador.
Un programa en ejecución se conoce como proceso. El programa es, por tanto, un
ente "pasivo" y el proceso un ente "activo".
Un S.O. multiproceso o multitarea soporta dos o más procesos activos
simultáneamente.
Un S.O. de multiprogramación soporta múltiples procesos concurrentes y,
16
además, permite que residan simultáneamente en la memoria principal las
instrucciones y datos procedentes de dos o más procesos disjuntos. La
multiprogramación implica multiproceso, pero el multiproceso no implica
multiprogramación.
Tipos de multiprogramación:
 Clásica
 Tratamiento paralelo
 Tiempo compartido
Tratamiento paralelo
A cada uno de los programas en memoria se le asigna un intervalo de tiempo fijo o
periodo T llamado "cuantum" (décimas de segundo). Al finalizar el cuantum
asignado a un programa, el control de la CPU pasa al siguiente programa y así
sucesivamente.
La cuenta del tiempo se realiza mediante un circuito contador activado por el reloj
de la CPU (temporizador digital). Al transcurrir el periodo T se genera una
interrupción de la CPU.

Tiempo compartido
Se asigna el control de la CPU a un nuevo programa interrumpiendo al anterior
siempre que este último agote su tiempo o que entre en la ejecución de una
instrucción de E/S.
La CPU trabaja el 100% en determinados intervalos según el tipo de carga.

Secuencias múltiples o colas paralelas (multisecuencias)


Permiten coexistir en memoria en ejecución concurrente distintos tipos de trabajos
(organizados en colas diferentes).
Los trabajos se introducen en las distintas colas las cuales contienen distintas
características (tiempo de CPU, prioridades, etc.) que deben reunir los trabajos.
En ejecución concurrente habrá un trabajo por cada cola que exista. Pueden
existir trabajos de tipo interactivo.

Bases de datos
Estos S.O. mantienen una gran cantidad de datos que pueden ser consultados en
busca de una determinada información que debe suministrarse en un periodo
razonable de tiempo.
La B.D. puede ser frecuentemente modificada
17 para mantener la información
actualizada y se evitan las operaciones simultáneas sobre los mismos datos.

Tiempo real
Un S.O. en tiempo real se caracteriza por el procesamiento de una actividad
interrumpida, en la mayoría de los casos, por sucesos externos aleatorios.
El procesamiento de un suceso particular viene acompañado por secuencias de
tareas que se deben de realizar dentro de rígidas restricciones de tiempo.
Un suceso puede ser:
 La recepción de un dato (procedente, por ejemplo, de un sensor).
 La demanda de servicio de un dispositivo en línea.

Un sistema en tiempo real monitoriza y controla el sistema con mínima


intervención humana. Sólo interviene en fallos del sistema o cuando se violan
algunos límites.
El sistema está completamente dedicado a la aplicación de control y debe estar
configurado para garantizar respuestas rápidas en el tiempo incluso con cargas
pesadas. Los procesos suelen residir permanentemente en memoria principal para
proporcionar tiempos de respuesta rápidos. El entorno es tal que la utilización del
equipo es menos importante que la respuesta al entorno.
Es importante que el procesador pueda responder muy rápidamente a
interrupciones externas y determinar intervalos de tiempo con una precisión muy
alta.
Multiprocesador. Redes y sistemas distribuidos
Una red interconecta varias computadoras ("hosts"), cada una de las cuales puede
proporcionar servicios de computación a los usuarios de la red.
Las redes están conectadas por subsistemas de comunicaciones y uno ovarios
tipos de enlaces de comunicaciones como pueden ser las líneas telefónicas,
canales de satélite, cables coaxiales y enlaces de microondas.
Tipos de aplicaciones de procesamiento distribuido:
 Redes de recursos compartidos
 Redes de computación distribuida
 Redes de comunicación remota
Un sistema operativo para red es una colección de software y protocolos
asociados que permiten a varias computadoras autónomas que se encuentran
interconectadas por una red de computadoras, ser utilizadas conjuntamente de
una manera conveniente y económica.
18

En Red
Cada uno de los hosts de la red utiliza su propio S.O. que no es de red. La red
está controlada por los programas de usuario ejecutados en los diferentes hosts.
Los usuarios conocen la existencia de múltiples computadoras y pueden
conectarse a máquinas remotas y copiar archivos de una máquina a otra.
Cada máquina tiene sus propios usuarios y ejecuta su S.O.

Distribuidos
Los S.O. individuales de los hosts quedan descartados y se implementa un único
sistema operativo para toda la red.
Aparece a los usuarios como un sistema uniprocesador aunque conste de muchos
procesadores. Los usuarios no saben dónde se ejecutan sus programas ni dónde
se localizan sus archivos. Por ello, la característica principal de un DOS es la
transparencia.
¿Con que estructura trabajan Windows y Linux?
El Kernel o Núcleo monolítico es un componente
fundamental de cualquier sistema operativo. Es el
encargado de que el software y el hardware de
cualquier ordenador puedan trabajar juntos en un
mismo sistema, para lo cual administra la memoria de
los programas y procesos ejecutados.
Windows ha utilizado Windows NT como nueva
versión de sistema desde Windows XP que tuvo gran
impacto en el mercado, la principal característica del
Windows NT es que es bastante modular, y está
basada en dos capas principales, la de usuario y la de
kernel. El sistema utiliza cada una para diferentes
tipos de programa. Así, las aplicaciones se ejecutan
en el modo usuario, y los componentes principales del
sistema operativo en el modo kernel. Es por eso que
se refieren a él como Kernel híbrido, pero sobre todo también porque permite tener
subsistemas en el espacio del usuario que19 se comunicaban con el kernel a través
de un mecanismo de IPC.
Aunque el sistema de Linux también es monolítico, su sistema es desarrollado por
el equipo de Linus Torvalds y es de código abierto, algo que le sirve para estar
presente en múltiples sistemas operativos GNU/Linux.
La principal diferencia entre ambos es la manera que se desarrolla cada uno.
Además, el Kernel de Linux es mucho más sencillo, lo cual es bueno para los
desarrolladores. Mientras, el de Windows intenta poner una capa de protección en
su modo usuario para que los usuarios con menos conocimientos tengan menos
posibilidades de dañar el sistema, y su estructura lo hace más estable frente, por
ejemplo a fallos del driver gráfico.
Bibliografía
https://www.genbeta.com/a-fondo/como-es-el-kernel-de-windows-y-cuales-son-
sus-diferencias-con-el-de-linux

20

También podría gustarte