Vous êtes sur la page 1sur 70

SISTEMAS OPERATIVOS

CHRISTIAN REVELO
Universidad de Nario

INTRODUCCION
El

sistema operativo se puede dividir en dos


clases: SO y aplicativos (mainframe,
servidor, multiprocesador, personal, tiempo
real, empotrados, tarjetas electrnicas)
Es el encargado de la administracin de los
recursos fsicos y lgicos de la PC,
El sistema moderno consta de uno o varios
procesadores, terminales, memoria central,
relojes, dispositivos de I/O, siendo este
transparente para el programador todas
estas actividades de administracin.

Sistema
Bancario

Reservacione
s en lnea
aerolneas

Juegos

Compiladores

Editores

Interprete
de
comandos

Sistema Operativo

Programas de Aplicacin

Programas de Sistema

Lenguaje de mquina

Microprogramacin

Hardware
Dispositivos fsicos

HISTORIA DE LOS S.O

Primera Generacin. Charles Babbage (17921871), creo una maquina analtica, era un diseo
completamente mecnico por medio de ruedas,
engranes, levas y dems partes mecnicas no
exista Sistema Operativo. (1945-1955) aparecen los
bulbos y conexiones, despus de la 2 Guerra
mundial, supremamente enormes, y existan gente
que se encargaba de disear, otros construa el
prog. Y otros daban mantenimiento a la misma

Generacin 1955-1965 aparecen los


transistores y sistema de procesamiento por
lotes, se volvieron confiables las computadores
y comenzaron a venderse.
Hubo
separacin
entre
diseadores,
constructores, operadores, programadores y
personal de mantenimiento.
Cobol - Foltran

Tercera

Generacin 1965- 1980

Aparecen los circuitos integrados aparece OS/360 de


IBM, main frame de gran nombre y talla.
Aparece la multiprogramacin dividir la memoria en
varias partes con un trabajo distinto en cada particin.
Tcnica Spooling
Grandes clculos cientficos.
Tiempo compartido (variante multiprogramacin)

Crecimiento de la mini computadores

CUARTA GENERACION

(1980-1990) Pc

Personales

LCI (Circuitos Integrados)


Se habla de estaciones de trabajo
Mucho mas amigables con los usuarios finales
RISC
Sistemas operativos en red y distribuidos

SISTEMA OPERATIVO COMO UNA MAQUINA


EXTENDIDA
Tiene 16 comandos a fin de generar
todos los movimientos y acciones del
D.D, y los cuales carga de 1 a 9
registros
de dispositivo. READ y
WRITE son los
comandos mas
utilizados.
1.) Direccin del bloque para leer
2.) Nmero sectores por pista
3.) Modo de grabacin en el disco
4.) Espacio entre sectores

Sistema Operativo como controlador de recursos


Desde

el punto de vista de controlador de


recursos el sistema operativo proporciona a
los usuarios una interfaz conveniente de
arriba hacia abajo (top down), ya que su
labor es la de proporcionar una asignacin
ordenada y controlada de los procesadores,
memoria, dispositivos de I/O ejemplo: 3
procesos llegan a la misma impresora.

CONCEPTOS S.O
Llamadas

al Sistema: Es una interfaz entres


el sistema operativo y los programas de
usuario, estas se eliminan, crean.
Procesos: Es mas que un programa en
estado de ejecucin, consta de un programa
ejecutable, datos, pila, contador y otros
datos necesarios para ejecutar el programa
Tabla de procesos

Archivos:

Una de las funciones principales del


S.O es ocultar particularidades de los discos y
dems dispositivos de I/O, razn por lo cual se
debe crear el sistema de archivos para cada
sistema operativo, por lo cual se crean llamadas
para crear, modificar o borrar directorios.
Llamadas al Sistema: Los prog. De usuario se
comunican con el S.O mediante llamadas

En

si consiste en que los datos del archivo dado


pasen a un buffer, donde el programa pueda
tener accesos a ellos. Y se utilizan
principalmente para crear procesos, controlar la
memoria, leer y escribir I/O
EL Shell: Interprete de comandos no hace parte
del S.O

