INTRODUCCIÓN
Un Sistema operativo es un programa que administra el hardware de una computadora.
También proporciona las bases para los programas de aplicación, y actúa como
intermediario entre el usuario y el hardware. Estas tareas, pueden ser llevadas a cabo de
varias formas, lo que permite que algunos sistemas Operativos se diseñen para ser
prácticos, otros eficientes y otros para ser ambas cosas.
viernes, 25 de agosto de 2017
1.1. Definición y Concepto.
¿Qué es un Sistema Operativo?
Un sistema operativo es un programa, o conjunto de programas
que torna amigable, eficiente y productivo el uso de un computador (hardware),
permitiendo la ejecución aplicaciones de usuario. Es el intermediario entre las
aplicaciones de usuario y el hardware.


Metas:
- Brindar un ambiente de realización y ejecución de aplicaciones
- Proveer un entorno sin interferencias a cada usuario (interferencia: Lo que un usuario modifica en su entorno, no interfiera ni modifique lo de otro usuario)
- Administrar en forma equitativa los recursos(hardware y software)
- Hacerlo de la forma mas amigable e intuitiva posible
- Proveer una o más interfaces con el usuario.
- Proveer a las aplicaciones un conjunto de servicios(a través de los “system services”)
- Eficiencia y equidad en la administración de recursos.
1.2. Funciones y características.
En general, se puede decir que un Sistema Operativo tiene las siguientes caracteristicas:
Conveniencia. Un Sistema Operativo hace mas conveniente el uso de una computadora.
Eficiencia. Un Sistema Operativo permite que los recursos de la computadora se usen de la manera mas eficiente posible.
Habilidad para evolucionar. Un Sistema Operativo debera 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 traves del kernel). El Sistema Operativo se debe encargar de comunicar a los dispositivos perifericos, cuando el usuario asi lo requiera.
Conveniencia. Un Sistema Operativo hace mas conveniente el uso de una computadora.
Eficiencia. Un Sistema Operativo permite que los recursos de la computadora se usen de la manera mas eficiente posible.
Habilidad para evolucionar. Un Sistema Operativo debera 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 traves del kernel). El Sistema Operativo se debe encargar de comunicar a los dispositivos perifericos, cuando el usuario asi lo requiera.
1.3. Historia de los Sistemas Operativos.
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, 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 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 y consumo de energía, y por incrementos notables en velocidad y capacidad. Para tratar de comprender los requisitos de un Sistema Operativo y el significado de las principales características de un Sistema Operativo contemporáneo, es útil considerar como han ido evolucionando estos con el tiempo.
Existen diferentes enfoques o versiones de como han ido evolucionando los Sistemas Operativos. La primera de estas versiones podría ser esta:
En los 40's, se introducen los programas bit a bit, por medio de interruptores mecánicos y después se introdujo el lenguaje maquina que trabajaba por tarjetas perforadas.
Con las primeras computadoras, desde finales de los años 40 hasta la mitad de los años 50, el programador interactuaba de manera directa con el hardware de la computadora, no existía realmente un Sistema Operativo; las primeras computadoras utilizaban bulbos, la entrada de datos y los programas se realizaban a través del lenguaje maquina (bits) o a través de interruptores.
Durante los años 50's y 60's.- A principio de los 50's, la compañia General's Motors implanto el primer sistema operativo para su IBM 170. Empiezan a surgir las tarjetas perforadas las cuales permiten que los usuarios (que en ese tiempo eran programadores, diseñadores, capturistas, etc.), se encarguen de modificar sus programas. Establecían o apartaban tiempo, metían o introducían sus programas, corregían y depuraban sus programas en su tiempo. A esto se le llamaba trabajo en serie. Todo esto se traducía en perdida de tiempo y tiempos de programas excesivos.
En los años 60's y 70's se genera el circuito integrado, se organizan los trabajos y se generan los procesos Batch (por lotes), lo cual consiste en determinar los trabajos comunes y realizarlos todos juntos de una sola vez. En esta época surgen las unidades de cinta y el cargador de programas, el cual se considera como el primer tipo de Sistema Operativo.
En los 80's, inicio el auge de la INTERNET en los Estados Unidos de América. A finales de los años 80's comienza el gran auge y evolución de los Sistemas Operativos. Se descubre el concepto de multiprogramación que consiste en tener cargados en memoria a varios trabajos al mismo tiempo, tema principal de los Sistemas Operativos actuales.
Los 90's y el futuro, entramos a la era de la computación distribuida y del multiprocesamiento a través de múltiples redes de computadoras, aprovechando el ciclo del procesador.
Se tendrá una configuración dinámica con un reconocimiento inmediato de dispositivos y software que se añada o elimine de las redes a través de procesos de registro y localizadores.
La conectividad se facilita gracias a estándares y protocolos de sistemas abiertos por organizaciones como la Organización Internacional de normas, fundación de software abierto, todo estará mas controlado por los protocolos de comunicación OSI y por la red de servicios digital ISDN.
Se ha desarrollado otra versión, la cual se ha hecho en base a etapas o generaciones:
Generación Cero (década de 1940)
Los primeros sistemas computacionales no poseían sistemas operativos. Los usuarios tenían completo acceso al lenguaje de la máquina. Todas las instrucciones eran codificadas a mano.
1a. Etapa (1945-1955): Bulbos y conexiones.
Después de
los infructuosos esfuerzos de Babbage, hubo poco progreso en la construcción de
las computadoras digitales, hasta la Segunda Guerra Mundial. A mitad de la década
de los 40's, Howard Aiken (Harvard), John Von Newman (Instituto de Estudios
Avanzados, Princeton), J. Prespe R. Eckert y Williams Mauchley (Universidad de
Pennsylvania), así como Conrad Zuse (Alemania), entre otros lograron construir máquinas
de cálculo mediante bulbos. Estas máquinas eran enormes y llenaban cuartos
completos con decenas de miles de bulbos, pero eran mucho más lentas que la
computadora casera más económica en nuestros días.
Se ha desarrollado otra versión, la cual se ha hecho en base a etapas o generaciones:
Generación Cero (década de 1940)
Los primeros sistemas computacionales no poseían sistemas operativos. Los usuarios tenían completo acceso al lenguaje de la máquina. Todas las instrucciones eran codificadas a mano.
1a. Etapa (1945-1955): Bulbos y conexiones.

