Вы находитесь на странице: 1из 42

Universidad Cesar Vallejo Sistemas Operativos

Ms Edwin Raul Mendoza Torres


Material Traducido y Extraido originalmente de: http://www.os-book.com/

Operating System Concepts with Java 7th Edition, Nov 15, 2006

Silberschatz, Galvin and Gagne 2007

Captulo 1: Introduccin

Operating System Concepts with Java 7th Edition, Nov 15, 2006

Silberschatz, Galvin and Gagne 2007

Captulo 1: Introduccin

Qu pueden hacer los sistemas operativos? Organizacin de computadoras Arquitectura de computadoras Estructura del sistema operativo Operaciones del sistema operativo Manejo de procesos Manejo de memoria Manejo de almacenamiento Proteccin y seguridad Sistemas distribudos Sistemas de propsito especial Ambientes de cmputo

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Objectivos

Ofrecer una visin de los componentes ms importantes de los sistemas operativos Cubrir los conceptos bsicos de la organizacin de computadoras

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Qu es un sistema operativo?

Un programa que acta como intermediario entre el usuario y el hardware de la computadora. Metas del sistema operativo: Ejecutar programas y facilitar la resolucin de problemas del usuario del sistema. Facilitar el uso de los recursos de la computadora. Utilizar el hardware de la computadora de manera eficiente.

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Estructura de una computadora

Los sistemas de cmputo o computadoras pueden dividirse en cuatro componentes: Hardware los recursos bsicos de cmputo CPU, memora, dispositivos E/S Sistema operativo Controla y coordina la utilizacin del hardware entre los distintos programas de aplicacin y usuarios Programas de aplicacin definen en qu manera se utilizan los recursos del sistema para resolver problemas: Procesadores de palabras, compiladores, navegadores, sistemas manejadores de bases de datos, juegos Usuarios Personas, mquinas y otras computadoras.

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Cuatro componentes de una computadora

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Definicin de sistema operativo

El SO es un asignador de recursos Maneja todos los recursos Decide entre solicitudes en conflicto a fin de optimizar y hacer justo el aprovechamiento de recursos El SO es un programa de control Controla la ejecucin de programas para prevenir errores y un uso inapropiado de la computadora

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Definicin de sistema operativo (Cont.)


No existe una definicin universalmente aceptada Todo lo que incluye el proveedor cuando ordenas el sistema operativo es una buena aproximacin Pero vara grandemente El programa en ejecucin en todo momento en la computadora es el kernel. Todo lo dems es o un programa del sistema (viene con el SO) o un programa de aplicacin

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Iniciando la computadora

El programa bootstrap se carga al encender o reiniciar Almacenado tpicamente en ROM o EPROM y se conoce como firmware Inicia todos los aspectos del sistemas Carga el kernel del sistema operativo e inicia su ejecucin

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Organizacin de la computadora

Operacin de la computadora Uno o ms CPUs, controladores de dispositivos conectados a travs de un bus comn a la memoria compartida Ejecucin concurrente de CPUs y dispositivos compitiendo por ciclos de memoria

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Operacin de la computadora

Dispositivos de E/S y el CPU se ejecutan de manera concurrente. Cada controlador est a cargo de cierto tipo de dispositivos. Cada controlador tiene un buffer local. El CPU mueve datos desde/hacia la memoria principal hacia/desde buffers locales. E/S va del dispositivo al buffer local del controlador. El controlador del dispositivo informa al CPU que termin su operacin a travs de una interrupcin.

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Funciones usuales de las interrupciones

La interrupcin pasa el control a rutina de manejo (vector de interrupcin contiene las direcciones de todas las rutinas de servicio). La arquitectura de interrupcin salva la direccin de la instruccin interrumpida. Una nica interrupcin a la vez: se deshabilitan las interrupciones mientras un est siendo procesada. Una trampa es una interrupcin de software (ocasionada por un error o una solicitud del usuario). El SO est dirigido por interrupciones.

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Manejo de interrupciones

El SO preserva el estado del CPU almacenando registros y el contador de programa. Determina que tipo de interrupcin ocurri: polling sistema de interrupciones en vector Segmentos de cdigo distintos determinan qu accin realizar para cada tipo de interrupcin

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Lnea de tiempo de interrupciones

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Estructura E/S

Una vez que se inicia E/S, el control regresa al programa usuario hasta que concluye la E/S. Instruccin wait reposa el CPU hasta la siguiente interrupcin Ciclo wait (contiende por acceso a memoria). NO hay procesamiento de E/S simultneo. Una vez que inicia E/S, el control regresa al programa usuario sin esperar a que concluya la E/S. Llamada al sistema solicitud al sistema operativo para permitir al usuario esperar la conclusin de E/S. Tabla de estado de dispositivos contiene una entrada para cada dispositivo E/S indicando: tipo, direccin y estado. SO crea ndice en tabla de dispositivos de E/S para determinar el estado y modifica una entrada para incluir interrupcin.

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Dos mtodos de E/S


Sncrono Asncrono

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Tabla de estado de dispositivos

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Estructura de Acceso Directo a Memoria


