Sei sulla pagina 1di 26

SISTEMAS OPERATIVOS.

INTRODUCCION A SISTEMAS OPERATIVOS.


INDICE

Definición y concepto de sistemas operativos. 1


Definición de funciones y características. 3
Evolución histórica de sistemas operativos. 6
Clasificación de sistemas operativos. 10
Estructura de un sistema operativo. 15
Núcleo de un sistema operativo. 18
Bibliografía 22
1

DEFINICION Y CONCEPTO DE SISTEMAS OPERATIVOS.


Desde su creación, las computadoras digitales han utilizado un
sistema de codificación de instrucciones en sistema de
numeración binaria, es decir con los 0s. Esto se debe a que
los circuitos integrados funcionan con este principio, hay
corriente o no hay corriente.
En sus inicios de las computadoras los sistemas operativos no
existían y la introducción de un programa para ser ejecutado
se convertía en un increíble esfuerzo que solo podía ser
llevado a cabo por expertos que eran especialistas en ese tema.
Esto hacia que las computadoras fueran muy complicadas de usar
y que se requiera tener altos conocimientos técnicos para hacer
uso de ellas. Era un proceso tan largo y complejo su
funcionamiento que en algunos casos dichas operaciones tenían
como resultado un desastre.
Cabe resaltar que el tiempo requerido para introducir un
programa en aquellas máquinas de lentos proceso superaba por
mucho el de ejecución que resultaba poco provechosa la
utilización de computadoras para resolución de problemas
prácticos.
Un sistema operativo es un programa (software) encargado de
poner en funcionamiento el ordenador, puesto que gestiona los
procesos básicos del sistema. Así mismo se encarga de gestionar
para el usuario el hardware.
El sistema operativo comienza a trabajar en cuanto se enciende
el ordenador y es completamente fundamental para que el usuario
trabaje con él. Los sistemas operativos realizan tareas básicas
y, sin ellos, el ordenador no funcionaría. Así, por ejemplo,
el sistema operativo reconoce la conexión del teclado, organiza
y ordena los archivos, controla la impresora, la pantalla, etc.
Es como un policía de tráfico pues, se encarga de que los
programas no interfieran entre ellos. Sobre el sistema
operativo se instalan los programas que vaya a usar el usuario.
Los programas, también llamados aplicaciones son muy diversos.
Ejemplo: El procesador de textos Word.
El sistema operativo es el software básico necesario para el
funcionamiento de cualquier ordenador, ya que sobre él se
apoyan todos los demás programas y aplicaciones de usuario.
2

Además, se encarga de controlar y hacer funcionar todo el


hardware instalado, y los periféricos conectados al mismo.
Se dice también que un Sistema Operativo (SO) es un software
que proporciona un acceso sencillo y seguro al soporte físico
del ordenador (hardware), ocultando al usuario detalles de la
implementación particular y creando la ilusión de existencia
de recursos ilimitados (o abundantes). Máquina Virtual. Otra
definición, es el de un programa que actúa como intermediario
entre el usuario de la computadora y el hardware de la
computadora.

Los principales objetivos de un sistema operativo son:


1. Ejecutar programas del usuario y resolver los problemas
del usuario de manera fácil y sencilla.
2. Hace que la computadora sea fácil y conveniente de usar.
3. Utiliza el hardware de la computadora de forma eficiente.
3

DEFINICION Y FUNCIONES DE UN SISTEMA


OPERATIVO.
La función principal de un sistema operativo es presentar ante
el usuario el equivalente de una maquina ampliada o máquina
virtual que sea más fácil de programar que el hardware
implícito.
El sistema operativo es una parte importante de casi cualquier
sistema de computación.
Un sistema de computación puede dividirse en cuatro
componentes:

 Hardware.
 Sistema operativo.
 Programas de aplicación.
 Programas de usuario.

Podemos ver al sistema operativo como un asignado de recursos.