Los lenguajes de programación eran desconocidos (incluso el lenguaje
ensamblador). No se oía de los Sistemas Operativos el modo usual de operación consistía
en que el programador reservaba cierto periodo en una hoja de reservación
pegada a la pared, iba al cuarto de la máquina, insertaba su conexión a la
computadora y pasaba unas horas esperando que ninguno de los 20,000 o más
bulbos se quemara durante la ejecución. La inmensa mayoría de los problemas
eran cálculos numéricos directos, por ejemplo, el cálculo de valores para
tablas de senos y cosenos.
A
principio de la década de los 50's la rutina mejoro un poco con la introducción
de las tarjetas perforadas. Fue entonces posible escribir los programas y
leerlas en vez de insertar conexiones, por lo demás el proceso era el
mismo.
2a. Etapa. (1955-1965): Transistores y Sistemas de Procesamiento por lotes.
La introducción del transistor a mediados de los años 50's modifico en forma radical el panorama. Las computadoras se volvieron confiables de forma que podían fabricarse y venderse a clientes, con la esperanza de que ellas continuaran funcionando lo suficiente como para realizar un trabajo en forma.
Dado el alto costo del equipo, no debe sorprender el hecho de que las personas buscaron en forma por demás rápidas vías para reducir el tiempo invertido. La solución que, por lo general se adoptó, fue la del sistema de procesamiento por lotes.
2a. Etapa. (1955-1965): Transistores y Sistemas de Procesamiento por lotes.
La introducción del transistor a mediados de los años 50's modifico en forma radical el panorama. Las computadoras se volvieron confiables de forma que podían fabricarse y venderse a clientes, con la esperanza de que ellas continuaran funcionando lo suficiente como para realizar un trabajo en forma.
Dado el alto costo del equipo, no debe sorprender el hecho de que las personas buscaron en forma por demás rápidas vías para reducir el tiempo invertido. La solución que, por lo general se adoptó, fue la del sistema de procesamiento por lotes.
3ra Etapa (1965-1980): Circuitos integrados y multiprogramacion..

