servicios y estructuras de los sistemas operativos

49
Servicios y Estructuras de Diseño de los Sistemas Operativos Ing. Luis Eduardo Sepúlveda Rodríguez. M.Sc

Upload: luis-eduardo-sepulveda

Post on 30-Mar-2016

229 views

Category:

Documents


6 download

DESCRIPTION

Servicios y estructuras de diseño de los Sistemas Operativos

TRANSCRIPT

Page 1: Servicios y Estructuras de los Sistemas Operativos

Servicios  y  Estructuras  de  Diseño    de  los  Sistemas  Operativos  

Ing.  Luis  Eduardo  Sepúlveda  Rodríguez.  M.Sc    

Page 2: Servicios y Estructuras de los Sistemas Operativos

3.2Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

●  Servicios  del  Sistema  Operativo  

●  Las  llamadas  del  sistema  

●  Tipos  de  llamadas  del  sistema  

●  Programas  del  sistema  

●  Diseño  e  implementación  del  Sistema  Operativo  

●  Estructura  del  Sistema  Operativo  

●  Depuración  del  Sistema  Operativo  

●  Generación  del  Sistema  Operativo  

●  Sistema  de  arranque  

Contenido  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Contenido  |  

Page 3: Servicios y Estructuras de los Sistemas Operativos

Servicios  del  Sistema  Operativo  

Page 4: Servicios y Estructuras de los Sistemas Operativos

3.4Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Servicios  del  Sistema  Operativo  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo  |  

En  forma  resumida,  un  sistema  operativo  ofrece  servicios  en  las  áreas  siguientes:  

●  Interfaz  de  usuario  

●  Ejecución  de  programas  

●  Operaciones  de  Entrada/Salida  

●  Manipulación  de  los  archivos  

●  Comunicaciones  

●  Detección  de  errores  

●  Asignación  de  recursos  

●  Protección  y  seguridad  

Page 5: Servicios y Estructuras de los Sistemas Operativos

3.5Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Interfaz  de  Usuario  

●  Casi  todos  los  sistemas  operativos  tienen  una  IU  

•  Las  hay  de  línea  de  comandos  (CLI),  gráPicas  (GUI),  batch  

●  Por  lo  general,  los  sistemas  operativos  tienen  una  interfaz  de  usuario  (UI  –  User  Interface).  

•  Interfaz  de  Línea  de  Comando  (CLI  –  Command  Line  Interface)  

•  Interfaz  GráPica  de  Usuario  (GUI  –  Graphics  User  Interface)  

•  Por  lotes  (Batch)  

Servicios  del  Sistema  Operativo  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /    Interfaz  de  Usuario  |  

Page 6: Servicios y Estructuras de los Sistemas Operativos

3.6Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

CLI  o  intérprete  de  comandos  

●  Permite  la  entrada  directa  de  comandos  

●  En  primer  lugar  obtiene  un  comando  del  usuario  y  lo  ejecuta  

Servicios  del  Sistema  Operativo  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /    Interfaz  de  Usuario  |  

Page 7: Servicios y Estructuras de los Sistemas Operativos

3.7Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Servicios  del  Sistema  Operativo  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /    Interfaz  de  Usuario  |  

Bourne  Shell  Command    Interpreter  

Page 8: Servicios y Estructuras de los Sistemas Operativos

3.8Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Servicios  del  Sistema  Operativo  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /    Interfaz  de  Usuario  |  

●  Interfaz  de  fácil  uso,  implementa  una  metáfora  de  escritorio  

•  Por  lo  general  utiliza  el  ratón,  el  teclado  y  el  monitor.  

•  Los  iconos  representan  archivos,  programas,  acciones,  etc.    

•  Los  botones  del  ratón  sobre  los  objetos  causas  diversas  acciones  (proporcionar  información,  ejecutan  funciones,  abren  directorios,  etc.)    

•  Inventado  en  Xerox  PARC    