Un sistema de computación tiene muchos recursos (hardware y
software) que pueden requerirse para resolver un problema:
 Espacio de memoria.
 Espacio de almacenamiento.
 Espacio de archivos
 Espacio de dispositivos de E/S.
El sistema operativo actúa como administrador de estos
recursos, asigna a usuarios y programas concretos según las
tareas de ellos.
Pueden surgir conflictos en las solicitudes de recursos en el
sistema operativo debe decidir a qué solicitudes se les
asignaran para que el sistema de computación pueda funcionar
de una manera razonable y correcta solucionando errores.
Las funciones básicas del sistema operativo son las siguientes:
 Gestionan la memoria RAM de los distintos procesos. Un
proceso es simplemente, un programa en ejecución, es
decir, una tarea que realiza el ordenador.

 Gestiona el almacenamiento de información de forma


permanente en unidades de disco (disco duro, disquetes,
pen drives, etc.).
4

 crear, eliminar y manipular archivos y carpetas (también


llamadas directorios).

 Crea mecanismos de protección para evitar el acceso de


intrusos a recursos o servicios no autorizados.

 Dispone de un intérprete de comandos. Es un recurso que


permite al usuario comunicarse con el sistema operativo a
través de órdenes o comandos que son escritos. También se
llama consola o Shell.

 El Sistema Operativo gestiona los sistemas de


entrada/salida, es decir, controla los diferentes
dispositivos conectados al ordenador (monitor, impresora,
etc.)

 Administrar a los usuarios, es decir, este crea usuarios


y grupos, asigna contraseñas, gestiona las cuentas,
establece permisos.
Los sistemas operativos actuales son multiusuario, esto quiere
decir que varios, usuarios pueden utilizar los mismos servicios
simultáneamente.

 Gestionar los procesos, es decir, los programas en


ejecución que necesitan recursos para realizar su tarea:
Tiempo de procesador, asignación de memoria, acceso a los
dispositivos periféricos

Los sistemas operativos son multitarea y por tanto capaces de


ejecutar diferentes procesos a la vez.
 Proporcionar una interfaz gráfica de usuario que permita
a la persona comunicarse con el ordenador. El entorno
del sistema operativo dispone de una GUI que posibilita
el uso del sistema a través de ventanas, desplegando
menús, presionando botones, utilizando el ratón con la
pantalla táctil. Por otra parte incluye un intérprete de
comandos, conocido como como terminal, para interactuar
con el sistema por medio de la escritura de comandos que
lleva a cabo tareas específicas: instalar un programa,
ver la configuración de la red, resolver errores de
software, es copiar un archivo.
5

 Administrar los archivos, permitiendo el acceso, la


adición eliminación de datos en diferentes dispositivos,
así como controlando los permisos que tienen los usuarios
para utilizarlos.

 Gestionar los recursos hardware, tales como asignar el


procesador a los diferentes programas, cargar
aplicaciones en la memoria, permitir la comunicación en
red y, en general, encargarse de del correcto
funcionamiento de todos los componentes conectados
ordenador.
Dentro de las principales características que conlleva un
sistema operativo son las siguientes:
 Conveniencia: Un Sistema operativo hace más conveniente
el uso de una computadora.
 Eficiencia: El sistema operativo permite que los recursos
de la computadora se usen de manera correcta y eficiente.
 Habilidad para evolucionar: Un sistema operativo debe ser
capaz de aceptas nuevas funciones sin que tenga problemas.
 Encargado de administrar el hardware: El sistema operativo
debe ser eficaz, recibiendo las señales provenientes de
los periféricos y hardware en general.
 Relacionar dispositivos: Cuando el sistema operativo
detecta otro sistema conectado al mismo.
 Algoritmos: Un sistema operativo hace el uso de la