Imagen relacionadaLa 360 de IBM fue la primera lineal principal de computadoras que utilizo los circuitos integrados, lo que proporciono una gran ventaja en el precio y desempeño con respecto a las máquinas de la segunda generación, construidas a partir de transistores individuales. Se trabajó con un sistema operativo enorme y extraordinariamente complejo. A pesar de su enorme tamaño y sus problemas el sistema operativo de la lineal IBM 360 y los sistemas operativos similares de esta generación producidos por otros fabricantes de computadoras realmente pudieron satisfacer, en forma razonable a la mayoría de sus clientes. También popularizaron varias técnicas fundamentales, ausentes de los sistemas operativos de la segunda generación, de las cuales la más importante era la de multiprogramación. Otra característica era la capacidad de leer trabajos de las tarjetas al disco, tan pronto como llegara al cuarto de cómputo. Así, siempre que concluyera un trabajo el sistema operativo podía cargar un nuevo trabajo del disco en la partición que quedara desocupada y ejecutarlo.
4ta Etapa (1980-Actualidad): Computadoras personales.
Un interesante desarrollo que comenzó a llevarse a cabo a mediados de la década de los ochenta ha sido el crecimiento de las redes de computadoras personales, con sistemas operativos de red y sistemas operativos distribuidos.
En los sistemas operativos de red, los usuarios están conscientes de la existencia de varias computadoras y pueden conectarse con máquinas remotas y copiar archivos de una maquina a otra. Cada máquina ejecuta su propio sistema operativo local y tiene su propio usuario.
Por el contrario, un sistema operativo distribuido es aquel que aparece ante sus usuarios como un sistema tradicional de un solo procesador, aun cuando esta compuesto por varios procesadores. En un sistema distribuido verdadero, los usuarios no deben ser conscientes del lugar donde su programa se ejecute o de lugar donde se encuentren sus archivos; eso debe ser manejado en forma automática y eficaz por el sistema operativo.

