general sistema de operación. introducción definición evolución componentes servicios

Post on 23-Jan-2016

224 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related