You are on page 1of 55

INTEGRANTES:

Acosta Ronald Oswaldo


Benavidez Mendoza Gerson
Galn Siesquen Christian
Graus Elias Christian
Gonzales Chafloque Manuel
Snchez Medina Joel Eduardo
Sipion Vilchez Aldo Gabriel
TEMA:
Sistemas Operativos
DOCENTE:
Dr. Sandra Lisette Aznarn Guevara
SISTEMAS OPERATIVOS
CONCEPTOS BSICOS
PLANIFICACIN
GESTIN DE MEMORIA
PUNTOS A TRATAR

OBJETIVOS Y FUNCIONES DEL SISTEMA


1.- CONCEPTOS OPERATIVO
BSICOS TIPOS DE SISTEMAS OPERATIVOS

PLANIFICACIN A LARGO PLAZO


2.- PLANIFICACIN PLANIFICACIN A MEDIO PLAZO
PLANIFICACIN A CORTO PLAZO

INTERCAMBIO
PARTICIONES
3.- GESTIN DE PAGINACIN
MEMORIA MEMORIA VIRTUAL
BUFFER DE TRADUCCIN RPIDA
SEGMENTACIN
QU ES?

SISTEMAS
OPERATIVOS
QU QU
FUNCIONES OBJETIVOS
CUMPLE? TIENE?
1.- CONCEPTOS BSICOS SOBRE SISTEMAS
OPERATIVOS

ASPECTOS CLAVE:

EL SISTEMA OPERATIVO (SO) ES EL SOFTWARE QUE CONTROLA


LA EJECUCIN DE LOS PROGRAMAS DE APLICACIN Y ACTA
COMO INTERFAZ ENTRE EL USUARIO Y EL HARDWARE DEL
COMPUTADOR

UNA DE LAS FUNCIONES MAS IMPORTANTES DEL SO ES


DETERMINAR QU PROCESO DEBE EJECUTARSE EN CADA
MOMENTO (PLANIFICACIN).

OTRA DE LAS FUNCIONES IMPORTANTES DEL SO ES LA GESTIN


DE MEMORIA.
OBJETIVOS Y FUNCIONES DEL SISTEMA
OPERATIVO

SE PUEDE CONSIDERAR QUE UN SISTEMA OPERATIVO TIENE DOS


OBJETIVOS:

COMODIDAD: un sistema operativo hace que un computador


sea ms fcil y cmodo de usar.

EFICIENCIA: un sistema operativo permite que los recursos del


computador se utilicen de forma ptima y eficiente.
EL SISTEMA OPERATIVO COMO UN INTERFAZ USUARIO/COMPUTADOR
EL SISTEMA OPERATIVO USUALMENTE PROPORCIONA SERVICIOS
EN LAS SIGUIENTES REAS:

CREACIN DE PROGRAMAS: proporciona cierta variedad de


servicios y medios, tales como editores y depuradores, para ayudar
al programador en la elaboracin de programas.
EJECUCIN DE PROGRAMAS: para ejecutar un programa es preciso
realizar una serie de tareas. Las instrucciones y los datos deben
cargarse en memoria principal, los dispositivos de E/S y los ficheros
deben iniciarse, y deben prepararse otros recursos.
ACCESO A LOS DISPOSITIVOS DE E/S: cada dispositivo de E/S
necesita su conjunto particular de instrucciones y seales de control
para poder operar.
ACCESO CONTROLADO A FICHEROS: en el caso de ficheros, el
control debe incluir el conocimiento no solo de la naturaleza del
dispositivo (disco, cinta) sino tambin del formato del fichero y del
medio de almacenamiento.
ACCESO AL SISTEMA: en el caso de un sistema compartido o
pblico, el sistema operativo controla el acceso al sistema
como un todo y a los recursos especficos del sistema.
DETECCIN DE ERRORES Y RESPUESTA: mientras el
computador est funcionando pueden producirse diversos
errores. el sistema operativo debe responder de forma que
se supere la condicin de error con el menor impacto para
las aplicaciones que se estn ejecutando. La respuesta del
sistema operativo puede implicar abortar el programa que
caus el error, reintentar la operacin, o simplemente
notificar el error a la aplicacin.
GESTIN DE CUENTA (ACCOUNTING): un buen sistema
operativo debe almacenar la estadstica de uso de los
distintos recursos y supervisar los parmetros de prestaciones
tales como el tiempo de respuesta.
EL SISTEMA OPERATIVO COMO ADMINISTRADOR DE RECURSOS

UN COMPUTADOR ES UN
CONJUNTO DE :