computadora más racional y eficiente.
Controlar el uso de los componentes físicos del ordenador:
memoria RAM, disco
duro, tarjetas de memoria flash, monitor, teclado, ratón así
como detectar los posibles errores que se produzcan en su
funcionamiento.
Controlar el proceso de almacenamiento de datos en los
diferentes dispositivos:
Discos duros, tarjetas de memoria., controlar y ejecutar todo
tipo de aplicaciones, así como detectar los errores de
Configuración.
Configurar los distintos componentes del ordenador: tarjetas
de red, monitor, módem, impresora, poner el ordenador en
comunicación con otros ordenadores.
6

COMPONENTES DE UN SISTEMA OPERATIVO.


 Interfaz de usuario:permite a los usuarios interactuar
con los dos dispositivos, ejecutar aplicaciones, acceder
a los archivos, administrar el sistema. E57
 l sistema operativo asigna diferentes permisos a cada
usuario en función de si es administrador, usuario
estándar o invitado.
 Llamadas al sistema:es el mecanismo utilizado por las
aplicaciones para solicitar servicios al sistema
operativo. Cada sistema operativo implementa su propia
biblioteca de llamadas al sistema que constituyen el
“lenguaje “que utilizan las aplicaciones para comunicarse
con el núcleo. Por ello, cada aplicación se diseña
específicamente para un sistema operativo y si se ejecuta
en otro diferente, si no funciona.
 Kernel (núcleo): módulo central que constituye la parte
más importante del sistema operativo. Es el responsable
de facilitar los usuarios y las aplicaciones acceso seguro
al hardware del ordenador y gestionar los recursos a
través de las llamadas al sistema. Provee todos los
servicios esenciales que requiere el sistema operativo,
tales como: Gestión de los procesos, asigna a los
programas en ejecución los recursos que necesitan para a
su tarea: tiempo del procesador, memoria, archivos o
dispositivos. Gestión de la memoria, almacena en la
memoria principal los datos que están siendo utilizados
por el procesador y en la memoria secundaria los datos
que se guardan de forma permanente.
 Gestión de archivos, proporciona todas las operaciones
para utilizarlos.
 Sistema de comunicaciones, gestiona el envío y información
a través de la red.
 Sistema de entrada / salida, interactúa con los
dispositivos periféricos
7

EVOLUCION HISTORICA DE LOS SISTEMAS


OPERATIVOS.
Generación 0
Esta abarca de la década de los años cuarenta y se caracterizaba
porque no existían los sistemas operativos, el usuario debía
codificar manualmente en lenguaje a máquina las instrucciones
que le permitirán usar los recursos de la computadora y
controlar así la ejecución de sus programas.
 No había sistemas operativos.
 Década de los 40’s.
 Codificación en lenguaje máquina (0,1).
 Los programas se introducían bit a bit.

1ª Generación 1945-1955
En esta generación surge el concepto de sistema operativo
cuando los laboratorios de investigación de la general motor
desarrollaron el premier sistema operativo para su computadora
IMB 701m en1955 General motor y North American Aviation
desarrollan el sistema operativo para la computadora IBM 704m
básicamente lo único que hacía era comenzar la ejecución de un
programa cuando terminaba el anterior para 1957 ya se habían
desarrollado de manera particular distintos sistemas
operativos para ese modelo de computadora.
Los primeros sistemas operativos tenían como objetivo eliminar el
tiempo perdido entre el término de un proceso el inicio de
ki777otro, esto se logró desarrollando un sistema operativo que
realizara procesos por lotes, en donde los programas se ejecutaban
uno después del otro hasta analizar el lote completo, o si antes se
producía un error, el programa en ejecución tenía control total de
la máquina.

 Máquinas enormes.
 Bulbos y conexiones.
 Lenguaje máquina absoluto.
 Tarjetas perforadas.
 Máquinas lentas y costosas.
 Lenguajes de programación desconocidos.
A finales de los años 1940, con lo que podríamos llamar la
aparición de la primera generación de computadoras. Se accedía
directamente a la consola de la computadora desde la cual se
actuaba sobre una serie de micro Interruptores que permitían
8

introducir directamente el programa en la memoria de la


