Post on 23-Jan-2016
GeneralSistema de Operación
Introducción Definición Evolución Componentes Servicios
Definición Un programa que controla la ejecución de
programas de aplicación y actúa como una interface entre el usuario y el hardware. Maneja el hardware con el propósito de alcanzar un buen desempeño de: Procesador Memoria E/S
Sistema de Operación
a
Hardware
a
user 1 user 2 user n
a
compiler text editor database system
a
Operating System
UNIX
UserInterface
Arquitectura-Computador
Que hacen los SO? Proveen abstracción: hacer el Hw fácil de usar Proveen interface standard: portabilidad Gerencia el uso de recursos: permitir que
múltiples usuarios compartan recursos eficientemente, con justicia, seguro, tec.
Consumen recurso: ocupa memoria física. Ej. Solaris ocupa alrededor de 8Mbytes de memoria.
Evolución Monitor Residente Sistema de Multiprogramación Tiempo Compartido
Historia de los OS
Tarjeta Perforada
Historia cont
Second generation 1955 - 1965 transistors, batch systems – multiple programs on multiple programs on DiskDisk
Third generation 1965 – 1980 ICs and multiprogramming - user interaction (user interaction (time-time-
sharingsharing))
Fourth generation 1980 – present personal computers – graphic user-interface graphic user-interface
((efficiency…efficiency…)) Networks and the Internet – file & computing file & computing servicesservices
Evolución Monitor Residente (mediado de los 50)
El monitor lee desde el dispositivo de entrada un job a la vez y lo coloca en el área de usuario de memoria.
Da comienzo a la primera instrucción del programa.
Conformado por: Interpretador del lenguaje de Control (JCL), Secuenciador de tareas, device drivers, procesador de interrupciones
JCL
Directivas al Monitor
$JOB
$FTN ejecutar el compilador FORTRAN
$ASM ejecutar el ensamblador
$LOAD
$RUN ejecutar programa usuario
<data>
$END
Monitor Residente
Boundary
InterruptProcessing
DeviceDrivers
JobSequencing
Control LanguageInterpreter
UserProgram
Area
Monitor
MR Caracteristicas HW Protección de memoria
memoria del MR no puede ser alterada por el programa usuario.
Instrucciones privilegiadasPueden ser ejecutadas solamente por el monitor
Interrupciones Da la flexibilidad de dejar o tomar control al programa
usuario Timer prevenir del monopolio por parte del job
Evolución Sistema de Multiprogramación (por los 60)
El CPU puede ser compartido entre procesos, siempre y cuando estén varios programas en memoria y el proceso necesite esperar por completar una operación de E/S.
Multiprogramación
Boundary
InterruptProcessing
DeviceDrivers
JobSequencing
Control LanguageInterpreter
Monitor
job1
job2
job3
Boundary
MP Caracteristicas HW Soporte de Hw
Interrupciones de E/S y posible DMA.Ejecutar instrucciones mientras está ocupado E/S
Manejo de memoriaMuchas tareas llevadas a memoria
Soporte de SwScheduling (planificación de las tareas)Rutinas para manejar contención de recursos
Evolución Tiempo Compartido (por los 65)
Extiende la multiprogramación para manejar la interacción con las tareas.
El tiempo del procesador compartido entre múltiples usuarios.
Mas de un usuario accede al sistema a través de terminales.
Tiempo Compartido
Terminal
InterruptProcessing
DeviceDrivers
JobSequencing
Control LanguageInterpreter
Monitor
job1
job2
job3
Terminal
Terminal
Terminal
Usuarios
free
TSS Caracteristicas HW Timer Protección del Sistema de Archivos
Componentes Manejador de procesos. Manejador de memoria. Manejador de Archivos. Entrada y salida. Sistema de protección. Redes. Shell.
Componentes Manejador de procesos.
Crear y eliminar Suspender y resumir Sincronización Comunicación Deadlock protección
Componentes Manejador de memoria.
Usada, libre Asignación y liberación dinámica Protección
Componentes Manejador de Archivos.
Leer, escribir, remover Guardar en disco. Backup Protección
Componentes Entrada y Salida.
Drivers Sistema buffer Creación y eliminación de archivos Creación y eliminación de directorios Protección
Componentes Protección.
Mecanismo de control de acceso Distinguish between authorized and unauthorized
usage
Componentes Redes.
Ruteo Estrategias de Conexión Seguridad y contención
Componentes Shell.
Busca el siguiente comando y lo ejecuta
Servicios Usuarios
Ejecución de programasE/SManejo de archivosManejo de la correctitud y consistenciaComunicación
SistemaAsignación de RecursosContabilidad y Protección
Desafios en el diseño SO Sincronización
Asegurar que los programas que esperan por I/O reciben la señal
Ejecución deterministica Exclusión Mutua
Permitir que solo un proceso a la vez realice transacciones sobre una porción de data
Abolir DeadlockPrevenir situaciones donde dos o mas programas
esperan indefinidamente.
System call Invocaciones de Servicios del SO a través de llamadas
al sistema, las cuales provocan una transferencia de control al kernel quien maneja el requerimiento solicitado por el procesos. Una vez atendido retorna el control al usuario.
Control de Procesos : (fork, exec, exit, wait) Manipulación de Archivo: ( read, write,open,close) Manipulación de Dispositivos: (open, close) Información: (time, gettimeofday) Comunicaciones: (pipe, socket, rpc)
Unix Kernel
Kernel Gen'erico de Unix
Estructura del Shell
A stripped down shell
while (TRUE) { /* repeat forever */ type_prompt( ); /* display prompt */ read_command (command, parameters) /* input from terminal */ if (fork() != 0) { /* fork off child process */ /* Parent code */ wait(); /* wait for child to exit */} else { /* Child code */ execvp (command, parameters); /* execute command */ }}
Iniciando el shell
The init program runs getty on all ports
Detecting a terminal getty runs login
Typing in a user name and a password – login checks the passwd file and if correct runs a shell – the one specified in the UID entry
The shell is run with that user ID environment parameters
The user process runs the shell
Programas Utilitarios en Unix
Estructura de un S.O.
Sistema Monolitico
ServiceRoutines
Utilityprocedures
Maquina Virtual The extreme layered approach Provide an interface identicalidentical to the underlying
bare machinebare machine OS creates multiple processes, each executing
on its own processor and own (virtual) memory Virtual machines provide complete protection of
system resources - even separate resourcesseparate resources Difficult to implement, due to the effort required
to provide an exactexact duplicate of the underlying machine
Recent use – run MS-DOS on top of Windows
Maquina Virtual
Cliente-servidor
Client File Server Process Server
Kernel Kernel Kernel Kernel
Machine1 Machine2 Machine3 Machine4
. . . . . . .
Distributed System
(Micro)Kernel
Client Process
Client Process . . . . . .
FileServer
MemoryServer
Sistema Distribuido