TRANSFERIR,
ALMACENAR,
RECURSOS para Y PROCESAR DATOS,
Y CONTROLAR ESAS
FUNCIONES

EL SISTEMA OPERATIVO ES RESPONSABLE DE LA ADMINISTRACIN DE


ESOS RECURSOS
Al administrar los recursos del computador, el sistema operativo
controla las funciones bsicas del computador. Pero este
mecanismo de control se ejerce de una forma inusual por dos
razones:

El sistema operativo funciona de la misma forma que el software


ordinario del computador; esto es, se trata de un programa
ejecutado por el procesador.

El sistema operativo frecuentemente cede el control y depende


del procesador para recuperar el control.
La figura indica los principales recursos que administra el sistema operativo
TIPOS DE SISTEMAS OPERATIVOS

Para distinguir entre los distintos tipos de sistemas operativos existen


ciertas caractersticas clave.
Las caractersticas se agrupan en dos dimensiones distintas.:

La primera dimensin especifica si se trata de:

Sistema de colas (batch) o


Sistema Interactivo.

Otra dimensin independiente especifica si el sistema utiliza:

Multiprogramacin o
Monoprogramacin.
Antes de continuar tratando los tipos, veamos como eran los primeros
sistemas operativos.

LOS PRIMEROS SISTEMAS OPERATIVOS

EN LOS PRIMEROS COMPUTADORES, EL PROGRAMADOR


INTERACTUABA DIRECTAMENTE CON EL HARDWARE DEL
COMPUTADOR. ESTAS MQUINAS SE ACCIONABAN DESDE UNA
CONSOLA, CONSTITUIDA POR LUCES INDICADORAS, INTERRUPTORES,
ALGN DISPOSITIVO DE ENTRADA Y UNA IMPRESORA. LOS PROGRAMAS
EN CDIGO MQUINA SE CARGABAN MEDIANTE EL DISPOSITIVO DE
ENTRADA (POR EJEMPLO, UN LECTOR DE TARJETAS).
Los primeros sistemas presentaban dos problemas
fundamentales:

Planificacin: la mayora de las instalaciones utilizaban una lista


para reservar tiempo en la mquina. Un usuario normalmente poda
reservarse espacios de tiempo mltiplos de media hora. Sin embargo,
poda haber reservado una hora y en cambio terminar en 45 minutos;
lo que ocasionaba un tiempo desperdiciado en el que el computador
estaba parado. Por otra parte, el usuario poda tener problemas al
ejecutar el programa, no terminar en el tiempo asignado y verse
forzado a parar sin resolver el problema.
Tiempo de preparacin: un nico programa, llamado trabajo
(job), se encargaba de cargar en memoria el compilador y el
programa en lenguaje de alto nivel (programa fuente), guardar el
programa compilado (programa objeto) y despus cargar y enlazar
juntos el programa objeto y las funciones comunes. Cada uno de
estos pasos poda implicar montar y desmontar cintas o activar
terminales de tarjetas. Por tanto, se consuma una considerable
cantidad de tiempo solo en preparar el programa para que se
pudiera ejecutar.
SISTEMAS DE COLAS SIMPLES

Para mejorar la utilizacin, se desarrollaron los sistemas de colas


sencillos. Con un sistema de este tipo, llamado monitor, el usuario ya no
tiene acceso directo a la mquina. En cambio, el usuario enva el trabajo,
en tarjetas o en cinta, a un operador del computador que pone los
trabajos en cola y sita toda la cola en un dispositivo de entrada al que
accede el monitor.

El monitor, o sistema operativo de colas, es simplemente un programa de


computador. Se basa en la posibilidad que tiene el procesador de captar
instrucciones de diferentes zonas de la memoria principal para tomar y
ceder el control. Adems se necesita que el hardware proporcione
ciertas funciones:

Proteccin de Instrucciones
Temporizacin
memoria privilegiadas

Interrupciones
SISTEMAS DE COLAS MULTIPROGRAMADOS

Incluso con la sucesin automtica de trabajos que proporcionan los


sistemas de colas sencillos, el procesador est parado a menudo. El
problema surge porque los dispositivos de E/S son lentos en comparacin
con el procesador.La figura mostrada describe una situacin tpica. El
clculo se refiere a un programa que procesa un fichero de registros y
ejecuta, por trmino medio, cien instrucciones mquina por registro. En
este ejemplo el computador pasa alrededor del 96 por ciento de su
tiempo esperando que los dispositivos de E/S terminen de transferir
datos!
La siguiente figura ilustra la situacin dicha anteriormente. El
procesador consume cierto tiempo ejecutando instrucciones hasta que
llega a una instruccin de E/S. Entonces debe esperar hasta que esa
instruccin de E/S concluya para continuar.