computadora
(En realidad al existir tan pocas computadoras todos podrían
considerarse prototipos y cada constructor lo hacía sin seguir
ningún criterio predeterminado). Por aquel entonces no existían
los sistemas operativos, y los programadores debían interactuar
con el hardware del computador sin ayuda externa. Esto hacía
que el tiempo de preparación para realizar una tarea fuera
considerable. Además para poder utilizar la computadora debía
hacerse por turnos. Para ello, en muchas instalaciones,
Se rellenaba un formulario de reserva en el que se indicaba el
tiempo que el programador necesitaba para realizar su trabajo.
En aquel entonces las computadoras eran máquinas muy costosas
lo que hacía que estuvieran muy solicitadas y que sólo pudieran
utilizarse en periodos breves de tiempo. Todo se hacía en
lenguaje de máquina.
2ª Generación 1955-1965
La segunda generación abarca la primera mitad de los años
sesenta. El elevado costo de operación de las computadoras de
esos tiempos obligó a buscar formas de optimizar el tiempo de
ejecución de los programas, mejorando el rendimiento de las
computadoras y aumentando el número de procesos en ejecución
por unidad de tiempo. Aparecen conceptos como multiprogramación
y multiprocesamiento. Cuando un programa se ejecutaba y
producía una operación de e/s, el programa se detenía hasta
que esta operación culminara, estos tiempos de espera
originaban tiempos muertos de uso del procesador; sin embargo,
con la multiprogramación varios programas podían residir a la
vez en memoria y el procesador podía conmutar entre ellos, de
esta forma, al compartir el procesador (tiempo de
procesamiento) y los demás recursos hardware, se pueden
ejecutar varios procesos a la vez. El multiprocesamiento
significó que se utilizaban varios procesadores en una misma
computadora.
 Transistores.
 Procesamiento por lotes (unitaria).
 Cintas magnéticas como unidades de almacenamiento.
 Se empieza a hablar de sistemas operativos.
 El primer sistema operativo es desarrollado por la General
Motors para una IBM 701 y la 7094.
 Los sistemas se utilizan para cálculos científicos e
ingeniería.
 Lenguaje ensamblador.
 FORTRAN, IBSYS.
9

 Tiempos compartidos.
A principios de los años 50 con el objeto de facilitar la
interacción entre persona y computador,
Los sistemas operativos hacen una aparición discreta y bastante
simple, con conceptos tales como el monitor residente, el
proceso por lotes y el almacenamiento temporal.

3ª Generación 1965-1980
La tercera generación abarca hasta mediados de los años
setenta. Comienza con la familia de computadoras IBM/360 y el
sistema operativo OS/360 que incorporaba una mayor gama de
utilidades que facilitaban el uso de la computadora y se podían
adquirir actualizaciones para el mismo SO. En esta generación
surgen grandes y costosos sistemas operativos. Los sistemas
operativos aumentan sus prestaciones y gestionan
eficientemente los recursos del ordenador y el usuario
experimenta mayor facilidad para su manejo. IBM separa los
costos de hardware y software, por lo que el sistema operativo
se puede adquirir en independencia del hardware.
 Circuitos integrados.
 Multiprogramación.
 Tiempos compartidos.
 Lenguaje de alto nivel C.
 Etapa inicial de las PC’s.
 Estándares de comunicación.
 Lectura de trabajos de tarjetas a discos.
 Ejecución de trabajos en serie.
 Sistemas de tiempo real.
 Manejo por cola de impresión.
En los años 1960 se produjeron cambios notorios en varios
campos de la informática, con la aparición del circuito cerrado
la mayoría orientados a seguir incrementando el potencial de
los computadores. Para ello se utilizaban técnicas de lo más
diversas: Multiprogramación Tiempo compartido, Tiempo real,
Multiprocesador, Sistemas operativos desarrollados.
Años 70 Debido al avance de la electrónica, pudieron empezar a
crearse circuitos con miles de transistores en un centímetro
cuadrado de silicio, lo que llevaría, pocos años después, a
producirse los primeros sistemas integrados. Ésta década se
podría definir como la de los sistemas de propósito general y
en ella se desarrollan tecnologías que se siguen utilizando en
la actualidad. Es en los años 1970 cuando se produce el boom
10