●  Muchos  sistemas  incluyen  ahora  tanto  CLI  y  las  interfaces  GUI    

•  Microsoft  Windows  y  Apple  Mac  OS  X  tienen  GUI  principalmente  y  CLI  opcionalmente.  

•  UNIX  y  GNU/Linux  tiene  CLI  principalmente  y  opcionalmente  GUI  (CDE,  KDE,  GNOME)  

Page 9: Servicios y Estructuras de los Sistemas Operativos

3.9Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Ejecución  de  Programas  

●  El  sistema  operativo  debe  ser  capaza  de  cargar  un  programa  en  memoria,  leer  archivos  relacionados  y  preparar  los  dispositivos  de  E/S  para  realizar  la  ejecuión  y  posterior  terminación  del  programa,  ya  sea  nomal  o  anormal  (indicando  un  error).  

Servicios  del  Sistema  Operativo  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /    Ejecución  de  Programas  |  

Page 10: Servicios y Estructuras de los Sistemas Operativos

3.10Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Operaciones  de  Entrada  y  Salida  

●  Un  programa  en  ejecución  puede  requerir  operaciones  de  E/S,  que  puede  involucrar  desde  archivos  hasta  dispositivos  de  E/S.    

●  Cada  dispositivo  E/S  requiere  un  conjunto  propio  y  peculiar  de  instrucciones  o  señales  de  control  para  su  funcionamiento.    

●  El  sistema  operativo  tiene  en  cuenta  estos  detalles  de  modo  que  el  programador  pueda  pensar  en  forma  más  abstracta,  es  decir,    lectuas  y  escrituras  simples.  

Servicios  del  Sistema  Operativo  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /    Operaciones  de  Entrada  y  Salida  |  

Page 11: Servicios y Estructuras de los Sistemas Operativos

3.11Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Manipulación  de  los  archivos  

●  El  sistema  de  archivos  es  de  gran  importancia  en  cualquier  Sistema  Operativo,  debido  a  que  allí  se  implemente  la  persistencia  de  información  para  el  usuario.    

●  Los  programas  necesitan  leer  y  escribir  archivos  y  directorios;    crearlos  y  borrarlos;    buscarlos,  listar  información  acerca  de  ellos,  además  de  manejar  sus  propiedades  y  permisos.    

Servicios  del  Sistema  Operativo  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /    Manipulación  de  los  archivos  |  

Page 12: Servicios y Estructuras de los Sistemas Operativos

3.12Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Comunicaciones  

●  Los  procesos  pueden  intercambiar  información,  ya  sea  en  el  mismo  equipo  o  entre  equipos  a  través  de  una  red.  

●  Las  comunicaciones  pueden  ser  a  través  de  memoria  compartida  o  mediante  el  paso  de  mensajes  (paquetes  de  información  movidos  por  el  sistema  operativo)  

Servicios  del  Sistema  Operativo  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /    Comunicaciones  |  

Page 13: Servicios y Estructuras de los Sistemas Operativos

3.13Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Detección  de  errores  

El  SO  necesita  estar  constantemente  al  tanto  de  los  posibles  errores  

●  Puede  ocurrir  en  el  hardware  de  la  CPU  y  la  memoria,  en  los  dispositivos  de  E/S,  o  en  los  programas  de  usuario.  

●  Para  cada  tipo  de  error,  el  sistema  operativo  debe  tomar  las  medidas  adecuadas  para  garantizar  la  computación  correcta  y  consistente  

Servicios  del  Sistema  Operativo  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /    Detección  de  errores  |  

Page 14: Servicios y Estructuras de los Sistemas Operativos

3.14Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Asignación  de  recursos  

●  Cuando  varios  usuarios  o  varias  tareas  se  ejecutan  simultáneamente,  los  recursos  deben  asignarse  a  cada  uno  de  ellos  