Imagen relacionadaLa 360 de IBM fue la primera lineal principal de computadoras que utilizo los circuitos integrados, lo que proporciono una gran ventaja en el precio y desempeño con respecto a las máquinas de la segunda generación, construidas a partir de transistores individuales. Se trabajó con un sistema operativo enorme y extraordinariamente complejo. A pesar de su enorme tamaño y sus problemas el sistema operativo de la lineal IBM 360 y los sistemas operativos similares de esta generación producidos por otros fabricantes de computadoras realmente pudieron satisfacer, en forma razonable a la mayoría de sus clientes. También popularizaron varias técnicas fundamentales, ausentes de los sistemas operativos de la segunda generación, de las cuales la más importante era la de multiprogramación. Otra característica era la capacidad de leer trabajos de las tarjetas al disco, tan pronto como llegara al cuarto de cómputo. Así, siempre que concluyera un trabajo el sistema operativo podía cargar un nuevo trabajo del disco en la partición que quedara desocupada y ejecutarlo.
4ta Etapa (1980-Actualidad): Computadoras personales.
Un interesante desarrollo que comenzó a llevarse a cabo a mediados de la década de los ochenta ha sido el crecimiento de las redes de computadoras personales, con sistemas operativos de red y sistemas operativos distribuidos.
En los sistemas operativos de red, los usuarios están conscientes de la existencia de varias computadoras y pueden conectarse con máquinas remotas y copiar archivos de una maquina a otra. Cada máquina ejecuta su propio sistema operativo local y tiene su propio usuario.
Por el contrario, un sistema operativo distribuido es aquel que aparece ante sus usuarios como un sistema tradicional de un solo procesador, aun cuando esta compuesto por varios procesadores. En un sistema distribuido verdadero, los usuarios no deben ser conscientes del lugar donde su programa se ejecute o de lugar donde se encuentren sus archivos; eso debe ser manejado en forma automática y eficaz por el sistema operativo.
1.4. Clasificación
Sistema Operativo Multitareas.
Es
el modo de funcionamiento disponible en algunos sistemas operativos, mediante
el cual una computadora procesa varias tareas al mismo tiempo. Existen varios
tipos de multitareas. La conmutación de contextos (context Switching) es un
tipo muy simple de multitarea en el que dos o más aplicaciones se cargan al
mismo tiempo, pero en el que solo se esta procesando la
aplicación que se encuentra en primer plano (la que ve el
usuario).
Para activar otra tarea que se encuentre en segundo
plano, el usuario debe traer al primer plano la ventana o pantalla que contenga
esa aplicación. En la multitarea cooperativa, la que se utiliza en el sistema
operativo Macintosh, las tareas en segundo plano reciben tiempo de procesado
durante los tiempos muertos de la tarea que se encuentra en primer plano (por
ejemplo, cuando esta aplicación esta esperando información del usuario), y
siempre que esta aplicación lo permita. En los sistemas multitarea de tiempo
compartido, como OS/2, cada tarea recibe la atención del microprocesador
durante una fracción de segundo. Para mantener el sistema en orden, cada tarea
recibe un nivel de prioridad o se procesa en orden secuencial. Dado que el
sentido temporal del usuario es mucho más lento que la velocidad de
procesamiento del ordenador, las operaciones de multitarea en tiempo compartido
parecen ser simultáneas.
Sistema Operativo Monotareas.
Los
sistemas operativos monotareas son más primitivos y es todo lo contrario al
visto anteriormente, es decir, solo pueden manejar un proceso en cada momento o
que solo puede ejecutar las tareas de una en una. Por ejemplo cuando la
computadora esta imprimiendo un documento, no puede iniciar otro proceso ni
responder a nuevas instrucciones hasta que se termine la impresión.
Sistema Operativo Monousuario.
Los
sistemas monousuarios son aquellos que nada más puede atender a un solo
usuario, gracias a las limitaciones creadas por el hardware, los programas o el
tipo de aplicación que se este ejecutando.
Estos
tipos de sistemas son muy simples, porque todos los dispositivos de entrada,
salida y control dependen de la tarea que se esta utilizando, esto
quiere decir, que las instrucciones que se dan, son procesadas de inmediato; ya
que existe un solo usuario. Y están orientados principalmente por los
microcomputadores.
Sistema Operativo Multiusuario.
Es
todo lo contrario a monousuario; y en esta categoría se encuentran todos los
sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que
comparten mismos recursos. Este tipo de sistemas se emplean especialmente en
redes.
En
otras palabras consiste en el fraccionamiento del tiempo (timesharing).
Secuencia por Lotes.
La
secuencia por lotes o procesamiento por lotes en microcomputadoras, es la
ejecución de una lista de comandos del sistema operativo uno tras otro sin
intervención del usuario. En los ordenadores más grandes el proceso de recogida
de programas y de conjuntos de datos de los usuarios, la ejecución de uno o
unos pocos cada vez y la entrega de los recursos a los usuarios. Procesamiento
por lotes también puede referirse al proceso de almacenar transacciones durante
un cierto lapso antes de su envío a un archivo maestro, por lo general una
operación separada que se efectúa durante la noche.
Los
sistemas operativos por lotes (batch), en los que los programas eran tratados
por grupos (lote) en ves de individualmente. La función de estos sistemas
operativos consistía en cargar en memoria un programa de la cinta y ejecutarlo.
Al final este, se realizaba el salto a una dirección de memoria desde donde
reasumía el control del sistema operativo que cargaba el siguiente programa y
lo ejecutaba. De esta manera el tiempo entre un trabajo y el otro disminuía
considerablemente.
Tiempo Real.
Un
sistema operativo en tiempo real procesa las instrucciones recibidas al
instante, y una vez que han sido procesadas muestra el resultado. Este tipo
tiene relación con los sistemas operativos monousuarios, ya que existe un solo
operador y no necesita compartir el procesador entre varias solicitudes.
Su
característica principal es dar respuestas rápidas; por ejemplo en un caso de
peligro se necesitarían respuestas inmediatas para evitar una catástrofe.
Tiempo Compartido.
El
tiempo compartido en ordenadores o computadoras consiste en el uso de un
sistema por más de una persona al mismo tiempo. El tiempo compartido ejecuta
programas separados de forma concurrente, intercambiando porciones de tiempo
asignadas a cada programa (usuario). En este aspecto, es similar a la capacidad
de multitareas que es común en la mayoría de los microordenadores o las
microcomputadoras. Sin embargo el tiempo compartido se asocia generalmente con
el acceso de varios usuarios a computadoras más grandes y a organizaciones de
servicios, mientras que la multitarea relacionada con las microcomputadoras
implica la realización de múltiples tareas por un solo usuario.