de los miniordenadores y la informática se acerca al nivel de


usuario. En lo relativo a lenguajes de programación, es de
señalar la aparición de Pascal y C, el último de los cuales se
creó específicamente para reescribir por completo el código
del sistema operativo Unix, convirtiéndolo en uno de los pocos
SO escrito en un lenguaje de alto nivel. En el campo de la
programación lógica se dio a luz la primera implementación de
Prolog, y en la revolucionaria orientación a objetos,
Smalltalk.

4ª Generación Década de los 80’


La cuarta generación comprende hasta mediados de los años
ochenta. Los sistemas operativos aumentan sus prestaciones y
gestionan eficientemente los recursos del ordenador. Es en esta
época donde el usuario experimenta una mayor facilidad para su
manejo. Surgen sistemas operativos tales como: Honeywell, VMS
y VM/370 de IBM y el Scope de Control Data, todos ellos
disponían de multiprogramación, tiempo compartido, memorial
virtual, procesos secuenciales que operan por medio de
semáforos, sistema jerárquico de archivos y e/s independiente
del dispositivo. En esta generación surge el sistema operativo
UNIX, desarrollado en lenguaje de alto nivel (lenguaje C) que
le otorga una alta portabilidad, desde grandes computadoras
hasta computadoras personales. En los años 80 se desarrolla
una gran cantidad de sistemas operativos para computadoras
personales (de 8 y 16 bits) entre los que destacan: MS-DOS,
Xenix, Apple-DOS y CP/M.
Surgen PC’s
 MS-DOS, UNIX.
 Diseño de interfaz amigables gráficas.
 VLCI
 Redes
 Sistemas operativos de redes
 Sistemas operativos distribuidos
 Máquinas virtuales
 Compatibilidad entre plataformas
 Comunicación remota
 Programación orientada a objetos
 Internet
 Robótica
 SW amable con el usuario
 Sistemas de seguridad para bases de datos.
 HTML
11

 Agentes
 Tecnologías de información y comunicación.
La cuarta generación abarca de los años noventa a la fecha.
Cobran importancia los entornos gráficos o GUI’s (Interfaces
Gráficas de Usuario - Graphical User Interface) colocándose
como las más populares la de Windows, Linux y Mac, desplazando
a los sistemas operativos con interfaz en modo consola
originados en la segunda
Generación. En esta generación se explota al máximo el concepto
de multitareas para mantener trabajando al procesador con más
de un proceso a la vez, es decir, el procesador puede correr
parte de un proceso A y mientras se realizan operaciones de
e/s de este proceso, el procesador puede ejecutar un proceso
B. También se
Desarrollan sistemas operativos que permiten realizar
procesamientos en paralelo, permitiendo la comunicación y
sincronización de procesos extremadamente rápido.

CLASIFICACION DE SISTEMAS OPERATIVOS.


El sistema operativo administra todos los recursos como discos,
impresoras, memoria, monitor, altavoces y demás dispositivos.
Por ello resulta imprevisible para el funcionamiento del
ordenador.
CLASIFICACION.

Estructura Simple. Estructura cliente/servidor Máquina virtual


 Monolítico  Micro núcleo  Híbridos
s  Exonucleo
 Capas
 Modulares.

Tendencias

 Núcleos
extensibles.
 Multi servidores
sobre un micro
núcleo.
 Núcleos híbridos
12

Los sistemas operativos se pueden clasificar atendiendo


a:
Administración de tareas:
 Monotarea: los que permiten sólo ejecutar un programa a
la vez
 Multitarea: los que permiten ejecutar varias tareas o
programas al mismo tiempo
Administración de usuarios.
 Monousuario: aquellos que sólo permiten trabajar a un