Monoprogramacin

Esta ineficiencia puede evitarse. Se ha indicado que debe haber memoria


suficiente para dar cabida al sistema operativo (monitor residente) y a un
programa de usuario. Supngase que hay sitio para el sistema operativo y
dos programas de usuario. Ahora, cuando un trabajo necesita esperar
debido a una E/S, el procesador puede conmutar al otro trabajo, que
posiblemente no estar esperando una E/S

Multiprogramacin de
dos programas
Es ms, se podra expandir la memoria para disponer de tres, cuatro o
ms programas entre los que conmutar (ver imagen). Este proceso se
conoce como multiprogramacin o multitarea. Es el tema central de los
sistemas operativos modernos.

Multiprogramacin de
tres a ms programas
SISTEMAS DE TIEMPO COMPARTIDO

Igual que la multiprogramacin permite que el procesador ejecute


varios trabajos de la cola en un intervalo de tiempo, tambin se puede
hacer que ejecute varios trabajos interactivos. En este caso, la tcnica
se denomina tiempo compartido, puesto que el tiempo del procesador
se comparte entre varios usuarios. En un sistema de tiempo
compartido, varios usuarios acceden simultneamente al sistema a
travs de terminales, mientras que el sistema operativo alterna la
ejecucin de fragmentos o rfagas de cmputo correspondientes a cada
usuario.
Tanto las colas multiprogramadas como el tiempo compartido usan
multiprogramacin. Las diferencias esenciales se enumeran en la
siguiente tabla:
2.Planificacin del Sistema
Operativo

La clave de la multiprogramacin es la planificacin. De


hecho, usualmente implica tres tipos de planificacin Pero
primero, introduciremos el concepto de proceso.
PROCESO:

Este trmino fue Un programa en


utilizado por primera ejecucin.
vez por los diseadores
El espritu animado
de Multics en los
de un programa.
sesenta. En cierta
forma, se trata de un Aquella entidad a la
trmino ms general que que se asigna un
trabajo. Se han dado procesador.
muchas definiciones del
trmino proceso, entre
ellas:
TIPOS DE PLANIFICACION
El planificador a largo plazo
determina qu programas se
admiten para ser procesados en
el sistema. De esta manera, este
planificador controla el grado de
multiprogramacin (nmero de
PLANIFICACIN A procesos en memoria). Una vez
admitido, un trabajo o programa
LARGO PLAZO: de usuario pasa a ser un proceso
y se aade a una cola asociada al
planificador a corto plazo. En
algunos sistemas, un proceso
nuevo comienza a partir de una
sustitucin en el intercambio
(swapping), en cuyo caso se
aade a la cola del planificador a
medio plazo. En un sistema de
colas, o en la parte de colas de
un sistema operativo de uso
general, los trabajos nuevos que
se envan pasan al disco y se
mantienen en una cola. El
planificador a largo plazo
selecciona trabajos de esta cola
cuando puede.
La planificacin a medio
plazo es parte de la funcin
de intercambio.
Usualmente, la decisin de
PLANIFICACIN A A
PLANIFICACIN intercambiar un proceso se
MEDIO PLAZO:
MEDIO PLAZO toma en funcin del grado
de multiprogramacin que
se desea mantener. En un
sistema que no utilice
memoria virtual, la gestin
de la memoria tambin
debe considerarse por el
planificador a medio plazo,
y en las decisiones tomadas
en el intercambio deben
tenerse en cuenta las
necesidades de memoria de
los procesos
intercambiados.
El planificador a largo plazo se
ejecuta de manera relativamente
poco frecuente y toma las
decisiones ms genricas de si
aceptar un nuevo proceso o no, y
qu proceso aceptar. El
planificador a corto plazo,
conocido tambin como
PLANIFICACIN A A
PLANIFICACIN distribuidor (Dispatcher), se
ejecuta frecuentemente y toma la
LARGO
CORTOPLAZO:
PLAZO decisin ms especfica de qu
trabajo se ejecuta a continuacin.
Estados de los procesos. Para
comprender el funcionamiento del
planificador a corto plazo,
necesitamos considerar el concepto
de estado de un proceso. Durante
el tiempo de vida de un proceso, la
situacin en que se encuentra
cambiar un cierto nmero de
veces. Su situacin en cada
instante de tiempo se denomina
estado. El trmino estado se utiliza
porque tiene la connotacin de que
existe cierta informacin que
define la situacin en que se
encuentra el proceso en ese
momento.
Usualmente, se definen cinco
estados para un proceso:
NUEVO (New): el planificador de alto nivel
admite un programa pero todava no est
preparado para ejecutarse. El sistema
operativo iniciar el proceso, pasndolo al
estado preparado.