CLASIFICACIÓN
|
EJEMPLO
|
MULTIUSUARIO
|
LINUX
|
MONOUSUARIO
|
WINDOWS 3.0 Y 3.1 (PRIMERAS VERSIONES)
|
MULTITAREA
|
UNIX
|
TIEMPO REAL
|
WINDOWS CE, Mac Os
|
MULTIPROCESADOR
|
WINDOWS NT
|
DISTRIBUIDO
|
SOLARIS
|
CENTRALIZADO
|
MY SQL
|
LOTES SENCILLO
|
MS-DOS
|
HIBRIDO
|
ARCHGNU/LINUX
|
CLASIFICACIÓN DE LOS SISTEMAS OPERATIVOS
Los sistemas operativos se clasifican en:
· Sistemas
operativos por lotes.
· Sistemas
operativos multiprogramación o de multitarea.
· Sistemas
operativos multiusuario.
· Sistemas
operativos de tiempo compartido.
· Sistemas
operativos de tiempo real.
· Sistemas
operativos distribuidos.
· Sistemas
operativos de red.
· Sistemas
operativos paralelos.
1.5. Estructura: niveles o estratos de diseño
ESTRUCTURA
MONOLÍTICA
Es
la estructura de los primeros sistemas operativos. Fundamentalmente por un solo
programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada
una puede llamar a cualquier otra.
CARACTERÍSTICAS
Ø Construcción de programa final a base de módulos compilados separadamente que se une a través del editor de enlaces.
Ø Buena definición de parámetros de enlace entre la rutinas existentes.
Ø Carecen de protección y privilegios al entrar y manejan diferentes aspectos de la computadora.
Ø Generalmente están hechos a la medida
Ø Por ejemplo los cajeros automáticos donde sólo tienen que cumplir una determinada función siguiendo una serie de procesos ya determinados.
EJEMPLOS
CARACTERÍSTICAS
- Núcleos tipo Unix
- Linux
- Syllable
- Unix
- BSD (FreeBSD, NetBSD, OpenBSD)
- Solaris
- Núcleos tipo DOS
- DR-DOS
- MS-DOS
- Familia Microsoft Windows 9x (95, 98, 98SE, Me)
- Núcleos del Mac OS hasta Mac OS 8.6
- OpenVMS
- XTS-400
Ø Construcción de programa final a base de módulos compilados separadamente que se une a través del editor de enlaces.
Ø Buena definición de parámetros de enlace entre la rutinas existentes.
Ø Carecen de protección y privilegios al entrar y manejan diferentes aspectos de la computadora.
Ø Generalmente están hechos a la medida
Ø Por ejemplo los cajeros automáticos donde sólo tienen que cumplir una determinada función siguiendo una serie de procesos ya determinados.
EJEMPLOS
Entre los sistemas operativos que
cuentan con núcleos monolíticos se encuentran:
ESTRUCTURA JERÁRQUICA
Consiste en organizar el sistema operativo con una jerarquía de
capas cada una construida sobre la que esta bajo ella.
CARACTERÍSTICAS
Ø Las zonas mas intensas o núcleo están mas
protegidas de posibles accesos indeseados desde las capas mas externas.
Ø Tienes un contacto mas próximo con el hardware
Ø Núcleo mínimo, mas seguro y ágil.
En esta estructura se basan prácticamente la mayoría de los SO
actuales. Otra forma de ver este tipo de sistema es la denominación de anillos
concéntricos o “RINGS”
EJEMPLOS
· Ø Multics
· Ø Unix
ESTRUCTURA MAQUINA VIRTUAL
Se trata de un SO que presenta una interfaces cada
proceso, mostrando una máquina que parece idéntica a la máquina real
subyacente. Estos SO separan dos conceptos: Multiprogramación y La Máquina
Extendida. Su objetivo es distinguir distintos SO dando la sensación de ser
varias máquinas. Tiene capacidad de utilizar varios SO simultáneamente.
CARACTERÍSTICAS
Ø Se puede
hacer varios sistemas operativos sin necesidad de crear particiones.
Ø Se puede
simular el hardware
Ø Gran
capacidad de disco duro-memoria ram
Ø Protección
cada maquina virtual esta aislada de las otras y no puede inferir.
EJEMPLOS
·
Ø Nachos:
sistema operativo se ejecuta en una virtual mips, cuyo emulador corre sobre
Linux.
·
Ø IBM
IV: ofrecía a cada usuario su propia maquina virtual no multiprogramado.
Es el
tipo más reciente de los SO, que pueden ser ejecutados en la mayoría de las
computadoras, ya sean grandes o pequeñas. Este sistema sirve para todo, por lo
tanto es de propósito general y se basa en lo mismo que el resto de los SO
convencionales: núcleo y procesos, presentando grandes diferenciasen cuanto a
la forma de distribuir los trabajos entre sus diferentes partes.
CARACTERÍSTICAS
Ø Coordina, permite el trabajo entre iguales.
Ø Cliente; inicia las solicitudes o peticiones (maestro)
Ø Espera y recibe respuesta del servidor
Ø Se puede conectar a varios servidores a la vez .
Ø Servidor:
Ø Esclavo, espera las solicitudes del cliente
Ø Aceptan conexiones desde un gran numero de clientes.
EJEMPLOS
Ø Sistema
operativo Novell NetWare 1983, plataforma mas fiable para ofrecer acceso
seguro.
Ø Windows
2000
Ø Cualquiera
de este puede compartir sus recursos con otro Windows 2000.
Ø Windows xp.
Ø Windows xp.
1.6 Núcleo