usuario, como es el caso de los ordenadores personales
 Multiusuario: los que permiten que varios usuarios
ejecuten sus programas a la vez.
Hoy día los sistemas operativos son siempre multiusuario y
multitarea.
Multiusuario: Un sistema operativo es multiusuario cuando
puedes tener configurados en él varios usuarios distintos. Por
ejemplo en casa, un usuario para ti, otro para tu hermano y
otro para tus padres.
Multitarea: Un Sistema operativo es multitarea cuando puede
ejecutar varios programas a la vez. Está claro que Windows lo
es ya que, por ejemplo, mientras escribes un texto en el Word,
puedes estar escuchando música y navegando por Internet.
13

ORGANIZACIÓN INTERNA O ESTRUCTURA.


 Monolítico
 Jerárquico
 Cliente-servidor

Manejo de recursos centralizados: si permite utilizar los


recursos de un solo ordenador
Distribuidos: si permite utilizar los recursos (CPU, memoria,
periféricos...) de más de un ordenador al mismo tiempo.
Monolítico: El SO completo se ejecuta en
modo protegido.
Nula protección entre los componentes.
Ventajas: Economía de cambios de contexto
⇒ + eficiente.
Inconvenientes: Falta de protección
(fiabilidad, controladores), Manejo de la
complecididad.

Capas
14

Modular

Micronucleo
15

Exonucleo

Máquina virtual
16

Hibrida
17

ESTRUCTURA DE UN SISTEMA OPERATIVO.


En esta sección veremos los componentes de un sistema
operativo, los servicios que él brinda y sus posibles
estructuras.

jyp’

Componentes de un sistema operativo


• Administración de procesos
• Administración de memoria
• Subsistema de Entrada/Salida
• Administración de Almacenamiento secundario
• Subsistema de archivos
• Sistema de protección
Administración de Procesos
Para comenzar debemos saber que es un proceso. Un proceso es
un programa en memoria + CPU + acceso a dispositivos + otros
recursos. Notemos que un proceso necesita de ciertos recursos
(como CPU, memoria, archivos, dispositivos de E/S, etc.) para
realizar su tarea. Podemos ver entonces que un proceso es una
entidad activa, mientras que un programa una entidad pasiva.
Sabiendo entonces que es un proceso, podemos decir entonces
que el sistema operativo es el encargado de su administración.
Es el encargado de proveer servicios para que cada proceso
pueda realizar su tarea. Entre los servicios se encuentran: •
Crear y destruir procesos • Suspender y reanudar procesos •
Proveer mecanismos para la sincronización y comunicación entre
procesos • Proveer mecanismos para prevenir dead-locks o lograr
salir de ellos.
18

ADMINISTRACION DE MEMORIA.
La memoria es un área de almacenamiento común a los
procesadores y dispositivos, donde se almacenan programas,
datos, etc.
El sistema deberá administrar el lugar libre y ocupado, y será
el encargado de las siguientes tareas:
• Mantener que partes de la memoria están siendo
usadas, y por quien.
• Decidir cuales procesos serán cargados a memoria
cuando exista espacio de memoria disponible, pero no
suficiente para todos los procesos que deseamos.
• Asignar y quitar espacio de memoria según sea
necesario
Subsistema de Entrada/Salida
El sistema operativo deberá ocultar las características
específicas de cada dispositivo y ofrecer servicios comunes a
todos. Estos servicios serán, entre otros:
• Montaje y desmontaje de dispositivos
• Una interfaz entre el cliente y el sistema operativo
para los device drivers.
• Técnicas de cache, buffering y spooling.
• Device drivers específicos
Administración de Almacenamiento secundario
Dado que la memoria RAM es volátil y pequeña para todos los
datos y programas que se precisan guardar, se utilizan discos
para guardar la mayoría de la información. El sistema operativo
será el responsable de:
• Administrar el espacio libre
• Asignar la información a un determinado lugar
• Algoritmos de planificación de disco (estos
algoritmos deciden quien utiliza un determinado
recurso del disco cuando hay competencia por él).
Subsistema de Archivos.
Proporciona una vista uniforme de todas las formas de
almacenamiento, implementando el concepto de archivo como una
colección de bytes. El Sistema Operativo deberá proveer métodos
para:
19