ESTRUCTURA DE LOS SISTEMAS OPERATIVOS


SISTEMAS

MONOLITICOS

Se
escribe
como
una
coleccin
de
procedimientos y pueden comunicarse entre ellos
cuantas veces quieran y en el momento que
quieran
Modo supervisor modo ncleo

Mquinas Virtuales

Las mquinas virtuales de sistema, tambin


llamadas mquinas virtuales de hardware,
permiten a la mquina fsica subyacente
multiplicarse entre varias mquinas virtuales, cada
una ejecutando su propio sistema operativo. A la
capa de software que permite la virtualizacin se la
llama monitor de mquina virtual o "hypervisor".
Un monitor de mquina virtual puede ejecutarse o
bien directamente sobre el hardware o bien sobre un
sistema operativo ("host operating system").

CLIENTE - SERVIDOR

La arquitectura cliente-servidor es un modelo de


aplicacin distribuida en el que las tareas se
reparten entre los proveedores de recursos o
servicios, llamados servidores, y los demandantes,
llamados clientes. Un cliente realiza peticiones a otro
programa, el servidor, que le da respuesta. Esta idea
tambin se puede aplicar a programas que se
ejecutan sobre una sola computadora, aunque es
ms ventajosa en un sistema operativo multiusuario
distribuido a travs de una red de computadoras.

PROCESOS

Qu es un Proceso?
Es un programa en estado de ejecucin, en la
actualidad los computadores modernos hacen varias
cosas al mismo tiempo, a la vez que ejecutan
programas de usuarios ej: pueden leer un disco,
efectuar procesos de una Terminal o imprimir un
documento.
La CPU ejecuta en cierto instante un solo programa
y durante un segundo puede trabajar con varios de
ellos lo que da una apariencia de paralelismo. Y es
solo el SO el encargado de determinar cual de ellos
se ejecuta

Modelo de Procesos
El primer modelo es el secuencial consiste en
tener en forma de lista los procesos
incluyendo contadores, registros y variables
del programa.
El segundo modelo es el conceptual
observndose en forma abstracta los
procesos y en donde c/u de ellos pose su
propio flujo de control.

CUATRO CONTADORES DE
PROGRAMA

UN CONTADOR DE PROGRAMA
ALTERNANDOR DE PROCESOS

A
B
A
C
D

Diferencia entre Programa y un


Proceso?
El programa es una serie de pasos consecutivos para
lograr un objetivo.
El proceso es la forma como va a llegar a cumplir el
programa
Ej: una persona desea hacer un pastel para ello
necesita una lista de ingredientes, la receta
(programa) proceso (forma como lee los datos y
efecta el proceso de mescla)

JERARQUIAS DE LOS PROCESOS


Los procesos por muy sencillos que sean
deben ofrecer cierta forma de poder crear
todos los procesos necesarios, sin embargo
en la mayora de los sistemas es necesaria
una forma de crear y destruir procesos,
cuando se requiera durante la operacin. Ej:
en Linux esta la instruccin kill a fin de matar
los procesos que el usuario defina
conveniente

ESTADOS DE LOS PROCESOS


EJECUCION

Cuando el proceso utiliza la


CPU en un instante dado
LISTO
El proceso se ejecuta o
simplemente entra en un estado temporal o
espera para que otro proceso pueda
ejecutarlo
BLOQUEADO Es el proceso donde no se
puede ejecutar ningn proceso debido a la
ocurrencia de algn evento externo.

EJECUCION
1

2
3

BLOQUEADO

LISTO

1.) El proceso se
bloquea en espera de
datos
2.) El planificador elige
otro proceso
3.) El planificador elige
este proceso
4.) Los datos estan
disponibles

IMPLANTACION DE UN PROCESO
Registros
P. Couter
Apuntador
Estado Pro.
TABLA DE LOS PROCESOS

Hora Inicio
Tiempo
utilizado
CPU
Hora sig.
Alarma
Banderas

