You are on page 1of 22

Estructuras del Sistema Operativo

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

Componentes Comunes del Sistema

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.

Es un deposito de datos rpidamente accesibles que


comparten el CPU y los dispositivos de E/S.

Memoria-Principal es un dispositivo de almacenamiento


voltil. Pierde su contenido en el caso de una falla del sistema.

Administrador de Memoria-Principal

El sistema operativo es responsable de las siguientes


actividades en relacin con la administracin de memoria: Mantener una relacin de las partes de la memoria que estn siendo usadas actualmente y por quien. Decidir cuales procesos cargar cuando un espacio de memoria se encuentra disponible. Distribuir y redistribuir espacios de memoria segn sea necesario.

Almacenamiento-Secundario

La memoria-principal es voltil y muy pequea para


el sistema de computo debe de contar con un almacenamiento-secundario que respalde a la memoria-principal.

acomodar todos los datos y programas permanentemente,

La mayora de las computadoras modernas usan discos

como el principal medio de almacenamiento en lnea, para programas y datos.

Administrador de Almacenamiento-Secundario

El sistema operativo es responsable de las


siguientes actividades en relacin con el administrador del disco: Administracin de espacio libre Asignacin de almacenamiento Planificacin del disco

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

El Sistema Operativo hace una abstraccin de las

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

El sistema operativo es responsable de las siguientes


Creacin y eliminacin de archivos. Creacin y eliminacin del Directorio. Proveer de primitivas para la manipulacin de archivos y directorios. Archivo de mapas de accesibilidad del almacenamiento secundario. Respaldo de archivos sobre medios de almacenamiento estables (no-voltiles).

actividades en relacin con el administrador de archivos:

Operacin en Red

Un sistema distribuido es una coleccin de

procesadores que ni comparten memoria ni reloj.

Cada procesador tiene su propia memoria local. Los procesadores en el sistema estn conectados a
travs de una red de comunicacin.

Un sistema distribuido provee acceso al usuario para


una variedad de recursos del sistema.

El acceso a los recursos del sistema permite:


Aceleracin de la computacin Disponibilidad de datos incrementada Confiabilidad mejorada

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.

El mecanismo de proteccin deber:


Distinguir entre uso autorizado y no-autorizado. Especificar los controles a imponer. Proveer de medios de coaccin.

Interprete de Comandos

Muchos comandos son dados al sistema operativo por


Creacin y administracin de procesos Manipulacin de E/S Administracin de almacenamiento-secundario Administracin de la memoria-principal Acceso al sistema de archivos Proteccin Interconexin en red

medio de proposiciones de control que se ocupan de:

Sistema de Interprete de Comandos

El programa que lee e interpreta la proposiciones de


control es llamado de varias formas: Interprete de tarjetas de control (como en JCL) Interprete de comandos en lnea (como en DOS) Shell (como en UNIX)

Su funcin es conseguir y ejecutar la siguiente


proposicin de comando.

Servicios del Sistema Operativo


Ejecucin de programas capacidad del sistema para cargarlos dentro
de la memoria-principal y correrlos.

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.

Deteccin de errores asegura la correcta computacin por medio de la

Modelos de Comunicacin
Transferencia de mensajes Memoria compartida

process A Proceso A

process A Proceso A 1 shared memory Memoria compartida

Proceso B process B

2 M process B Proceso B

kernel ncleo

kernel ncleo

(a)

(b)

Funciones Adicionales del Sistema Operativo


Las funciones adicionales existen no para auxiliar al usuario, si no para asegurar la operacin eficiente del sistema. para mltiples tareas que corren al mismo tiempo.

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.

Proteccin asegurara que todos los accesos a los


recursos del sistema estn asegurados.

Las llamadas al sistema son la

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.

Llamadas al Sistema (Cont.)


Tres mtodos generales son usados para el paso de
parmetros entre un programa en ejecucin y el sistema operativo. Paso de parmetros en registros. El programa almacena los parmetros en la memoria-principal en una tabla, y la direccin de la tabla es pasada como un parmetro en un registro. El programa mete (Push) los parmetros en el stack, y el Sistema operativo los saca(Pop) del stack.

Paso de Parmetros como una Tabla

X register Registro X: parameters para la llamada for call


Cargar la direccin x load address X Llamada al system call 13 sistema 13 Usar parmetros use parameters de la tabla X from table X X: parmetros

Cdigo para code for la system llamada callal13 sistema 13

user de usuario Programaprogram operating system Sistema operativo

Tipos de Llamadas al Sistema

Control de procesos:

terminar proceso, etc...

abortar, cargar, ejecutar, crear,

Manipulacin de archivos: crear, eliminar archivo, abrir,


cerrar, leer, escribir, etc...

Manipulacin de Dispositivos: solicitar, liberar dispositivo,


reposicionar, conectar, desconectar, etc..

Mantenimiento de informacin: obtener atributos de un

proceso, obtener datos del sistema, establecer atributos de un archivo, etc... enviar, recibir mensaje, etc...

Comunicaciones: crear, eliminar conexin de comunicacin,

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.

Estructura del Sistema Primera aproximacin

MS-DOS escrito para proveer el mximo de


funcionalidad en el mnimo espacio No estaba dividido en mdulos Sin embargo MS-DOS tuvo alguna estructura, sus interfases y niveles de funcionalidad no estaban bien separados

MS-DOS: Estructura de Capas

application program Programa de aplicacin

Programa del sistema residente resident system program

MS-DOS device drivers


de MS-DOS

Controlador de dispositivo

Controladoresdevice drivers en ROM BIOS de dispositivos ROM BIOS

Estructura del Sistema Primera aproximacin

UNIX limitado por la funcionalidad del Hardware, el


sistema operativo UNIX original tenia una estructura limitada.

UNIX consiste de dos partes separables:


Programas de Sistema El kernel Consiste en todo lo que se encuentra entre la interfase de llamadas al sistema y el hardware fsico. Provee: el sistema de archivos, el supervisor del CPU, el administrador de memoria, y otras funciones del sistema-operativo; muchas funciones para un solo nivel.

UNIX: Estructura del Sistema


Usuarios (the users)

Interfaz del Usuario API

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

memory controllers memoria physical memory memoria fsica

Controladores de

Estructura del Sistema: Aproximacin en Capas

El sistema-operativo esta dividido en un numero de


capas (niveles), cada uno construido encima de la capa inferior. (capa N) es la interfase del usuario.

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.

Una Capa del Sistema Operativo


layer M Capa M

new Operaciones operations nuevas

. . .
Operaciones hidden ocultas operations

. . .

Capa 1 layer MM-1

existing Operaciones existentes operations

. . .

Estructura por Capas del SO. THE


El diseo en capas fue usado por primera vez en el sistema-operativo
THE ( Technische Hogeschool Eindhoven ). Sus seis capas estn como sigue:

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

OS/2: Estructura en Capas


Aplicacin application Aplicacin application Aplicacin application

application - programming interface Interfaz de Programacin de Aplicaciones (API)

API extension Extensin API

subsistema subsystem

subsistema subsystem

subsistema subsystem

Ncleo system del kernel sistema

Gestin de memoria memory management Despachodispatching task de tareas de dispositivos Admon. device management
Controlador de dispositivo

devicede dispositivo driver Controlador

devicede dispositivo driver Controlador

device driver

device de dispositivo driver Controlador

Microkernels
El microkernel estructura al sistema operativo
removiendo todos los componentes no esenciales, e implementndolos como programas del sistema y de nivel de usuario.

Todos los servicios nuevos se agregan al espacio

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.

Es mas fcil de portar de un diseo de hardware a otro

Maquinas Virtuales
Una maquina virtual toma la aproximacin por capas
para su resultado lgico.

Los programas del sistema (y de aplicacin) tratan al

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

processes procesos processes procesos

procesos

processes

Llamadas al Sistema

processes procesos

interface programacin kernel ncleo hardware hardware

Interfaz de programming

kernel ncleo

kernel ncleo

kernel ncleo

virtual machine Maquina virtual hardware hardware

(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.

Ventajas/Desventajas de las Maquinas Virtuales

El concepto de maquina-virtual provee

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)

Un sistema de maquinas virtuales es el vehculo perfecto para el

La Maquina Virtual de Java (JVM) se implementa dentro de los

Objetivos del Diseo de Sistemas

Objetivos de Usuario el sistema-operativo

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.

Objetivos de Sistema el sistema operativo

Mecanismos y Polticas

El Mecanismo determina como hacer algo.


La Poltica decide lo que se har.

La separacin de polticas de mecanismos


es un principio muy importante que permite, una mxima flexibilidad si las decisiones polticas son cambiadas posteriormente.

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.

Generacin de Sistema (SYSGEN)

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.)

Generacin del Sistema:


Modificar una copia del cdigo personalizadoCompilacin condicional Enlazar solo los mdulos seleccionados de una biblioteca precompilada Sistema controlado por tablas de seleccin durante la ejecucin

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.

You might also like