• Abrir, cerrar y crear archivos


• Leer y escribir archivos
Sistema de protección
Antes de todo debemos, tener en cuenta que por protección nos
referimos a los mecanismos por los que se controla el acceso
de los procesos a los recursos.
En un sistema multiusuario donde se ejecutan procesos de forma
concurrente se deben tomar medidas que garanticen la ausencia
de interferencia entre ellos. Estas medidas deben incorporar
la posibilidad de definir reglas de acceso, entre otras cosas.
Viendo de otra forma la definición de la estructura de un
sistema operativo podemos clasificarlas como ‘capas’ o etapas,
cada una de las cuales tiene una serie de funciones asociadas:
El núcleo es la herramienta que gestiona todos los procesos,
siendo la encargada de lleva la cuenta de todos los activos y
de planificarlos. Esto incluye la selección del tiempo del
procesador que ocupará cada uno, por lo que es una etapa muy
importante que debe tener mucha inteligencia.
Entrada y salida básica proporciona funciones primitivas
asociadas con la gestión de la memoria secundaria, proveyendo
las herramientas necesarias para la localización e
interpretación de los bloques de datos en el disco duro, pero
sin llegar a dar muchos detalles.
La gestión de la memoria administra la memoria RAM, asignando
y liberando a los procesos de una parte de la memoria de la
computadora.
El sistema de archivo proporciona las funciones que son
necesarias para almacenar la información en archivos.
La última etapa es la intérprete de comando, donde se ubica la
interfaz visible para el usuario. Esta se va perfeccionando y
configurando de acuerdo a la comodidad de los usuarios.
Clasificación de los sistemas operativos
Existen diferentes formas de clasificar y subdividir a los
sistemas operativos. A continuación se enumerarán los
criterios, y luego los diferentes grupos que se forman en base
a ellos:
De acuerdo al modo de administración de tareas:
20

 Monotarea: Solamente puede ejecutar un en un momento dado.


No puede interrumpir los procesos en acción.
 Multitarea: Es capaz de ejecutar varios procesos al mismo
tiempo. Es capaz de asignar los recursos de forma
alternada a los procesos que los solicitan, de manera que
el usuario percibe que todos funcionan a la vez.
De acuerdo al modo de administración de los usuarios:

 Monousuario: Sólo permite ejecutar los programas de un


usuario al mismo tiempo.
 Multiusuario: Si permite que varios usuarios ejecuten
simultáneamente sus programas, accediendo a la vez a los
recursos de la computadora.
De acuerdo a la forma de manejo de los recursos:

 Centralizado: Si permite usar los recursos de una sola


computadora.
 Distribuido: Si permite utilizar los recursos de más de
una computadora al mismo tiempo.

Núcleo de un sistema operativo.


Los Sistemas Operativos proporcionan un número potencialmente
grande de servicios accesibles al usuario. Uno de los problemas
principales que se encuentran los diseñadores de sistemas
operativos es cómo manejar esta complejidad de funciones a
muchos niveles de detalle mientras proporcionan un producto
fiable y fácil de mantener.
Con la experiencia que se tiene sobre el tema, se está tendiendo
a la implantación de sistemas operativos en forma de niveles
jerárquicos de abstracción. De esta forma, se obtendrán una
serie de módulos que ocultarán los detalles de la estructura
de datos y los algoritmos de procesamiento que utilicen.
Externamente se conocerá cada módulo por realizar unas
funciones específicas que sólo pueden usar las capas
superiores, pero los detalles de cómo lo hacen no estarán
disponibles.
Como resultado, los módulos tienden a ser pequeños y fáciles
de comprender e implementar. Con todo esto, el diseño
jerárquico ofrece una mayor facilidad en la depuración,
modificación y verificación de los sistemas operativos.
21