●  Existen  muchos  tipos  de  recursos  -­‐  ciclos  de  CPU,  memoria  principal,  de  almacenamiento  de  archivos,  dispositivos  de  E  /  S.  

Servicios  del  Sistema  Operativo  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /    Asignación  de  recursos  |  

Page 15: Servicios y Estructuras de los Sistemas Operativos

3.15Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Contabilidad  

●  Para  mantener  registro  de  qué  usuarios  utilizan  qué  proporción  de  los  recursos  del  sistema.  

●  Permite  supervisar  los  parámetros  de  rendimiento  tales  como  el  tiempo  de  respuesta  

Servicios  del  sistema  operativo  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /  Contabilidad  |  

Page 16: Servicios y Estructuras de los Sistemas Operativos

3.16Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Protección  y  seguridad  

●  Los  propietarios  de  la  información  almacenada  en  un  sistema  multiusuario  o  computador  en  red  pueden  querer  controlar  el  uso  de  esa  información.  

•  Protección  implica  garantizar  que  todos  los  accesos  a  los  recursos  del  sistema  es  controlado    

•  Seguridad  del  sistema  de  los  forasteros  requiere  autenticación  del  usuario,  se  extiende  a  la  defensa  de  los  dispositivos  de  E  /  S  externos  de  intentos  de  acceso  no  válidos  

Servicios  del  sistema  operativo  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /  Protección  y  Seguridad  |  

Page 17: Servicios y Estructuras de los Sistemas Operativos

3.17Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Una  vista  de  los  Servicios  de  los  Sistemas  Operativos  

|    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /  Protección  y  Seguridad  |  

Page 18: Servicios y Estructuras de los Sistemas Operativos

Llamadas  al  Sistema  Sistemas  Operativos  

Page 19: Servicios y Estructuras de los Sistemas Operativos

3.19Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Llamadas  al  sistema  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /  Llamadas  al  sistema  |  

●  Interfaz  de  programación  de  los  servicios  proporcionados  por  el  sistema  operativo  

●  Normalmente  escrito  en  un  lenguaje  de  alto  nivel  (C  o  C  ++)  

●  Generalmente  accedido  por  los  programas  a  través  de  una  programación  de  aplicaciones  de  alto  nivel  de  interfaz  (API)  en  lugar  de  utilización  llamada  al  sistema  directo  

●  Tres  API  más  comunes  son  la  API  Win32  para  Windows,  POSIX  API  para  sistemas  basados  en  POSIX  (incluyendo  casi  todas  las  versiones  de  UNIX,  Linux  y  Mac  OS  X),  y  la  API  de  Java  para  la  máquina  virtual  Java  (JVM).  

Page 20: Servicios y Estructuras de los Sistemas Operativos

3.20Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Llamadas  al  sistema  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /  Llamadas  al  sistema  |  

●  Ejemplo  de  llama  de  sistema  para  copiar  el  contenido  de  un  archivo  a  otro.  

Page 21: Servicios y Estructuras de los Sistemas Operativos

3.21Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Llamadas  al  sistema  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /  Llamadas  al  sistema  |  

●  Ejemplo  de  un  API  estándar  

Page 22: Servicios y Estructuras de los Sistemas Operativos

3.22Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Llamadas  al  sistema  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /  Llamadas  al  sistema  |  

●  Típicamente,  se  asocia  un  número  con  cada  llamada  del  sistema  

•  La  interfaz  de  llamada  al  sistema  mantiene  una  tabla  indexada  de  acuerdo  a  estos  números  

●  La  interfaz  de  llamada  al  sistema  invoca  la  llamada  al  sistema  previsto  en  el  núcleo  del  sistema  operativo  y  devuelve  el  estado  de  la  llamada  al  sistema  y  los  valores  de  retorno  

●  La  persona  que  llama  no  necesita  saber  nada  acerca  de  cómo  se  implementa  la  llamada  al  sistema  

•  Sólo  necesita  obedecer  la  API  y  entender  lo  que  el  sistema  operativo  hará  como  una  llamada  

