1. Panorama General protección del almacenamiento: importante en sis-

Anuncio
Sistemas de Computación 2000
Capitulo Sistemas Operativos
1. Panorama General
-
funcionamiento básico de un computador:
registradores:
de instrucción RI
contador de programa CP
de datos
de uso general
protección del almacenamiento: importante en sistemas multiusuario, se implementa con registros
de límite
interrupciones / polling: ??
acceso directo a memoria DMA: ??
Software
-
U. de Control
esta constituido por los programas o secuencia
de instrucciones que definen el algoritmo de resolución y los datos.
Memoria
U.A.L.
una clasificación de software
-
Registradores
-
programas del sistema: manejan la operación
del computador
programas de aplicación: resuelven los problemas del usuario
sistema operativo:
estructura general del procesador
programa:
secuencia de instrucciones
en lenguaje de máquina
en memoria
esquema de funcionamiento:
1 cargar R.I. con el contenido de la palabra
apuntada por CP
2 actualizar la CP
3 decodificar y ejecutar la instrucción
4 ir a 1
-
primeros desarrollos :
hardware, software, memoria
hardware: dispositivos del sistema computacional,
procesadores, almacenamiento, dispositivos de
e/s, conexiones de comunicación.
memoria entrelazada: para acelerar el acceso a
memoria principal, realizando este acceso en
forma paralela si tenemos posiciones consecutivas en diferentes bancos de memoria.
registro de reubicación: contiene la dirección base
del programa en memoria principal.
yfl - so
-
-
conjunto fundamental de programas, que controla todos los recursos del computador y ofrece
la base para escribir los programas de aplicación.
algunas de las funciones del software han sido
transferidas al firmware, es decir al microcódigo.
administrador de recursos
principales componentes de un S.O.:
- manejo del proceso
- entrada/salida
- manejo de la memoria
- sistema de archivos
- interfaz con el usuario
- planificación de la asignación de recursos
- recuperación de errores
- seguridad
Sistema
bancario
Programas de
Aplicación
Compiladores
Editores
Interprete de
comandos
Sistema Operativo
Programas del
Sistema
Lenguaje de máquina
Microprogramación
Hardware
Dispositivos físicos
función del S.O.
presentar al usuario una máquina virtual
más fácil de programar
pág.: 1
Sistemas de Computación 2000
Capitulo Sistemas Operativos
procesos
archivos
desarrollo histórico:
-
-
-
procesos individuales
procesos batch o por lotes - ibm 1401
o de secuencia única
multiprogramación - ibm 360
microprogramación
emulación / simulación
multiprocesamiento
. SPOOL: Simultaneous Peripheral Operation
On Line
tiempo compartido - time sharing
. Compartición de tiempo trabajando con terminales en línea.
. usuarios interactivos
tiempo real - disponibilidad
sistemas de uso general
pdp 8 / pdp 11
Ken Thompson / Dennis Ritchie --> Unix / C
(gran transportabilidad)
-
1980 --> computadores personales
MS-DOS / UNIX (xenix)
-
SO en red
. generalización de la utilización de estándares
de comunicaciones como TCP/IP y ethernet
. el usuario puede hacer login remoto
-
SO distribuidos
. el SO se encarga de la distribución del procesamiento y del almacenamiento a través de
la red.
-
computación en paralelo
. una arquitectura clave
-
tendencias de I/O
. reconocimiento de voz
. interfaces gráficas
. apoyo de realidad virtual
Conceptos de Sistemas Operativos
-
La interfaz entre el SO y los programas de usuario se define por un conjunto de instrucciones
"extendidas" conocidas como "llamadas al sistema" o "system call".
system call:
Proceso: programa en ejecución
consiste de: programa ejecutable, los datos
del programa,
el stack, el contador de programa, el puntero
al stack y otros registros
y toda otra información necesaria para ejecutar el programa.
-
un ejemplo es un programa de un sistema
time-sharing, que primero es suspendido
para dar paso a otro proceso y luego, al ser
activado, debe partir en el mismo punto.
-
en muchos casos, estos datos son almacenados en la que se denomina: tabla de procesos (lista encadenada).
-
por lo tanto, un proceso suspendido consta
de:
. espacio de direcciones o imagen del núcleo
. registro de la tabla de procesos
-
las llamadas al sistema de administración del
proceso, son aquellas que tienen que ver con
la creación y terminación de procesos.
-
ejemplo: la shell o interprete de comandos
lee comandos desde un terminal, esperando
que el usuario termine de teclear un comando
por ejemplo solicitando la compilación de un
programa en C. La shell creará un proceso
para ejecutar el programa compilador y al
terminar se ejecutará una system call para
poner fin al proceso (a si mismo).
-
un proceso puede crear procesos y este a
otros sucesivamente , conocidos como procesos hijos, llegándose a una estructura de
árbol: Cuando se requiere que varios procesos estén simultáneamente en actividad, por
ejemplo un proceso que se comunica con
otro proceso que reside en otra máquina, deberá enviar un mensaje por la red y espera la
respuesta (eternamente?).
crean
borran o eliminan
usan
varios objetos de software administrados por SO
yfl - so
pág.: 2
Sistemas de Computación 2000
Capitulo Sistemas Operativos
A
B
C
existe un concepto implementado tanto en Unix
como MS-DOS con el objeto de conectar dos
archivos o procesos, es el pipe, una clase de
pseudo archivo, soportado a través de una
system call.
proceso
D
E
F
proceso
pipe
A
B
Archivos
-
-
La idea general es ocultar al usuario las características particulares de los discos y otros dispositivos de I/O.
Operaciones sobre archivos:
crearlos y eliminarlos
leerlos y escribirlos
(antes de leer en un archivo es necesario
abrirlo y luego de leer, cerrarlo).
-
con el objeto de mantener o guardar los archivos
se introduce el concepto de directorio como una
forma de agruparlos.
-
el modelo usualmente ocupado es el jerárquico,
implementado en una estructura de árbol, iniciándose en el directorio raíz.
Shell o intérprete de comandos
-
es la interfaz primaria entre un usuario situado
frente a su terminal y el sistema operativo
-
normalmente el shell esta a la espera de los
comandos que sean tecleados en el teclado del
terminal. Si el usuario teclea
date
el shell crea un proceso derivado y ejecuta el
programa date como derivado esperando su
termino. Cuando termina el shell queda nuevamente a la espera de un nuevo comando.
otros comandos pueden ser:
-
date > archivo
sort < archivo1 > archivo2
cat archivo1 archivo2 archivo3 | sort > lpt
-
cada archivo puede ser especificado dando su
path name desde el tope del directorio, como un
camino absoluto.
-
-
los procesos tienen un working directory, el cual
activan o cambian con una system call especificando el nuevo directorio de trabajo.
System Calls
-
cuando varias personas tienen acceso a un
mismo computador, es importante proveer mecanismos para proteger la privacidad de los archivos de cada uno.
-
para manejo de procesos
para señalización
para el manejo de archivos
para el manejo de directorios
para protección
para el manejo del tiempo
¿cual es el mecanismo en Unix? y en MS-DOS?
-
-
antes de leer o escribir en un archivo este deberá ser abierto, momento en el cual se chequean
los permisos.
con el objeto de facilitar el acceso a dispositivos
vía operaciones de I/O, algunos SO proveen
abstracciones llamadas archivos especiales, y
utilizan las mismas systems calls para su acceso.
Estructura de un Sistema Operativo
-
Sistemas Monolíticos
-
-
Sistemas en Estratos
-
yfl - so
a lo menos con los dos modos siguientes:
modo usuario y modo supervisor o kernel
organizado jerárquicamente, con cada estrato
bajo el anterior
pág.: 3
Sistemas de Computación 2000
Capitulo Sistemas Operativos
Procedimiento
Central
Procedimiento
de servicio
Procedimientos
de uso general
- un ejemplo de lo anterior se muestra a continuación:
-
La función del kernel pasa a ser la de manejar la
comunicación entre clientes y servidores.
-
Otra gran ventaja es la de adaptarse naturalmente para la utilización en sistemas distribuidos.
Máquina 1
Máquina 2
Cliente
Servidor de archivos
Kernel
5
4
3
2
1
0
-
Operador del S.O.
Programas del usuario
Administración de la entrada / salida
Comunicación entre el operador y el proceso
Administración de la memoria
Distribución del procesador y multiprogramación
Servidor de procesos
Kernel
Máquina 4
Servidor de terminales
Kernel
Kernel
Red
mensaje del cliente
al servidor
Modelo Cliente / Servidor en un sistema distribuido
Referencias bibliográficas:
Máquinas Virtuales
-
Máquina 3
Sistema creado por la IBM para mejorar la
IBM-360 básicamente de procesamiento por
lotes o batch, dando origen a la IBM 370.
Deitel; Sistemas Operativos,
cap. 2: Hardware, Software, Firmware.
Tanenbaum; Sistemas Operativos Modernos
cap. 1: Introducción
máquinas 370 virtuales
CMS
CMS
CMS
VM / 370
hardware de la 370 "desnuda"
Estructura del sistema 370
Modelo Cliente / servidor
-
Se trata de desplazar código a los estratos superiores y eliminar lo máximo posible del S.O.
dejando un kernel mínimo. El método consiste
en implementar la mayoría de las funciones del
S.O. en procesos del usuario.
-
Para solicitar un servicio, como la lectura de un
bloque de un archivo, un proceso del usuario o
proceso cliente envía la solicitud a un proceso
servidor, que después realiza el trabajo y devuelve la respuesta.
yfl - so
pág.: 4
Descargar