El núcleo del sistema operativo es el nivel más interno del


sistema operativo. Actúa de interfaz entre el hardware básico
y el resto del sistema operativo. Su finalidad es constituir
un entorno adecuado en el que se puedan desarrollar los
distintos procesos.
Nivel Núcleo. Gestión básica de procesos: planificación a corto
plazo, cambio de contexto. Primitivas de sincronización.
Gestión de E/S y tiempo, rutinas de atención.
Nivel del Sistema Básico de Ficheros, BFS. Sistema básico de
ficheros: ubicación en disco, directorios. Rutinas de E/S,
servidores de dispositivos.
Nivel Sistema. Implementación de las llamadas al sistema;
independencia del dispositivo (tablas de canales); gest
El núcleo es interfaz entre el hardware y el resto del S. O.
Las rutinas que lo componen tienen que ser cortas y rápidas.
Funciones:
 Manipulación de interrupciones.
 Gestión de procesos (creación, planificación,
sincronización, destrucción)
 Soporte otras actividades (E/S, gestión memoria,
contabilización).
 Mantenimiento tablas básicas (P.C.B., dispositivos de
memoria). Módulos básicos:
 Interrupt handler.
 Scheduler y Dispatcher
 Primitivas de sincronización y comunicación.
Las funciones básicas del núcleo de un sistema operativo son:
22

• Manipulación de las interrupciones


• Creación/Destrucción de procesos
• Cambios de estados de procesos
• Planificación de los procesadores
• Suspensión/Reanudación de procesos
• Sincronización de procesos
• Comunicación entre procesos
• Manipulación de bloques de control de procesos
• Soporte de las actividades de entrada/salida
• Soporte de la asignación/liberación del almacenamiento
• Soporte del sistema de archivos
• Soporte de un mecanismo de llamada/regreso al procedimiento
• Soporte de ciertas funciones contables del sistema
Características del núcleo:
• Se encuentra residente en Memoria Principal
• Tienden a ser interrumpibles
• Se ejecutan con el máximo privilegio
El núcleo es la parte más dependiente del hardware. Normalmente
se escribe en ensamblador, pero existen otros lenguajes para
diseño de sistemas operativos: BCPL (Basic Compiled Programming
Language), BLISS (Basic Language for Implementing Systems), C,
Pascal Concurrente, PL/2.

Representación de los procesos


Los programas del núcleo actúan sobre estructuras de datos que
constituyen la representación física de todos los procesos del
sistema (tablas de control). En las tablas de control están
representadas todas las estructuras de datos del sistema
(memoria, E/S, ficheros y procesos).
Bloque de control de un proceso (P.C.B.) Estructura de datos
que contiene información relativa a cada proceso:

 Identificador del proceso.


 Estado del proceso.
23

 Valores de los registros de C.P.U. (contador de programa,


etc.).
 Datos para gestión de recursos:
 Memoria (tablas de páginas, etc.)
 E/S (demandas, tablas de dispositivos asignados, etc.)
 Procesador (prioridades, punteros a colas, etc.).
 Datos de contabilización (tiempo de uso de procesador,
etc).

Para poder mantener un entorno adecuado en el que puedan


existir los procesos, se debe de trabajar sobre algún tipo de
estructura de datos. Cada proceso se representa mediante un
descriptor de proceso o bloque de control de proceso (PCB) que
estará formado por toda aquella información que puede variar
de un proceso a otro. Es decir, contendrá:
• El estado del proceso: preparado, en ejecución, bloqueado.
• Entorno volátil: Formado por toda la información que hay
que guardar cuando se pierde el control del procesador, como
puede ser el Contador de Programa (CP), los registros
acumuladores, el registro de estado.
• Otra información: Identificador del proceso (índice o
número), nombre, fecha de creación del proceso.
24

Potrebbero piacerti anche