Para dispositivos E/S de alta velocidad (transmiten informacin casi a la velocidad de la memoria). El controlador del dispositivo transmite bloques de datos (buffer) directo a memoria principal sin la intervencin del CPU. Una interrupcin por bloque, en lugar de una por byte.

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Estructura de almacenamiento

Memoria principal medio de almacenamiento que el CPU puede acceder directamente. Almacenamiento secundario extensin de la memoria principal. Gran capacidad de memoria no voltil. Discos magnticos discos de metal o cristal cubiertos de material de grabacin magntico La superficie est dividida en tracks, que se dividen en sectores. El controlador del disco determina interaccin lgica entre el dispositivo y la computadora.

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Jerarqua de almacenamiento

Sistemas de almacenamiento organizados en jerarqua. Velocidad Costo Volatilidad Caching copiar informacin a un sistema de almacenamiento ms rpido; la memoria principal puede verse como cache para el almacenamiento secundario.

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Jerarqua dispositivos almacenamiento

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Caching

Principio importante, se realiza a muchos niveles en la computadora (en hardware, sistema operativo y software) Informacin en uso es copiada temporalmente de almacenamiento ms lento a ms rpido Se revisa primero cache para determinar si la informacin est ah Si est, se utiliza la informacin del cache (rpido) Si no est, se copian los datos al cache y se utilizan El cache es ms pequeo que el almacenamiento cachado Manejo del cache, importante problema de diseo Tamao del cache y poltica de reemplazo

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Rendimiento de niveles de almacenamiento

Movimiento entre niveles de la jerarqua de almacenamiento puede ser explcito o implcito

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Migracin del entero A de disco a registros

Ambientes multitarea deben ser cuidadosos al usar el valor ms reciente, sin importar su lugar en la jerarqua

Ambientes multiprocesador proveer coherencia de cache en hardware, para que todos los CPUs tengan el valor ms reciente en su cache Ambientes distribuidos, situaciones ms complejas Pueden existir varias copias de un dato (Captulo 17 para proyecto opcional)

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Estructura del sistema operativo

Multiprogramacin necesaria por razones de eficiencia Un slo usuario no puede mantener CPU y dispositivos E/S ocupados en todo momento Multiprogramacin organiza trabajo (cdigo y datos) para que el CPU siempre tenga uno que ejecutar Subconjunto del total de trabajos se mantienen en memoria A travs del planificador de trabajos (scheduler), seleccionamos uno para ejecucin Cuanto trabajo espera (E/S, por ejemplo), el SO cambia a otro trabajo

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Estructura del sistema operativo (Cont.)

Tiempo compartido (timesharing) extensin lgica: CPU cambia de trabajos tan frecuentemente que los usuarios pueden interactuar con cada trabajo mientras se ejecuta. Nacimiento del cmputo interactivo. Tiempo de respuesta < 1 segundo Cada usuario tiene al menos un programa en ejecucin en memoria proceso Si hay varios trabajos listos para ejecucin al mismo tiempo Planificacin de CPU (scheduling) Si los procesos no caben en la memoria, swapping los mueve de y hacia para ejecucin Memoria virtual permite la ejecucin de procesos que no estn completamente en memoria
Silberschatz, Galvin and Gagne 2007

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Disposicin de memoria para un sistema con multiprogramacin

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Operaciones del sistema operativo


Dirigido por interrupciones del hardware Error de software o solicitud genera una excepcin o trampa Divisin por cero, solicitud de servicio al sistema operativo Otros problemas de procesos: ciclos infinitos, procesos que modifican otros procesos o el SO, etc. Modo dual de operacin permite al SO protegerse y a otros componentes del sistema Modo usuario y modo kernel Bit de modo provisto por el hardware Permite distinguir cuando el sistema ejecuta cdigo de usuario o kernel Algunas instrucciones son privilegiadas, se ejecutan en modo kernel Llamada al sistema cambia a modo kernel. El regreso de la llamada cambia a modo usuario

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Transicin de modo Usuario a Kernel

Contador para prevenir ciclos infinitos Asignar interrupcin despus de un periodo especifico El sistema operativo decrementa el contador Cuando llega a cero genera interrupcin Se asigna antes de la planificacin (scheduling) para retomar el control o terminar programa que exceda su tiempo de ejecucin

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Manejo de procesos

Proceso es un programa en ejecucin. Es una unidad de tiempo dentro del sistema. Programa es una entidad pasiva, proceso es una entidad activa. El proceso necesita recursos para llevar a cabo su tarea CPU, memoria, E/S, archivos Datos de inicializacin Terminar un proceso involucra recuperar los recursos reutilizables Procesos de un slo hilo tienen un contador de programa que especifica la localidad de siguiente instruccin a ejecutar Proceso ejecuta instrucciones de manera secuencial Procesos de varios hilos tienen un contador por hilo Tpicamente el sistema tiene varios procesos, algunos de usuario, otros de SO, corriendo concurrentemente en uno o ms CPUs Concurrencia multiplexando el/los CPUs entre todos los procesos/hilos

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Actividades del manejo de procesos