PREPARADO (Ready): el proceso est


preparado para ejecutarse y se encuentra
esperando acceso al procesador.

EN EJECUCIN (Running): el proceso est


siendo ejecutado por el procesador.

EN ESPERA (Waitnig): el proceso ha


suspendido su ejecucin al estar esperando
algn recurso del sistema, tal como una E/S.

PARADO (Halted):
El proceso ha terminado y ser eliminado por
el sistema operativo.
Identificador
Estado
Prioridad
Contador de programa
Punteros de memoria
Para cada proceso del sistema,
el sistema operativo debe Datos de contexto
mantener informacin de su
estado indicando la situacin Informacin de estado de
en que se encuentra el la E/S
proceso y cualquier
informacin : Informacin para
contabilidad
IDENTIFICADOR: cada proceso en curso tiene un identificador nico.

ESTADO: el estado actual del proceso (Nuevo, Preparado, etc.).

PRIORIDAD: el nivel de prioridad relativo.

CONTADOR DE PROGRAMA: la direccin de la siguiente


instruccin del programa a ejecutar.

PUNTEROS A MEMORIA: las posiciones de memoria de inicio y


final del proceso.
DATOS DE CONTEXTO: Son los datos de los registros del
procesador cuando el proceso se est ejecutando, y se discutirn en
la Parte Tercera. Por ahora, es suficiente decir que estos datos
representan el contexto del proceso.

INFORMACIN DE ESTADO DE LAS E/S: Incluye las solicitudes


de E/S pendientes, los dispositivos de E/S (por ejemplo, cintas)
asignados al proceso, la lista de ficheros asignados al proceso, etc.

INFORMACIN PARA CONTABILIDAD: Puede incluir el tiempo


total y el tiempo de procesadores utilizados, los lmites de tiempo, los
datos de las cuentas, etc.
TECNICAS DE PLANIFICACION
1. El proceso A genera una llamada
a un servicio (por ejemplo, una
solicitud de E/S) del sistema
operativo. La ejecucin de A se
suspende hasta que el sistema
operativo ha completado el servicio
solicitado.
2. El proceso A origina una
interrupcin. Una interrupcin es
una seal generada por el hardware
que se enva al procesador. Cuando
se detecta la seal, el procesador
deja de ejecutar A y pasa al gestor
de interrupciones incluido en el
sistema operativo. Hay una
diversidad de eventos de A que
pueden ocasionar la interrupcin.
Por ejemplo, un error tal como el
intento de ejecutar una instruccin
privilegiada.
3. Algn hecho no relacionado con
el proceso A que requiere atencin
origina una interrupcin.
Por ejemplo cuando se completa
una operacin de E/S.
En cualquier caso, el resultado es el
siguiente. El procesador guarda los
datos del contexto actual y el
contador de programa de A en el
bloque de control del proceso A y
empieza a ejecutar el sistema
operativo. El sistema operativo
puede realizar alguna actividad, tal
como iniciar una operacin de E/S.
Funcionamiento
bsico del planificador
a corto plazo.
Sugiere la forma en que los
procesos avanzan en el
computador bajo el control del
sistema operativo.
Cada solicitud de proceso
(desde los trabajos en cola, o
los trabajos interactivos) se
sita en la cola a largo plazo. A
medida que los recursos estn
disponibles, una solicitud de
proceso se hace proceso y pasa
al estado preparado situndose
en la cola de corto plazo.
Alternativamente, el procesador
ejecuta instrucciones del
sistema operativo y de los
procesos de usuario. Mientras el
sistema operativo dispone del
control, decide qu proceso de
la cola de corto plazo debera
ejecutarse a continuacin.
Cuando el sistema operativo ha
terminado sus tareas
inmediatas, devuelve el
procesador a los procesos
elegidos.
GESTIN DE LA MEMORIA

En un sistema de monoprogramacin, la memoria principal


se divide en dos partes: una parte para el sistema
operativo (el monitor residente) y otra parte para el
programa que se est ejecutando. En un sistema
multiprogramado, la parte de usuario de la memoria
adems debe subdividirse para dar cabida a los distintos
procesos. La tarea de subdivisin la realiza dinmicamente
el sistema operativo y se conoce como gestin de memoria.
Una gestin eficiente de la memoria es vital en un sistema
multiprogramado. Si hay pocos procesos en memoria,
puede ocurrir que todos los procesos estn esperando
completar una E/S y el procesador permanecer inactivo.
En consecuencia, la memoria debe asignarse
eficientemente para situar en memoria tantos procesos
como sea posible.
Intercambio (swapping)
Representacin de un diagrama de colas para la
planificacin del procesador
La memoria contiene mltiples procesos y que el procesador
puede conmutar a otro proceso cuando el proceso en curso
tenga que esperar. Pero el procesador es tan rpido en
comparacin con las E/S que puede ser frecuente que lodos
los procesos de la memoria estn esperando una E/S. Por
eso, incluso con la multiprogramacin, un procesador puede
estar parado la mayor parte del tiempo.
Qu se puede hacer?