COMUNICACIN DE LOS
PROCESOS
Entre

ellos necesitan comunicarse, por lo


general en forma secuencial, hasta finalizar
la
tabla
de
procesos,
sin
utilizar
interrupciones.

Condicin Mutua: Memoria compartida - Spooling


trabaja con un Demonio.

PLANIFICACION DE LOS PROCESOS


Cuando mas de un proceso es ejecutable, el
SO debe decidir cual de ellos debe ejecutarse
en primer termino Planificador y el algoritmo
que utiliza se llama algoritmo de planificacin.
1.
2.
3.
4.
5.

EQUIDAD
EFICACIA
TIEMPO DE RESPUESTA
TIEMPO DE REGRESO
RENDIMIENDO

Planificacion Round Robin


Quantum
B

Planificacin por prioridad


Docentes
Ejercito

Colas Mltiples
Prioridad 4
Prioridad 3
Prioridad 2
Prioridad 1

Primero el trabajo mas corto

PROBLEMA DE LOS FILOSOFOS

Si los filsofos toman todos el tenedor mano izq, en


forma simultanea ocurrira un bloqueo
El programa verificara si el tenedor der. Esta
disponible, sino el filosofo deja el izq. Espera cierto
tiempo y vuelve a repetir todo el proceso (inanicin)
Asignar un quantum
Semforo binario, generar un arreglo de tres
estados comiendo, pensando, hambriento y comen
cuando dos vecinos no estn comiendo

ADMINISTRACION DE MEMORIA

Administracin de memoria sin


intercambio o paginacin
Existen

dos tipos de administracin de


memoria DD Memoria y viceversa
Mono programacin
Prog.
Usuario

SO
RAM

S.O
RAM

Prog.
Usuario

Contr.
dispo
Prog.
Usuario

S.O
RAM

Modelos de multiprogramacin
Esquemas

de asignacin de memoria:
Contigua: particiones fijas y variables
Intercambio (swapping)
Paginacin
Segmentacin
Segmentacin paginada

Multiprogramacion con particiones


fijas
Part. 3

Part. 3

Part. 2

Part. 2

Part. 1

Part. 1

S.O

S.O

Particiones

de igual tamao:
Nivel de multiprogramacin limitado por
nmero de particiones.
Hay una cola con procesos que quieren
utilizar memoria y ejecutarse.
Hay una tabla para indicar particiones
ocupadas y libres.

Multiprogramacin con P. Variables


Las

P. fijas no son atractivas si dispone de


poca memoria
Las P. variables, el numero y tamao de los
procesos en la memoria varia en forma
dinmica
Compactacin de memoria (en caso que
existan varios huecos simultneos)

Reasignacin y Proteccin
100

k + 100
200 k + 100
Registro base y registro limite

Base guarda dir. Inicial


Reg. Limite, carga la longitud de la particin

Fragmentacin

interna y externa

Espacio crecimiento
B
En uso activo
Espacio crecimiento
A
En uso activo
S.O

Administracin de memoria con


mapa de bits
Corresponde

en asignar un bit en el mapa de


bits tomando el valor de 0 si esta libre y 1 si
esta ocupada
Es una forma sencilla de llevar un registro de
las palabras de la memoria en una cantidad
fija de memoria y el tamao de la unidad de
asignacin.
P= Procesos H= Huecos

P 0 5 H 5 3

P 8 6

P 14

H 18

P 20

P 26

H 29

Administracin con sistema de


asociados
S. 70

S. 70

64

S. 70

64

128

512

Re. A

128

64

128

512

S. 60

128

128

512

Re. B

128

64

128

512

128

512

Re. D
Re. C

128

256

256

512

256

512

1024

Fragmentacin

interna
Fragmentacin externa

Memoria Virtual

Dividir el programa en capas


Por el tamao del programa
Multiprogramacin
El hueco de direcciones virtuales , se coloca en
forma directa dentro del bus de la memoria lo cual
hace que se pueda leer o escribir en la palabra de la
memoria fsica que tenga la misma direccin. Al
utilizar la memoria virtual las direcciones virtuales
van directamente a una unidad de administracin de
memoria MMU

