Documente Academic
Documente Profesional
Documente Cultură
Componentes del Sistema. Servicios del Sistema Operativo. Llamados al Sistema. Programas de Sistema. Estructura del Sistema. Maquinas Virtuales. Diseo e Implementacin de Sistemas. Generacin del Sistema.
Mapa Conceptual
Administrador de Procesos. Administrador de Memoria- Principal. Administrador de Almacenamiento-Secundario. Administrador del Sistema de E/S. Administrador de Archivos. Sistema de Proteccin. Interconexin en Red. Sistema del Interprete de Comandos.
Procesos
Un proceso es un programa en ejecucin. Un proceso necesita de ciertos recursos, incluye:
tiempo de CPU, memoria, archivos, y dispositivos de E/S, para completar su tarea.
Administrador de Procesos
El sistema operativo es responsable de las siguientes
actividades en relacin con la administracin de procesos: Creacin y muerte del proceso . Suspensin y reanudacin del proceso. Provisin de mecanismos para: Sincronizacin de procesos Comunicacin de procesos Manejo de Bloqueos Mutuos
Memoria-Principal
Memoria-Principal es una lista grande de palabras, cada
una con su propia direccin.
Administrador de Memoria-Principal
Almacenamiento-Secundario
Administrador de Almacenamiento-Secundario
Sistema de E/S
El sistema de E/S consiste en:
Un sistema de administracin de buffer-cach y spooling Una interfase general de device-drivers (Software) Controladores para dispositivos especficos de hardware
Archivos
propiedades fsicas de sus dispositivos de almacenamiento y los define en unidades lgicas llamadas archivos. relacionada, definida por su creador.
Un archivo es una coleccin de informacin Comnmente, los archivos representan tanto datos
como programas (en ambas formas fuente y objeto).
Administrador de Archivos
Operacin en Red
Cada procesador tiene su propia memoria local. Los procesadores en el sistema estn conectados a
travs de una red de comunicacin.
Sistema de Proteccin
Proteccin
es un mecanismo para controlar el acceso de usuarios, programas, o procesos, hacia los recursos tanto del sistema como del usuario.
Interprete de Comandos
Operaciones de E/S
ya que los programas de usuario no pueden ejecutar operaciones de E/S, el sistema operativo debe de proveer los medios para operar la E/S. leer, escribir, crear, y borrar archivos.
Manipulacin del sistema de archivos programa con la capacidad de Comunicaciones intercambio de informacin entre procesos
ejecutndose ya sea en la misma computadora o en un sistema diferente conectado por medio de una red. Implementado va memoria compartida o por paso de mensajes. deteccin de errores en el CPU y en la memoria-principal, en los dispositivos de E/S, o en los programas de usuario.
Modelos de Comunicacin
Transferencia de mensajes Memoria compartida
process A Proceso A
Proceso B process B
2 M process B Proceso B
kernel ncleo
kernel ncleo
(a)
(b)
Asignacin de Recursos para usuarios mltiples o Contabilidad registra y asienta lo que los usuarios usan
y como lo usan, que tipo de recursos y en que cantidad para el control contable o para las estadsticas de uso acumulado.
Llamadas al Sistema
interfase entre un programa en ejecucin y el sistema operativo. Generalmente disponible en lenguaje assembler. Los lenguajes definidos para reemplazar al lenguaje assembler para programacin de sistemas permiten que las llamadas al sistema se hagan directamente (ejemplo: C, C++, Perl) Java no permite que se hagan llamadas directamente al sistema, solo a travs de mtodos nativos Las llamadas al sistema para las nuevas plataformas de Windows son parte de la Interfaz de Programacin de Aplicaciones Win32 , API(Application Programmer Interface) disponible en todos los compiladores escritos para Windows.
Control de procesos:
proceso, obtener datos del sistema, establecer atributos de un archivo, etc... enviar, recibir mensaje, etc...
Programas de Sistema
Los programas de sistema (interfaces del usuario para llamadas al sistema) proveen un entorno conveniente para el desarrollo de programas y su ejecucin. Se pueden dividir en programas que: Manipulan archivos Informan del Status Modifican archivos Asisten a los lenguajes de programacin Cargan y ejecutan programas Comunican Interprete de comandos Utileras (Programas de aplicacin) 1. Navegadores 2. Compiladores....
La visin de la mayora de los usuarios es de que el sistema operativo esta definido por los programas del sistema, y no por el llamado actual al sistema.
Controlador de dispositivo
shells y ordenes Shellsand commands Compiladores e Interpretes compilers and interpreters Bibliotecas del sistema system libraries
Interfaz con el ncleo mediante llamadas al sistema system- call interface to the kernel
Manejo determinal signals terminales por seales handling Sistema de E/S por character I/O system caracteres terminal drivers Drivers de terminales
file system Sistema de archivos Sistema block I/O swappingde E/S por intercambio system de bloques disk and tape drivers Drivers de disco y cinta
Planificacin de CPU CPU scheduling Reemplazo de paginas page replacement Paginacin por demand paging demanda
virtual memory
Memoria Virtual
Interfaz del hardwareinterface to the hardware kernel con el ncleo mediante interrupciones Controladores de terminal controllers terminales terminals Controladores device controllers de dispositivos disks and tapes discos y cintas
Controladores de
La capa mas baja (capa 0), es el hardware; la mas alta Con modularidad, las capas estn seleccionadas de
tal forma que cada una de ellas usa funciones (operaciones) y servicios de solo las capas de nivel inferior.
. . .
Operaciones hidden ocultas operations
. . .
. . .
layer 5: user programs layer 4: buffering for input and output layer 3: operator-console device driver layer 2: memory management layer 1: CPU scheduling layer 0: hardware
subsistema subsystem
subsistema subsystem
subsistema subsystem
Gestin de memoria memory management Despachodispatching task de tareas de dispositivos Admon. device management
Controlador de dispositivo
device driver
Microkernels
El microkernel estructura al sistema operativo
removiendo todos los componentes no esenciales, e implementndolos como programas del sistema y de nivel de usuario.
del usuario y la funcin principal del microkernel es proporcionar un mdulo de comunicacin entre el programa cliente y los diversos servicios que tambin estn ejecutndose en el espacio del usuario.
Maquinas Virtuales
Una maquina virtual toma la aproximacin por capas
para su resultado lgico.
hardware y al kernel del sistema-operativo como si ambos fueran hardware. hardware desnudo que tiene abajo.
Una maquina virtual provee una interfase idntica al El sistema-operativo crea la ilusin de procesos
mltiples, cada uno ejecutndose sobre su propio procesador con su propia memoria (virtual).
Modelos de Sistema
Maquina no virtual Maquina virtual
procesos
processes
Llamadas al Sistema
processes procesos
Interfaz de programming
kernel ncleo
kernel ncleo
kernel ncleo
(a)
(b)
Maquinas Virtuales(Cont.)
Para crear las maquinas virtuales, los recursos de la
computadora fsica son compartidos. El coordinador del CPU puede crear la apariencia, para los usuarios, de que tiene su propio procesador. Spooling y el sistema de archivos pueden proveer lectores virtuales e impresoras virtuales en lnea. Una terminal normal de usuario de tiempo compartido puede servir como una consola virtual de operador de computadora.
proteccin completa de los recursos del sistema ya que cada maquina- virtual esta aislada de todas las otras maquinas virtuales. Este aislamiento, sin embargo, permite compartir recursos de manera no directa. desarrollo e investigacin de sistemas-operativos. El desarrollo del sistema es realizado sobre la maquina virtual, en lugar de sobre una maquina fsica y por lo tanto sin desbaratar la operacin normal del sistema. navegadores de Web y ejecuta un lenguaje diseado para correr en maquinas virtuales (Java)
debe de ser: conveniente para el uso, fcil de aprender, confiable, seguro, y rpido. debe ser: fcil de disear, implementar, y mantener, y adems: flexible, confiable, libre de errores, y eficiente.
Mecanismos y Polticas
Implementacin de Sistemas
Tradicionalmente escritos en lenguaje assembler, los sistemas- operativos ahora pueden ser escritos en lenguajes de alto nivel. El cdigo escrito en lenguajes de alto nivel: Puede ser escrito rpidamente. Es mas compacto. Es fcil de comprender y depurar. Un sistema-operativo es mucho mas fcil de portar (mover a otro hardware) si esta escrito en lenguaje de alto nivel.
Los sistemas-operativos son diseados para correr en cualquier clase de maquina; el sistema deber de ser configurado para cada computadora fsica especifica. El programa SYSGEN obtiene informacin concerniente a la configuracin especifica del sistema de hardware: 1. CPU que va a usar 2. Cuanta memoria tiene 3. Cuales perifricos tiene 4. Que opciones del sistema desea el usuario
SYSGEN (Cont.)
Bootstrap
Booting arranca la computadora para cargar el kernel. Bootstrap cdigo almacenado en ROM que es: 1. capaz de localizar el kernel, 2. cargarlo en la memoria-principal, 3. y arrancar su ejecucin.