•  La  mayoría  de  los  detalles  de  interfaz  del  Sistema  Operativo  son  ocultados  al  programador  por  la  API  

•  Gestionado  por  la  librerías  de  soporte  en  tiempo  de  ejecución  (conjunto  de  funciones  incorporadas  en  las  librerías  incluidas  en  el  compilador)  

Page 23: Servicios y Estructuras de los Sistemas Operativos

3.23Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Llamadas  al  sistema  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /  Llamadas  al  sistema  |  

●  Relación  entre  API,  llama  al  sistema  y  el  Sistema  Operativo    

Page 24: Servicios y Estructuras de los Sistemas Operativos

3.24Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Llamadas  al  sistema  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /  Llamadas  al  sistema  |  

Tipos  de  llamadas  al  sistema  

●  Control  de  procesos  

●  Gestión  de  archivos  

●  Gestión  de  dispositivos  

●  Mantenimiento  de  información  

●  Comunicaciones  

●  Protección  

Page 25: Servicios y Estructuras de los Sistemas Operativos

3.25Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Llamadas  al  sistema  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /  Llamadas  al  sistema  |  

Tipos  de  llamadas  al  sistema  

●  Control  de  procesos  

•  Crear  y  terminar  proceso  

•  Finalizar,  abortar  

•  Cargar,  ejecutar  

•  Obtener  atributos  del  proceso  

•  Establecer  atributos  del  proceso  

•  Esperar  por  tiempo,  esperar  evento  

•  Asignar  y  liberar  memoria  

•  Volcado  de  memoria  si  hoy  error    

•  Depurador  para  determinar  errores  

•  Cerraduras  para  gestionar  el  acceso  a  los  datos  compartidos  entre  los  procesos  

Page 26: Servicios y Estructuras de los Sistemas Operativos

3.26Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Llamadas  al  sistema  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /  Llamadas  al  sistema  |  

Tipos  de  llamadas  al  sistema  

●  Gestión  de  archivos  

•  Crear  el  archivo,  borrar    

•  Archivo  cerrar  el  archivo  abierto  

•  Leer,  escribir,  cambiar  la  posición    

•  Obtener  y  establecer  los  atributos  de  archivo  

•  Conectar  o  desconectar  lógicamente  los  dispositivos  de  almacenamiento  

Page 27: Servicios y Estructuras de los Sistemas Operativos

3.27Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Llamadas  al  sistema  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /  Llamadas  al  sistema  |  

Tipos  de  llamadas  al  sistema  

●  Mantenimiento  de  Información    

•  Obtener  y  establecer  la  hora  o  la  fecha  del  sistema  

•  Obtener  y  establecer  datos  del  sistema  

•  Obtener  datos  de  conPiguración  del  sistema  

•  Obtener  y  establecer  procesos  y  los  atributos  de  archivos  o  dispositivos.  

Page 28: Servicios y Estructuras de los Sistemas Operativos

3.28Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Llamadas  al  sistema  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /  Llamadas  al  sistema  |  

Tipos  de  llamadas  al  sistema  

●  Comunicaciones  

•  Crear  y  eliminar  la  conexión  de  comunicación  

•  Enviar  y  recibir  mensajes  entre  el  cliente  al  servidor    

•  Modelo  de  memoria  compartida  (crear  y  tener  acceso  a  las  regiones  de  memoria)  

•  Información  sobre  el  estado  de  transferencia    

•  Conectar  y  desconectar  dispositivos  remotos    

Page 29: Servicios y Estructuras de los Sistemas Operativos

3.29Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Llamadas  al  sistema  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /  Llamadas  al  sistema  |  

Tipos  de  llamadas  al  sistema  

●  Protección  

•  Control  de  acceso  a  recursos  

•  Obtener  y  establecer  permisos  

•  Permitir  y  denar  acceso  a  usuarios  