Todas las operaciones en las que participan procesos son controladas por la parte del sistema operativo denominada núcleo (nucleus, core o kernel, en inglés). El núcleo normalmente representa sólo una pequeña parte de lo que por lo general se piensa que es todo el sistema operativo, pero es tal vez el código que más se utiliza. Por esta razón, el núcleo reside por lo regular en la memoria principal, mientras que otras partes del sistema operativo son cargadas en la memoria principal sólo cuando se necesitan.
- Manejo de interrupciones.
- Creación y destrucción de procesos.
- Cambio de estado de los procesos.
- Despacho.
- Suspensión y reanudación de procesos.
- Sincronización de procesos.
- Comunicación entre procesos.
- Manipulación de los bloques de control de
procesos.
- Apoyo para las actividades de entrada/salida.
- Apoyo para asignación y liberación de memoria.
- Apoyo para el sistema de archivos.
- Apoyo para el mecanismo de llamada y retorno
de un procedimiento.
- Apoyo para ciertas funciones de contabilidad
del sistema.
- Núcleo o Kernel y niveles de un Sistema Operativo.
Los núcleos se diseñan para realizar
"el mínimo" posible de procesamiento en cada interrupción y dejar que
el resto lo realice el proceso apropiado del sistema, que puede operar mientras
el núcleo se habilita para atender otras interrupciones.
El Kernel consiste en la parte
principal del codigo del sistema operativo, el cual se encargan de controlar y
administrar los servicios y peticiones de recursos y de hardware con respecto a
uno o varios procesos, en otras palabras, el kernel es el corazon del sistema operativo.
Cada sistema operativo tiene un tipo
distinto de kernel: asi los Unix mas tradicionales como FreeBSD usan un kernel
" monolitico" en el que esta todo compilado dentro, otros usan los
llamados "microkernels" como el Darwin, Hurd e incluso Windows
(krnl32.dll). GNU/Linux usa un kernel "modular" (vmlinuz); un nucleo
bastante grande comparado con un microkernel, pero que es capaz de delegar
funciones en los llamados " modulos" , partes independientes del
nucleo que pueden ser incorporadas dinamicamente si hacen falta y luego
descargadas si molestan. Asi se pueden cargar "drivers" para
hardware, firewall o funciones especiales de red (ppp, rdsi, etc) cuando se
necesiten y cuando por ejemplo, se cierre la conexion a internet, liberar la memoria
que usaba ese modulo.
El núcleo de un sistema operativo normalmente
contiene el código necesario para realizar las siguientes funciones:
El
Kernel consiste en la parte principal del código del sistema operativo, el cual
se encargan de controlar y administrar los servicios y peticiones de recursos y
de hardware con respecto a uno o varios procesos, este se divide en 5 capas:

