Académique Documents
Professionnel Documents
Culture Documents
Operating System Concepts with Java 7th Edition, Nov 15, 2006
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.
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.
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.
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.
Operating System Concepts with Java 7th Edition, Nov 15, 2006
1.
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.
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.
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.
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.
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.
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.
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.
Operating System Concepts with Java 7th Edition, Nov 15, 2006
1.
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.
Operating System Concepts with Java 7th Edition, Nov 15, 2006
1.
Operating System Concepts with Java 7th Edition, Nov 15, 2006
1.
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.
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.
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.
Operating System Concepts with Java 7th Edition, Nov 15, 2006
1.
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.
Operating System Concepts with Java 7th Edition, Nov 15, 2006
1.
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.
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.
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.
Operating System Concepts with Java 7th Edition, Nov 15, 2006
1.
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.
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.
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.
Operating System Concepts with Java 7th Edition, Nov 15, 2006
1.
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.
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.
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.
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)
Operating System Concepts with Java 7th Edition, Nov 15, 2006
1.
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.
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.
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.
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.
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.
Operating System Concepts with Java 7th Edition, Nov 15, 2006