El SO es responsable de: Crear y eliminar procesos de usuario y de sistema Suspender y reiniciar procesos Mecanismos para sincronizacin de procesos Mecanismos para comunicacin entre procesos Mecanismos para manejar abrazos mortales (deadlock)

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Manejo de memoria

Todos los datos en memoria antes y despus de procesar Todas las instrucciones en memoria en el orden de ejecucin Manejo de memoria determina qu est y cundo Optimizando la utilizacin del CPU y la respuesta de la computadora a los usuarios Actividades en el manejo de memoria Registro de qu partes estn en uso y por quin Decidir que procesos (o partes de) y que datos mover a o sacar de la memoria Asignar o liberar espacio en memoria

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Manejo de almacenamiento

SO provee vista lgica uniforme del almacenamiento de informacin Abstrayendo propiedades fsicas en una unidad de almacenamiento lgica - archivo Cada medio controlado por un dispositivo (i.e., disk drive, tape drive) Propiedades variables incluyen, velocidad de acceso, capacidad, ritmo de transferencia, mtodo de acceso (secuencial o aleatorio) Manejo del sistema de archivos Archivos organizados en directorios Control de acceso para determinar quin puede acceder qu Actividades del SO incluyen: Crear y borrar archivos y directorios Primitivas para manipular archivos y directorios Mapeo de archivos en almacenamiento secundario Archivos de respaldo en medios de almacenamiento estable (no voltil)

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Manejo de almacenamiento masivo


Discos para almacenar datos que no caben en memoria principal o datos que deben mantenerse por mucho tiempo. Muy importante tener un manejo adecuado. La velocidad de operacin de la computadora depende en el subsistema de disco y sus algoritmos Actividades del SO Manejo de espacio libre Asignacin de almacenamiento Planificacin de disco Cierto almacenamiento no tiene que ser rpido Almacenamiento terciario usualmente incluye discos pticos, robots de cintas magnticas SO debe manejarlo Vara entre WORM (write-once, read-many-times) y RW (readwrite)

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Subsistema de E/S

SO esconde al usuario particularidades de dispositivos de hardware El subsistema de E/S es responsable de Manejo de memoria para E/S incluyendo buffering (almacenar datos temporalmente mientras se transmite), caching (almacenar partes de los datos en almacenamiento ms rpido por rendimiento), spooling (encimar la salida de
un trabajo, con la entrada de otros)

Interfaz general para manejadores de dispositivos Manejadores para dispositivos especficos

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Proteccin y seguridad

Proteccin mecanismo para control el acceso de procesos o usuarios a recursos definidos por el SO Seguridad defensa del sistema contra ataques internos o externos Enorme rango de ataques, incluyendo denial-of-service, gusanos, virus, robo de identidad Sistemas usualmente distinguen primero entre usuarios, para determinar cules pueden hacer qu Identificacin de usuarios, incluyendo nombre y nmero asociado, uno por usuario Nombre de usuario, ID, se asocia con todos los archivos y procesos del usuario para determinar el control de acceso Identificador de grupo (group ID) permite definir un conjunto de usuarios y manejarlos en grupo, tambin se asocia con cada proceso y archivo Escalar privilegios permite a un usuario cambiar a un ID con ms privilegios temporalmente

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Ambientes de cmputo

Computadora tradicional Definicin borrosa en el tiempo Ambiente de oficina PCs conectadas a una red, terminales conectadas a un servidor o minicomputadoras con timesharing y procesamiento por lotes Portales que permiten accesos remotos y va la red a los mismos recursos Redes caseras Antes eran un nico sistema, luego modems Hoy redes a travs de firewalls

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Ambientes de cmputo (Cont.)

Cmputo cliente-servidor Terminales delgadas/tontas suplantando PCs Muchos sistemas hoy son servidores, respondiendo a solicitudes de clientes Servidor de aplicacin provee interfaz al cliente para solicitar servicios (i.e. base de datos) Servidor de archivos provee interfaz para que los clientes almacenen y recuperen archivos

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Cmputo Peer-to-Peer (P2P)


Otro modelo de sistema distribuido P2P no distingue entre clientes y servidores Todos los nodos se consideran iguales (peers) Cada uno acta como cliente, servidor o ambos Cada nodo debe unirse a la red P2P Registra sus servicios con un servidor central en la red, o Enva una solicitud de servicio a todos (broadcast) y responde a solicitudes de servicio via discovery protocol Ejemplos incluyen Napster and Gnutella

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Cmputo basado en web


Web est en todos lados PCs son los dispositivos prevalecientes Ms dispositivos pueden integrarse Nueva categora de dispositivos para manejar el trfico de web entre servidores: balanceadores de carga Uso de sistemas operativos para cliente, como Windows 95, evolucionaron a Linux y Windows XP que pueden ser clientes o servidores

Operating System Concepts with Java 7th Edition, Nov 15, 2006

1.

Silberschatz, Galvin and Gagne 2007

Fin del Captulo 1

Operating System Concepts with Java 7th Edition, Nov 15, 2006

Silberschatz, Galvin and Gagne 2007