Professional Documents
Culture Documents
ndice
1.
Dispositivos de Entrada
(Teclado, ratn, )
E/S
CPU
Memoria del
Sistema (voltil)
Dispositivos de Salida
(Pantalla, Impresora, )
Almacenamiento masivo
permanente (discos duros )
Qu es un sistema operativo?
Un programa que acta como intermediario entre el usuario y los
programas, y el hardware del computador.
Sistema
Operativo
Trabajo 1
Trabajo 2
Trabajo3
Trabajo 4
Organizacin de la memoria
en un sistema
multiprogramado
Servicios de un s.o.
El s.o. es el programa que asigna y gestiona
los recursos del ordenador para que opere de
una forma eficiente.
Concretamente el s.o. se encarga de gestionar
y administrar los siguientes recursos:
Procesador
Memoria principal
Dispositivos de entrada y salida
Archivos
Servicios de un s.o.
Gestin de Procesos y planificacin de la CPU
Un proceso es un programa en ejecucin. Un proceso
necesita para llevar a cabo su tarea ciertos recursos que
comprenden tiempo de CPU, memoria, ficheros y
dispositivos de E/S.
El sistema operativo es el responsable de las siguientes
actividades en lo que respecta a gestin de procesos.
Servicios de un s.o.
Gestin de Procesos y planificacin de la CPU
A medida que un proceso se ejecuta cambian sus estados
Modelo sencillo de dos estados
interrumpir
Servicios de un s.o.
Gestin de Procesos y planificacin de la CPU
El planificador de la CPU selecciona entre los procesos
en memoria que estn listos para ejecutar y le asigna la
CPU a uno de ellos.
En los sistemas multitarea la planificacin se hace
siguiendo un turno rotatorio (round robin). Cada
proceso dispone de una pequea cantidad de tiempo de
CPU (cuanto de tiempo), entre 10-100 millisegundos.
Cuando este tiempo se ha consumido el proceso es
expulsado de la CPU y aadido a la cola de procesos
listos.
Servicios de un s.o.
Gestin de Memoria Principal
La memoria consiste en un gran arreglo de palabras o
bytes, cada una con su propia direccin. La memoria es un
recurso escaso por el que compiten los distintos procesos.
Responsabilidades del S.O.:
Servicios de un s.o.
Gestin de Memoria Principal
En un sistema monoprogramado, la memoria principal se
divide en dos partes: una para el s.o. y otra para el
programa. En un sistema multiprogramado, en vez de
existir un nico programa tendremos varios. La tarea de
organizar dinmicamente la ubicacin en memoria
principal de los programas la lleva a cabo el s.o. y se
conoce como gestin de memoria.
La gestin de memoria resulta vital en un sistema
multiprogramado. En la memoria deben albergarse tantos
procesos como sea posible para mantener la actividad de
la CPU ante las operaciones de E/S de algunos
procesos.
Servicios de un s.o.
Gestin de E/S
Uno de los aspectos ms complejos en el diseo de s.o. es
la E/S debido a la gran variedad de dispositivos de E/S que
existen: de lectura, de escritura, de lectura/escritura, con
naturalezas y velocidades muy diferentes.
Funciones del S.O.:
Servicios de un s.o.
Gestin de E/S
Un buffer es un rea de memoria en la que se
almacenan datos mientras se transfieren entre dos
dispositivos o entre un dispositivo y una aplicacin para
hacer frente a la diferencia de velocidades.
Una cach es una regin de memoria rpida que
contiene copias de datos. El acceso es mas eficiente que
el acceso al original
Servicios de un s.o.
Gestin de Archivos
Un archivo es un conjunto de datos identificados por un
nombre. Los archivos se almacenan en dispositivos de E/S.
Un archivo es un concepto de alto nivel que no existe en el
hardware.
El cometido del s.o. es establecer una correspondencia
entre ese tipo de dato abstracto con los dispositivos de
almacenamiento secundario ofreciendo una vista lgica
uniforme (disco duro, CD, flash, cinta magntica ).
Para ello el s.o. implanta los algoritmos y estructuras de
datos necesarios para establecer una correspondencia
entre el sistema de archivos lgico y los dispositivos de
almacenamiento secundario fsicos.
Servicios de un s.o.
Gestin de Archivos
Permite al usuario realizar operaciones como crear, leer,
escribir, borrar archivos
Ubica los archivos y directorios en los dispositivos de
almacenamiento secundario garantizando la validez de los
datos y minimizando la prdida de datos.
Optimiza el rendimiento mejorando la productividad del
sistema y el tiempo de respuesta usuario
Controla el acceso a los archivos de otros usuarios
(proteccin) y permitir que usuarios autorizados puedan
acceder de manera concurrente a los datos de un archivo
(compartimiento)
cargar programas
abortar programas
Breve historia:
Desarrollado Ken Thompson y Dennis Ritchie (inventor
del lenguaje C) en Bell Labs de la ATT. (1970)
Unix es reescrito en lenguaje C (1973).
Entre las diferentes variantes est Linux, desarrollado a
partir del ncleo creado por Linus Torvalds en 1991.
Sistema Operativo
Nivel de Usuario
Programas
de
Aplicacin
Intrprete de Comandos
(Shell)
Compiladores,
Manejo de red, etc
Bibliotecas
(Libreras)
Subsistema de
Archivos y
Control E/S
Control
de los
procesos
Planificador
(Scheduler)
Gestin de
Memoria
Sistema Operativo
Nivel de Usuario
Programas
de
Aplicacin
Intrprete de Comandos
(Shell)
Compiladores,
Manejo de red, etc
Bibliotecas
(Libreras)
Subsistema de
Archivos y
Control E/S
Control
de los
procesos
Planificador
(Scheduler)
Gestin de
Memoria
Planificador: gestiona la
asignacin de tiempo de
CPU a los procesos,
concedindoles un intervalo
determinado a cada uno de
ellos. Una vez terminado su
tiempo asignado, el
planificador quita el control
al proceso activo y se lo da
al siguiente proceso.
Sistema Operativo
Nivel de Usuario
Programas
de
Aplicacin
Intrprete de Comandos
(Shell)
Compiladores,
Manejo de red, etc
Bibliotecas
(Libreras)
Subsistema de
Archivos y
Control E/S
Control
de los
procesos
Planificador
(Scheduler)
Gestin de
Memoria
Comunicacin entre
procesos: aunque
normalmente los procesos
no tienen necesidad de
comunicarse entre ellos,
cuando es necesario Unix
brinda formas para hacerlo.
Sistema Operativo
Nivel de Usuario
Programas
de
Aplicacin
Intrprete de Comandos
(Shell)
Compiladores,
Manejo de red, etc
Bibliotecas
(Libreras)
Subsistema de
Archivos y
Control E/S
Control
de los
procesos
Planificador
(Scheduler)
Gestin de
memoria
Gestin de memoria: el SO
permite la coexistencia de
varios procesos a la vez en
la memoria operativa del
sistema.
Cada proceso acta como si
pudiera acceder a toda la
memoria en exclusiva, sin
preocuparse de colisionar
con los otros procesos.
Los procesos, cuando lo
necesiten, pueden solicitar
memoria adicional al SO.
Nivel de Usuario
Programas
de
Aplicacin
Intrprete de Comandos
(Shell)
Compiladores,
Manejo de red, etc
Bibliotecas
(Libreras)
Sistema Operativo
Sistema de Ficheros: el
S.O. define la estructura
jerrquica de directorios, que
contienen archivos (datos
relacionados que se desea
conservar de forma
permanente).
Subsistema de
Archivos y
Control E/S
Control
de los
procesos
Planificador
(Scheduler)
Gestin de
Memoria
Nivel de Usuario
Programas
de
Aplicacin
Intrprete de Comandos
(Shell)
Compiladores,
Manejo de red, etc
Bibliotecas
(Libreras)
Subsistema de
Archivos y
Control E/S
Control
de los
procesos
Planificador
(Scheduler)
Gestin de
Memoria
Sistema Operativo
Proteccin: el S.O. gestiona
las posibles interferencias
entre los diferentes usuarios.
Para ello, se establece un
sistema de identificacin de
usuarios: nombre y
contrasea.
Existe un superusuario que
administra el sistema:
Establece grupos de
usuarios con las misma
necesidad de proteccin.
Decide los derechos
(lectura, escritura,
ejecucin) sobre los
distintos ficheros y
programas.
Sistema Operativo
Nivel de Usuario
Programas
de
Aplicacin
Intrprete de Comandos
(Shell)
Compiladores,
Manejo de red, etc
Bibliotecas
(Libreras)
Subsistema de
Archivos y
Control E/S
Control
de los
procesos
Planificador
(Scheduler)
Gestin de
Memoria
Interfaz de llamadas al
Sistema (API): los servicios
de Unix estn disponibles a
todos los programas del
Nivel Usuario a travs de
esta interfaz: por ejemplo,
una aplicacin de usuario
que desee ms memoria
para almacenar una matriz
de gran dimensin la solicita
a travs de la API
Sistema Operativo
Nivel de Usuario
Programas
de
Aplicacin
Intrprete de Comandos
(Shell)
Compiladores,
Manejo de red, etc
Bibliotecas
(Libreras)
Subsistema de
Archivos y
Control E/S
Control
de los
procesos
Planificador
(Scheduler)
Gestin de
Memoria
Intrprete de Comandos o
Shell: es un programa lector
de lneas de texto que
interpreta y ejecuta los
comandos que teclea el
usuario.
Existen al menos tantos
procesos Shell en ejecucin
como usuarios conectados
al sistema.
Shell representa un lenguaje
de programacin de alto
nivel con sus variables,
bucles, etc.
En Unix hay varias familias
de shell, a su vez con
variantes: C Shell, Korn
Shell, Bourne