Nivel 1. Gestión de Memoria: que proporciona las facilidades de bajo nivel para
la gestión de memoria secundaria necesaria para la ejecución de procesos.
Nivel 2. Procesador: Se encarga de activar los cuantums de tiempo para cada uno de los procesos, creando interrupciones de hardware cuando no son respetadas.
Nivel 2. Procesador: Se encarga de activar los cuantums de tiempo para cada uno de los procesos, creando interrupciones de hardware cuando no son respetadas.
Nivel 3. Entrada/Salida: Proporciona las facilidades para poder utilizar
los dispositivos de E/S requeridos por procesos.
Nivel 4. Información o Aplicación o Interprete de Lenguajes: Facilita la
comunicación con los lenguajes y el sistema operativo para aceptar las ordenes
en cada una de las aplicaciones. Cuando se solicitan ejecutando un programa el
software de este nivel crea el ambiente de trabajo e invoca a los procesos
correspondientes.
Nivel 5. Control de Archivos: Proporciona la facilidad para el almacenamiento a largo plazo y manipulación de archivos con nombre, va asignando espacio y acceso de datos en memoria.
Nivel 5. Control de Archivos: Proporciona la facilidad para el almacenamiento a largo plazo y manipulación de archivos con nombre, va asignando espacio y acceso de datos en memoria.
Suscribirse a:
Entradas (Atom)
Unidad 1. Introducción a los Sistemas Operativos
INTRODUCCIÓN Un Sistema operativo es un programa que administra el hardware de una computadora. También proporciona las bases para los prog...

-
Los procesos ligeros son programas en ejecución son básicamente procesos pero a diferencia de éstos últimos que solo tienen un hilo de ejec...
-
El estado de un proceso define su actividad actual. Durante su existencia, un proceso pasa por una serie de estados discretos. Estos es...