Paginas
0 4k

0 4k

4 - 8k

4 - 8k

8 - 12 k

8 - 12 k

12 16k

12 16k

16 20k

16 20k

20 24k

20 24k

24 - 28k

24 - 28k

28 32k

28 32k

32- 36k

36 40k

40 44k

44 48k

Mov reg, 8192

48 52k

Mov reg, 32780

52 56k

56 60k

60 64k

Espacio dir. virtuales

Direcciones
Mem.
Fisicas

Tablas de paginas
Es la asociacin de las direcciones virtuales con las
direcciones fsicas.

Tab. paginas

010

001

110

000

100

011

000

000

000

101

10

000

11

111

12

000

13

000

14

000

15

000

Dir fis. 24580

Dir Vir. 8196

110

ALGORITMOS DE PAGINACION
FIFO

= El sistema operativo tiene una lista


de todas la pginas que se encuentran en la
memoria, siendo la primera pgina la ms
antigua y la ltima la ms reciente. En un
fallo de pgina se elimina la primera pgina y
se aade al final de la lista.

REMPLAZO DE PAGINAS DE LA
SEGUNDA OPORTUNIDAD
Es

una modificacin al FIFO, el cual coloca


un bit R en la pgina ms antigua = 0 y un 1
es cuando se limpia el bit, la pgina se
coloca al final de la lista de pginas y su
tiempo de carga se actualiza.
A

REMPLAZO DE PAGINAS DE
RELOJ
R=0

Retira la pagina de la memoria


R=1 Limpia R y avanza la manecilla
A
G

C
D

DEMONIOS DE PAGINACION
Las

paginas funcionan mejor si siempre


existen muchos macros libres, de forma que
puedan utilizarse al ocurrir los fallos de
pagina, si todos los marcos estan ocupados,
o incluso modificados antes de poder
comenzar a utilizar una nueva pagina hay
que escribir una pagina anterior en el disco.
El demonio comienza a seleccionar las
paginas por eliminar mediante un algoritmo
de reemplazo elegido

SEGMENTACION

La longitud de cada segmento tiene un lmite inferior


y un mximo permitido.
Tienen longitudes distintas entre segmentos y este
puede crecer o decrecer si se requiere
Los segmentos tienen un tamao grande
Casi nunca ocupan toda la totalidad de la memoria.
Para especificar una direccin en la memoria
segmentada, el programa debe proporcionar una
direccin con dos partes, un nmero de segmento y
una direccin dentro de este.
Paginacin tiene tamaos fijos y la segmentacin

SEGMENTACION MULTICS
Segmento
4K

Segmento
4K

Segmento
4K

Segmento
4K

Segmento
8K

Segmento
5K

Segmento
5K

Segmento
5K
Segmento
5K

Segmento
5K

Segmento
5K

Segmento
5K

Segmento
8K

Segmento
8K

Segmento
8K

Segmento
7K

Segmento
7K

Segmento
4K

Segmento
4K
Segmento
4K
Segmento
10K

SISTEMA DE ARCHIVOS
Todas

las aplicaciones de computadoras


necesitan almacenar y recuperar
informacin, implicando lo siguiente:

Cantidad limitada de informacin


El tamao de direcciones virtuales es restringidas
La informacin es voltil, ya que al apagar la
mquina esta se pierde.
La concurrencia a la informacin

Archivo
Nombre archivos, extenciones
Estructura del archivo (organizacin info)
Tipos de archivos:
Archivos regulares
Archivos especiales de caracteres
Archivos especiales de bloques
Atributos

Almacenamiento Fsico de Datos


En

un sistema de cmputo es evidente que


existe la necesidad por parte de los usuarios
y aplicaciones de almacenar datos en algn
medio, a veces por periodos largos y a veces
por instantes. las superficies de
almacenamiento son divididas en crculos
concntricos llamados "pistas" y cada pista
se divide en "sectores". A la unin lgica de
varias pistas a travs de varias superficies
"paralelas" de almacenamiento se les llama