Page 30: Servicios y Estructuras de los Sistemas Operativos

3.30Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Llamadas  al  sistema  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /  Llamadas  al  sistema  |  

Ejemplos  de  llamadas  al  sistema  en  Sistemas  Windows  y  Unix  

Page 31: Servicios y Estructuras de los Sistemas Operativos

3.31Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Llamadas  al  sistema  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Servicios  del  Sistema  Operativo    /  Llamadas  al  sistema  |  

Ejemplos  de  llamada  al  sistema  desde  un  programa  en  C  

Page 32: Servicios y Estructuras de los Sistemas Operativos

Diseño  e  implementación  de  un  Sistema  Operativo  Sistemas  Operativos  

Page 33: Servicios y Estructuras de los Sistemas Operativos

3.33Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

●  Diseñar  e  implementar  un  SO  es  un  problema  “insoluble”,  pero  hay  ideas  que  han  probado  ser  exitosas  

●  La  estructura  interna  de  distintos  SO  puede  variar  dramáticamente  

●  Iniciamos  por  dePinir  metas  y  especiPicaciones  

●  Afecta  la  selección  de  hardware  y  tipo  de  sistema  

●  Metas  de  usuario  y  metas  de  sistema  

•  Metas  de  usuario:  el  sistema  operativo  debe  ser  conveniente,  fácil  de  aprender,  conPiable,  seguro  y  rápido.  

•  Metas  del  sistema:  el  sistema  operativo  debe  ser  fácil  de  diseñar,  implementar  y  mantener.    Así  como  ser  Plexible,  conPiable,  libre  de  errores  y  ePiciente.  

Diseño  e  implementación  del  Sistema  Operativo  

|    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Diseño  del  Sistema  Operativo  |  

Page 34: Servicios y Estructuras de los Sistemas Operativos

3.34Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

●  Un  principio  importante  es  separar    

•  La  política  del  SO:  ¿Qué  se  hará?    

•  Los  mecanismos  del  SO:  ¿Cómo  hacerlo?    

●  Los  mecanismos  determinan  cómo  hacer  algo,  las  políticas  deciden  lo  que  se  hará    

●  La  separación  de  la  política  del  mecanismo  es  un  principio  muy  importante,  permite  la  máxima  Plexibilidad  para  que  las  decisiones  políticas  se  van  a  cambiar  más  tarde  (ejemplo  -­‐  temporizador)    

●  La  especiPicación  y  diseño  de  un  sistema  operativo  es  una  tarea  altamente  creativa  de  la  ingeniería  de  software  

Diseño  e  implementación  del  Sistema  Operativo  

|    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Diseño  del  Sistema  Operativo  |  

Page 35: Servicios y Estructuras de los Sistemas Operativos

3.35Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

MS-­‐DOS:  escrito  para  proveer  la  mayor  funcionalidad  en  el  menor  espacio  

●  No  tiene  módulos  

●  Aunque  MS-­‐DOS  tiene  algo  de  estructura,  sus  interfaces  y  niveles  de  funcionalidad  no  están  bien  separados  

Estructura  simple  -­‐  monolítica  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Diseño  del  Sistema  Operativo  |  

ROM  –  BIOS  -­‐  Disposi/vos  

Programas  de  aplicación  

Programas  de  Sistema  

MS-­‐DOS    Driver  de  disposi/vos  

Page 36: Servicios y Estructuras de los Sistemas Operativos

3.36Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

●  Primeros  sistemas  operativos.  

●  Se  crean  procedimientos  separados  que  pueden  llamarse  unos  a  otros.  

●  Carecen  de  protecciones  y  privilegios.    

●  Eran  muy  ePicientes  debido  a  su  forma  de  operación.  

Estructura  simple  -­‐  monolítica  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Diseño  del  Sistema  Operativo  |  

Page 37: Servicios y Estructuras de los Sistemas Operativos

3.37Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