La memoria principal podra ampliarse y as ser capaz de


dar cabida a ms procesos, pero hay dos problemas en esta
solucin.
Otra solucin es el intercambio (swapping).
Particiones
El esquema ms simple para definir particiones en la memoria disponible
es utilizar particiones de Tamao fijo. Aunque las particiones son de
tamao fijo, no todas tienen igual tamao. Cuando un proceso se
introduce en memoria, se sita en la particin disponible ms pequea
que puede incluirlo.
Incluso con el uso de particiones de distintos tamaos, se desperdiciar
memoria.
Una posibilidad ms eficiente consiste en utilizar particiones de tamao
variable. Cuando un proceso se introduce en memoria, se le asigna
exactamente la memoria que necesita y no ms.
La memoria del proceso est constituida por instrucciones y
datos. Las instrucciones contendrn direcciones de posiciones
de memoria de dos tipos:
Direcciones de datos.
Direcciones de instrucciones, usadas por las instrucciones de
salto.
Pero estas direcciones no son fijas. Cambiarn cada vez que el
proceso se intercambie. Para resolver este problema, se
distingue entre direcciones lgicas y direcciones fsicas. Una
direccin lgica indica una posicin relativa al comienzo del
programa. Las instrucciones del programa contienen solo
direcciones lgicas.
Paginacin

los trozos de un programa, conocidos como pgina, se podran


asignar a los trozos de memoria disponibles, conocidos como
marcos o marcos de pgina.
Direcciones lgicas y fsicas
Memoria virtual

La memoria virtual, permite simular una memoria RAM de


mayor tamao que la que tienes instalada en tu equipo.
Se poda entonces usar el disco duro para simular que
tenemos ms memoria.
Esta tcnica consigue simular, por tanto, ms memoria, y
las aplicaciones ni se dan cuenta de todo lo que est
ocurriendo por debajo. En un sistema operativo normal, se
llega a simular tener el doble que sin usarla.
Esto es debido a que la velocidad de acceso de los datos al
disco duro es miles de veces ms lenta que a la memoria
RAM.
Por qu es tan importante la
memoria virtual?

Si nos quedamos sin memoria no podremos ejecutar ms


programas y los que estamos ejecutando tendrn
problemas para trabajar con ms datos.
Es siempre un compromiso entre la velocidad y la cantidad
de datos que el sistema es capaz de procesar.
El uso de memoria virtual puede hacer que tu equipo
funcione ms lento si es necesario ir por datos al disco
duro.
Buffer de traduccin anticipada

En principio, toda referencia a memoria virtual puede


ocasionar dos accesos a la memoria fsica: uno para captar
el elemento de la tabla de pginas apropiada, y otro para
captar el dato deseado. Como consecuencia, un esquema
de memoria virtual directo tendra el efecto de duplicar el
tiempo de acceso a memoria. Para resolver este problema,
la mayora de los esquemas de memoria virtual hacen uso
de una cach especial para los elementos de la tabla de
pginas, llamada usualmente buffer de traduccin
anticipada (TLB, Translation Lookaside Buffer).
Segmentacin

Hay otra forma en la que puede subdividirse la memoria


direccionable, conocida como segmentacin.
La segmentacin permite que el programador vea la
memoria constituida por mltiples espacios de direcciones
o segmentos y proporciona una forma conveniente de
organizar los programas y los datos.
VENTAJAS PARA EL PROGRAMADOR FRENTE A UN
ESPACIO DE DIRECCIONES NO SEGMENTADO:

Permite modificar los programas y recompilarlos


independientemente, sin que sea necesario volver a
enlazar y cargar el conjunto entero de programas. De
nuevo, esto se consigue utilizando varios segmentos.
Permite que varios procesos compartan segmentos. Un
programador puede situar un programa correspondiente
a una utilidad o una tabla de datos de inters en un
segmento que puede ser direccionado por otros
procesos.
Se facilita la proteccin. Puesto que un segmento se
construye para contener un conjunto de programas o
datos bien definido, el programador o el administrador
del sistema puede asignar privilegios de acceso de
forma adecuada.