las

superficies de almacenamiento son


divididas en crculos concntricos llamados
"pistas" y cada pista se divide en "sectores".
A la unin lgica de varias pistas a travs de
varias superficies "paralelas" de
almacenamiento se les llama "cilindros", los
cuales son inspeccionados al momento de
lectura o escritura de datos por las
respectivas unidades fisicas llamadas
"cabezas". Las superficies de

".

Las superficies de almacenamiento


reciben el nombre de "platos" y
generalmente estn en movimiento rotatorio
para que las cabezas accesen a las pistas
que los componen. Los datos se escriben a
travs de los sectores en las pistas y
cilindros modificando las superficies por
medio de las cabezas.

El

tiempo que una cabeza se tarda en ir de


una pista a otra se le llama "tiempo de
bsqueda y depender de la distancia
entre la posicin actual y la distancia a la
pista buscada.
El tiempo que tarda una cabeza en ir del
sector actual al sector deseado se le llama
tiempo de latencia planificacin.

Algoritmos de planificacin de
peticiones
Primero

en llegar, primero en ser servido


( FIFO ): Las peticiones son encoladas de
acuerdo al orden en que llegaron y de esa
misma forma se van leyendo o escribiendo
las mismas.

La ventaja de este algoritmo es su simplicidad y


no causa sobrecarga,
Su desventaja principal es que no aprovecha
para nada ninguna caracterstica de las
peticiones, (el brazo del disco se mueva muy
ineficientemente), Por ejemplo, si se estn

Por

ejemplo, si se estn haciendo peticiones


a los sectores 6,10,8,21 y 4, las mismas
sern resueltas en el mismo orden.
Primero el ms cercano a la posicin actual:
En este algoritmo las peticiones se ordenan
de acuerdo a la posicin actual de la cabeza
lectora, sirviendo primero a aquellas
peticiones ms cercanas y reduciendo, as,
el movimiento del brazo,

Su

desventaja consiste en que puede haber


solicitudes que se queden esperando para
siempre, en el infortunado caso de que
existan peticiones muy alejadas y en todo
momento estn entrando peticiones que
estn ms cercanas. Para las peticiones
6,10,8,21 y 4, las mismas sern resueltas en
el orden 4,6,8,10 y 21.

Por

exploracin ( algoritmo del elevador ): En


este algoritmo el brazo se estar moviendo
en todo momento desde el permetro del
disco hacia su centro y viceversa,
resolviendo las peticiones que existan en la
direccin que tenga en turno. En este caso
las peticiones 6,10,8,21 y 4 sern resueltas
en el orden 6,10,21,8 y 4;

Asignacin del espacio de


almacenamiento
Asignacin

contigua: Cada directorio


contiene la los nombres de archivos y la
direccin del bloque inicial de cada archivo,
as como el tamao total de los mismos. Por
ejemplo, si un archivo comienza en el sector
17 y mide 10 bloques, cuando el archivo sea
accesado, el brazo se mover inicialmente al
bloque 17 y de ah hasta el 27.
fragmentacin externa.

Asignacin

encadenada: Con este criterio los


directorios contienen los nombres de
archivos y por cada uno de ellos la direccin
del bloque inicial que compone al archivo.
Cuando un archivo es ledo, el brazo va a
esa direccin inicial y encuentra los datos
iniciales junto con la direccin del siguiente
bloque y as sucesivamente.

Asignacin

con ndices ( indexada ): En este


esquema se guarda en el directorio un
bloque de ndices para cada archivo, con
apuntadores hacia todos sus bloques
constituyentes, de manera que el acceso
directo se agiliza notablemente, a cambio de
sacrificar varios bloques para almacenar
dichos apuntadores

OPERACIONES CON LOS


ARCHIVOS
Crear

Buscar

Borrar

Obtener

Abrir

atributos
Establecer
atributos
Cambiar el
nombre

Cerrar
Leer
Escribir
Aadir

Vous aimerez peut-être aussi