●  El  SO  está  dividido  en  niveles  o  capas,  cada  uno  construido  sobre  los  anteriores.  La  capa  más  baja  (layer  0),  es  el  hardware;  la  más  alta  (layer  N)  es  la  interfaz  de  usuario.  

●  Las  capas  se  seleccionan  de  tal  manera  que  cada  una  utilice  funciones  (operaciones)  y  servicios  exclusivamente  de  capas  inferiores  

Enfoque  por  capas  -­‐  Jerárquica  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Diseño  del  Sistema  Operativo  |  

Capa N

Capa 0

Capa N-1

Capa …

Page 38: Servicios y Estructuras de los Sistemas Operativos

3.38Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

●  Sistema  dividido  en  niveles.  

●  Cada  nivel  le  presta  una  serie  de  servicios  al  nivel  superior.    

●  En  esta  estructura  se  basan  la  mayoría  de  los  sistemas  operativos  actuales.  

Enfoque  por  capas  -­‐  Jerárquica  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Diseño  del  Sistema  Operativo  |  

Capa N

Capa 0

Capa N-1

Capa …

Page 39: Servicios y Estructuras de los Sistemas Operativos

3.39Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

●  UNIX:  Estaba  limitado  por  funcionalidad  del  hardware,  el  SO  UNIX  original  tenía  una  estructura  limitada,  con  dos  partes  separadas:  

•  Programas  de  sistema  

•  El  kernel  

•  Todo  abajo  de  la  interfaz  de  llamadas  al  sistema  y  arriba  del  hardware  

•  Provee:  sistema  de  archivos,  programación  de  CPU,  manejo  de  memoria  y  otras  operaciones  del  SO.    Un  gran  número  de  funciones  para  una  capa.  

UNIX  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Diseño  del  Sistema  Operativo  |  

Page 40: Servicios y Estructuras de los Sistemas Operativos

3.40Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Estructura  del  sistema  UNIX  |    Servicios  y  Estructuras  de  Diseño  de  los  Sistemas  Operativos  /  Diseño  del  Sistema  Operativo  |  

Page 41: Servicios y Estructuras de los Sistemas Operativos

3.41Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

●  Mueve  mucho  del  kernel  al  espacio  del  “usuario”  

●  La  comunicación  entre  módulos  se  realiza  con  paso  de  mensajes  

●  BenePicios:  

•  Más  fácil  de  extender  un  microkernel  

•  Más  fácil  portar  el  SO  a  otras  arquitecturas  

•  Más  conPiable  (menos  código  se  ejecuta  en  modo  kernel)  

•  Más  seguro  

●  Problemas:  

•  Sobrecarga  de  comunicación  entre  los  espacios  de  usuario  y  kernel  

Estructura  Microkernel  

   

Mach  

Entorno  de  aplicaciones  y  servicios  comunes  

BSD  

Entorno  de

l  Kerne

l  

Page 42: Servicios y Estructuras de los Sistemas Operativos

3.42Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

●  La  mayoría  de  los  SO  modernos  implementan  módulos  de  kernel  

•  Enfoque  orientado  a  objetos  

•  Cada  componente  base  está  separado  

•  Cada  uno  habla  con  los  otros  a  través  de  interfaces  comunes  

•  Cada  uno  puede  cargarse  (al  kernel)  conforme  se  necesita  

●  En  general,  similar  a  las  capas,  pero  más  Plexible  

Módulos  

Solaris Kernel

Scheduling classes

File systems

Loadable system calls

Executable formats

Streams modules

Miscellaneous moudeles

Device and bus drivers

Page 43: Servicios y Estructuras de los Sistemas Operativos

3.43Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

●  Una  máquina  virtual  lleva  el  enfoque  de  capas  a  su  conclusión  lógica.    Trata  el  hardware  y  el  kernel  del  SO  como  si  fueran  hardware  ambos  

●  Una  máquina  virtual  ofrece  una  interfaz  idéntica  para  cualquier  hardware  que  esté  abajo  

●  El  sistema  operativo  crea  la  ilusión  de  múltiples  procesos,  cada  uno  ejecutando  en  su  propio  procesador  con  su  propia  memoria  (virtual)  

Máquinas  virtuales  

Page 44: Servicios y Estructuras de los Sistemas Operativos

3.44Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

●  Los  recursos  de  la  computadora  Písica  se  comparten  para  crear  las  máquinas  virtuales  

•  La  planiPicación  de  la  CPU  produce  la  ilusión  de  que  los  usuarios  tienen  su  propio  procesador  

•  Colas  (spooling)  y  el  sistema  de  archivos  pueden  ofrecer  lectores  de  tarjetas  e  impresoras  virtuales  

•  Una  terminal  de  usuario  en  un  sistema  de  tiempo  compartido,  sirve  como  la  máquina  virtual  de  la  consola  del  operador  

Máquinas  virtuales  (Cont.)  

Page 45: Servicios y Estructuras de los Sistemas Operativos

3.45Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Máquinas  virtuales  (Cont.)  

Hardware  

Kernel  

Procesos  

Procesos  

Procesos  

Hardware  

Implementación  de  Máquina  Virtual  

VM  3  VM  1  

Kernel  

Procesos  

Procesos  

Procesos  

Kernel  

Procesos  

Procesos  

Procesos  

Kernel  

Procesos  

Procesos  

Procesos  

VM  2  

Sin máquina virtual

Con máquina virtual

Page 46: Servicios y Estructuras de los Sistemas Operativos

3.46Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

●  El  concepto  de  máquinas  virtuales  provee  protección  completa  de  los  recursos  del  sistema,  ya  que  cada  máquina  virtual  está  aislada  de  las  demás.    Sin  embargo,  por  el  aislamiento  no  pueden  compartir  recursos  directamente.  

●  Una  máquina  virtual  es  un  excelente  vehículo  para  hacer  investigación  en  SO.  El  desarrollo  se  lleva  a  cabo  en  la  máquina  virtual,  sin  afectar  la  operación  normal  del  sistema.  

●  El  concepto  de  máquina  virtual  es  diPícil  de  implementar  debido  al  gran  esfuerzo  de  proveer  un  duplicado  exacto  de  la  máquina.  

Máquinas  virtuales  (Cont.)  

Page 47: Servicios y Estructuras de los Sistemas Operativos

3.47Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Virtualizació  alojada  

 Hardware  

       

Sistema  Opera/vo  Anfitrión  (  GNU/Linux)  

Sistema  Opera/vo  Huésped  Free  BSD  CPU  virtual  RAM  virtual  Disposi/vos  virtuales  

Aplicación   Aplicación   Aplicación  

CPU   Memoria   E/S  

Capa  de  Virtualización  

Sistema  Opera/vo  Huésped  

Windows  NT  CPU  virtual  RAM  virtual  Disposi/vos  virtuales  

Sistema  Opera/vo  Huésped  

Windows  XP  CPU  virtual  RAM  virtual  Disposi/vos  virtuales  

Aplicación  

Page 48: Servicios y Estructuras de los Sistemas Operativos

3.48Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Arquitectura  de  Windows  XP  

Page 49: Servicios y Estructuras de los Sistemas Operativos

3.49Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

●  STALLING  W.  Operating  Systems:  Internals  and  Design  Principles.  7th  Edition.  2011.  

BibliograPía  

¡  SILBERSCHATZ  A,  GALVIN  P,  GAGNE  G.  Opera/ng  System  Concepts.  8th  Edi/on.  2009.  

¡  VIÑAS  R,  LLINAS  F.  Sistema  Opera/vo  GNU/Linux  básico.  UOC.  2003.    

¡  ESTEVE  J,  BOLDRITO  R,  Administración  avanzada  de  GNU/LINUX.  UOC.  2004.