Page 1

Introducción Conceptos  Generales  de  los  sistemas  operativos  

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


Contenido

| Introducción  /  Contenido  |    

●  Sistema Informático   ●  Sistema  Operativo   ●  Funcionamiento  de  un  Sistema  Informático   ●  Gestión  de  procesos   ●  Gestión  de  memoria   ●  Gestión  de  almacenamiento   ●  Protección  y  Seguridad   ●  Entornos  informáticos   ●  Sistemas  Operativos  Open-­‐Source  /  Software  Libre   Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.2


Objetivos |  Introducción  /  Objetivos  |  

●  Describir la  organización  básica  de  un  Sistema  informático   ●  Brindar  un  visión  general  de  los  principales  componentes  de  un  sistema  operativo   ●  Dar  una  visión    general  de  diversos  tipos  de  entornos  informáticos   ●  Explorar  algunos  sistemas  operativos  Open-­‐Source  /  Software  Libre  

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

1.3


Sistema Informático  


DeMinición de  un  sistema  informático   |  Introducción  /  Sistema  Informático  /  DeMinición  |  

Un sistema  informático  es  un  sistema  que  permite  almacenar  y  procesar   información;  es  el  conjunto  de  partes  interrelacionadas:  hardware,  software  y   usuarios.  (Silberschatz  et  all  ,  2009)  

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

1.5


Componentes de  un  sistema  informático   |  Introducción  /  Sistema  Informático  /  Componentes  |  

Un sistema  informático  puede  dividirse  conceptualmente  en  cuatro  componentes   como  son:   ●  Hardware:  Proporciona  los  recursos  básicos  de  computación  (CPU,  memoria,   dispositivos  de  E/S).   ●  Sistema  Operativo:  Controla  y  coordina  el  uso  del  hardware  entre  las  distintas   aplicaciones  de  los  distintos  usuarios.   ●  Aplicaciones:  Consumen  los  recursos  para  resolver  los  problemas  de   computación  de  los  usuarios.   ●  Usuarios:  Personas,  máquinas  u  otros  computadores.  

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

1.6


Estructura de  un  sistema  informático   |  Introducción  /  Sistema  Informático  /  Estructura  |    

Usuario 1  

Compiladores

Usuario 3  

Usuario 2  

Editores  de  texto          ….              Bases  de  datos        

Usuario n  

         …  

Programas de  sistemas  y  aplicación  

Sistema Operativo   Hardware  

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

1.7


Función de  un  sistema  informático   |  Introducción  /  Sistema  Informático  /  Función  de  un  sistema  informático  |    

●  El computador  es  una  máquina  destinada  a  procesar  datos  

●  El procesamiento   involucra   varios   Mlujos   de   información   como   son:   datos   de  entrada,  instrucciones  de  máquina  y  resultados.  

●  Inicialmente se  parte  del  Mlujo  de  datos  que  han  de  ser  procesados,  este   Mlujo  de  datos  es  tratado  mediante  un  Mlujo  de  instrucciones  de  máquina   generado   por   la   ejecución   de   un   programa,   y   produce   el   Mlujo   de   datos   resultado.  

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

1.8


Función de  un  sistema  informático   |  Introducción  /  Sistema  Informático  /  Función  de  un  sistema  informático  |        

Datos de   entrada    

Procesador   (  Instrucciones   de  máquina)  

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

Resultados

1.9


Programas en  un  sistema  Informático   |  Introducción  /  Sistema  Informático  /  Programas  en  un  sistema  informático  |  

●  Los programas  de  un  computador  puede  dividirse  a  de  forma  general  en   dos  tipos:     •  Programas   de   sistema,   que   controlan   la   operación   de   la   computadora   misma.   •  Programas  de  aplicación,  que  realizan  las  tareas  reales  que  el  usuario   desea.   ●  El   programa   de   sistema   más   importante   y   fundamental   es   el   Sistema   Operativo,  que  controla  todos  los  recursos  de  la  computadora  y  establece   la  base  sobre  la  que  pueden  escribirse  los  programas  de  aplicación.  

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

1.10


Programas en  un  sistema  Informático   |  Introducción  /  Sistema  Informático  /  Programas  en  un  sistema  informático  |  

Sistemas Procesadores   Navegadores   Web   Bancarios   de  texto  

Compiladores Editores  

Intérprete de  ordenes  

Programas de  Aplicación  

… Programas  de  Sistema  

Sistema Operativo  

Usuario Lenguaje  de  máquina   Micro-­‐programación  

Hardware

Dispositivos Mísicos   Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.11


Complejidad en  un  sistema  informático   |  Introducción  /  Sistema  Informático  /  Complejidad  en  un  sistema  informático  |    

●  Un sistema  informático  moderno  consiste  en  uno  o  más  procesadores,   memoria  principal  (también  conocida  como  RAM,  memoria  de  acceso   aleatorio),  discos  para  almacenar  información,  impresoras,  interfaces  de   red  y  otros  dispositivos  de  entrada/salida  (E/S).   ●  Desde  todo  punto  de  vista,  se  trata  de  un  sistema  complejo.  

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

1.12


Complejidad en  un  sistema  informático   |  Introducción  /  Sistema  Informático  /  Complejidad  en  un  sistema  informático  |  

●  Escribir programas   que   permitan   interactuar   directamente   con   todos   los   componentes   hardware  y  los  usen  correctamente,  es  una  tarea  en  extremo  diMícil.   ●  Si   todos   los   programadores   tuvieran   que   ocuparse   de   cómo   trabajan   las   unidades   de   disco   por   ejemplo,   y   de   las   docenas   de   cosas   que   pueden   fallar   al   leer   un   bloque   de   disco,  es  poco  probable  que  pudieran  escribirse  muchos  programas.  

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

1.13


Complejidad en  un  sistema  informático   |  Introducción  /  Sistema  Informático  /  Complejidad  en  un  sistema  informático  |    

●  Por la  problemática  anterior,  debía  encontrarse  alguna  forma  de  proteger  a  los   programadores  de  la  complejidad  que  representa  gestionar  directamente  al   hardware.  

●  La solución  consiste  en  poner  una  capa  de  programas  encima  del  hardware,  la  cual   debe  encargue  de  administrar  todas  las  partes  del  sistema  informático  y  presentar   al  usuario  una  interfaz  o  máquina  virtual  que  sea  más  fácil  de  entender  y   programar.    

●  Esta capa  de  programas  es  el  Sistema  Operativo  (SO).  

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

1.14


Sistema Operativo  


¿Qué es  un  Sistema  Operativo?   |  Introducción  /  Sistema  Operativo  /  DeMinición  |  

●  DeMinición según  la  RAE  (2015)  :  Sistema  Operativo:  Programa  o  conjunto  de  programas   que  efectúan  la  gestión  de  los  procesos  básicos  de  un  sistema  informático,  y  permite  la   normal  ejecución  del  resto  de  las  operaciones.       Dependiendo  del  punto  de  vista  de  los  usuarios,  existen  varias  formas  de  percibir  al  Sistema   Operativo   •  Interfaz  de  usuario   •  Máquina  extendida  o  máquina  virtual   •  Administrador  de  recursos  

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

1.16


¿Qué es  un  Sistema  Operativo?   |  Introducción  /  Sistema  Operativo  /  DeMinición  |  

●  No existe  una  deMinición  universalmente  aceptada   ●  Un  Sistema  Operativo  es  un  administrador  de  recursos   •  Gestiona  todos  los  recursos   •  Resuelve  los  convictos  entre  las  solicitudes  de  los  usuarios  para  garantizar  el  uso  eMiciente  y   equilibrado  de  los  recursos   ●  Un  sistema  Operativos  es  un  programa  de  control   •  Controla  la  ejecución  de  programas  para  prevenir  errores  y  el  uso  indebido  del  sistema   informático.  

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

1.17


¿Qué es  un  Sistema  Operativo?   |  Introducción  /  Sistema  Operativo  /  ¿Qué  es  un  Sistema  Operativo?|  

●  DeMiniciones: •  “Un  sistema  operativo  (SO)  explota  los  recursos  de  hardware  de  uno  o  más  procesadores  para   ofrecer  un  conjunto  de  servicios  a  los  usuarios  del  sistema.  El  sistema  operativo  también   gestiona  la  memoria  secundaria  y  los  dispositivos  de  entrada/salida  (E/S)  en  nombre  de  los   usuarios”  (Stallings,  2009).   •  Es  un  programa  cuyo  objetivo  principal  es  controlar  el  uso  adecuado  de  los  recursos   computacionales.   •  Es  el  conjunto  de  programas  implementados  en  Software  o  Firmware  que  hacen  posibles  que   controle  al  Hardware.  

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

1.18


¿Qué hace  un  Sistema  Operativo?   |  Introducción  /  Sistema  Operativo  /  ¿Qué  es  un  Sistema  Operativo?|  

●  Facilitar el  uso  de  la  computadora  al  usuario  (Interfaz).  

●  Facilitar la  construcción  de  aplicaciones  al  programador  (Máquina  virtual  extendida).  

●  Ejecutar programas  eMicientemente  (Gestor  de  recursos).  

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

1.19


¿Qué hace  un  Sistema  Operativo?   |  Introducción  /  Sistema  Operativo  /  ¿Qué  es  un  Sistema  Operativo?|  

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

1.20


¿Qué hace  un  Sistema  Operativo?   |  Introducción  /  Sistema  Operativo  /  ¿Qué  es  un  Sistema  Operativo?|  

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

1.21


Funcionamiento de  un  Sistema  Informático  


Arquitectura RISC  vs  CISC   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  RISC  vs  CISC  |  

●  CISC (ComplexInstruction  Set  Computer)  Computadoras  con  un  conjunto  de  instrucciones  complejo.   ●  RISC  (ReducedInstruction  Set  Computer)  Computadoras  con  un  conjunto  de  instrucciones  reducido  

RISC

CISC

Instrucciones de  máquina  

Instrucciones de  máquina  

Ejecución de  instrucción  

Conversión de  micro-­‐código   Micro-­‐instrucción   Ejecución  de  micro-­‐instrucción  

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

1.23


Proceso de  arranque  del  computador   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Proceso  de  arranque  |  

●  El programa  de  arranque  se  carga  al  encender  o  reiniciar  el   sistema     ●  Este  programa  se  encuentra  almacenado  típicamente   almacenado  en  la  ROM  (Read  Only  Memory)  o  EPROM   (Erasable  Programmable  Read-­‐Only  Memory),  generalmente   conocido  como  Mirmware  y  realiza  las  siguientes  acciones:   •  Inicia  todos  los  aspectos  relevantes  del  sistema   •  Localiza  el  dispositivo  de  almacenamiento  que  contiene  el   núcleo  del  sistema   •  Carga  el  núcleo  del  sistema  operativo    en  memoria  y   comienza  su  ejecución  

Proceso de  inicio   BIOS   MBR   GRUB   Kernel   Init   Runlevel  

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

1.24


Funcionamiento del  computador   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Funcionamiento  del  computador  |  

●  Uno o  más  CPUs  y  controladores  de  dispositivos  se  conectan  a  través  del  bus  común  que   proporciona  acceso  a  la  memoria  compartida.   ●  La  ejecución  concurrente  de  las  CPUs  y  los  dispositivos  compiten  por  ciclos  de  memoria  (debido  a   su  naturaleza  compartida).  

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

1.25


Funcionamiento del  computador   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Funcionamiento  del  computador  |  

●  Los dispositivos  de  Entrada/Salida  (E/S)  y  la  CPU  pueden  ejecutarse  concurrentemente   ●  Cada  controlador  de  dispositivo  esta  a  cargo  de  un  tipo  de  dispositivo  concreto   ●  Cada  controlador  de  dispositivo  tiene  una  memoria  intermedia  local  (buffer)   ●  La  CPU  mueve  datos  desde  y  hacia  la  memoria  principal  y  hacia  o  desde  las  memorias  intermedias   locales  (buffer).   ●  La  E/S    es  desde  el  dispositivo  hasta  la  memoria  intermedia  local  del  controlador   ●  Los  controladores  de  dispositivos  informan  a  la  CPU  que  ha  terminado  su  operación,  causando  una   interrupción.  

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

1.26


Interrupciones |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Interrupciones  |  

●  Interrumpir transMiere  el  control  a  la  rutina  de  servicio  de  interrupción  general,  a  través  del  vector   de  interrupción,  que  contiene  las  direcciones  de  todos  los  rutinas  de  servicio.   ●  La  arquitectura  de  interrupción  debe  guardar  la  dirección  de  interrumpida   ●  Una  trampa  (trap)  o  excepción  (exception)  es  una  interrupción  generada  por  software  y  causada  ya   sea  por  un  error  o  una  petición  del  usuario.   ●  Un  sistema  operativo  funciona  por  interrupciones   ●  El  sistema  operativo  conserva  el  estado  de  los  registros  de  almacenamiento  y  el  contador  de   programa.   ●  Determina  qué  tipo  de  interrupciones  se  han  producido.   ●  Segmentos  separados  de  código  determinan  qué  medidas  se  deben  adoptar  para  cada  tipo  de   interrupción.  

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

1.27


Interrupciones en  una  línea  de  tiempo   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Interrupciones  |  

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

1.28


Estructura de  la  Entrada/Salida     |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Entrada-­‐Salida  |  

●  Después de  que  arranca  una  operación  de  E/S,  el  control  vuelve  al  programa  de  usuario  sólo  al   Minal  de  dicha  operación.   •  La  instrucción  espera  ociosa  por  la  CPU  hasta  la  siguiente  interrupción   •  Ciclo  de  espera  (competencia  por  acceso  a  memoria)   •  Sólo  una  operación  de  E/S  puede  realizarse  a  la  vez,  no  hay  procesamiento  de  E/S  simultáneo.  

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

1.29


Unidades de  almacenamiento  de  información   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Unidades  de  almacenamiento  de  información  |  

●  BIT •  Bit  es  el  acrónimo  de  Binary  Digit  (Dígito  binario).   •  Un  bit  es  un  dígito  del  sistema  de  numeración  binario.   •  Puede  representar  uno  de  esos  dos  valores,  0  ó  1.   •  El  bit  es  considerado  la  mínima  unidad  para  la  representación  de  la  información.   ●  BYTE   •  Octeto.   •  Conjunto  de  ocho  bits.   •  Es  considerado  la  unidad  fundamental  para  la  representación  de  la  información  

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

1.30


Unidades de  almacenamiento  de  información   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Unidades  de  almacenamiento  de  información  |  

Unidad  

Abreviatura

Valor relativo  

1 bit  

b

1 |  0  

1 Byte  

B

8 bits  

1 KiloByte  

KB

1024 Bytes  

1 MegaByte  

MB

1024 KB  

1 GigaByte  

GB

1024 MB  

1 TeraByte  

TB

1024 GB  

1 PetaByte  

PB

1024 TB  

1 ExaByte  

EB

1024 PB  

1 ZettaByte  

ZB

1024 EB  

1 YottaByte  

YB

1024 ZB  

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

1.31


Estructuras de  almacenamiento   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Estructuras  de  almacenamiento  |  

●  Memoria principal  -­‐  RAM  (Random  Access  Memory)  medio  de  almacenamiento   que  la  CPU  puede  acceder  directamente   •  El  acceso  es  aleatorio  y  de  naturaleza  volátil  (no  persistente)  

●  Almacenamiento secundario  -­‐  Es  considerada  la  extensión  de  al  memoria   principal  que  proporciona  gran  capacidad  de  almacenamiento  no  volátil.   •  Discos  duros  -­‐  Platos  de  metal  o  vidrio  cubiertos  con  material  de  grabación  magnética   •  La  superMicie  del  disco  se  divide  de  forma  lógica  en  las  pistas,  que  se  subdividen  en  sectores   •  El  controlador  de  disco  determina  la  interacción  lógica  entre  el  dispositivo  y  la  computadora   •  Unidades  de  estado  sólido  (Solid-­‐State  Drive  SSD)  -­‐  más  rápido  que  los  discos  duros  rotativos   y  cada  vez  más  populares  y  económicos  

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

1.32


Estructuras de  almacenamiento   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Estructuras  de  almacenamiento  |  

Los sistemas  de  almacenamiento  están   organizados  en  diversas  jerarquía  como  son:   ●  Velocidad   ●  Costo   ●  Volatilidad   ●  Almacenamiento  en  caché   •  copia  información  en  el  sistema  de   almacenamiento  más  rápido.     •  La  memoria  principal  puede  ser  visto  como  una   memoria  caché  para  el  almacenamiento   secundario.  

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

1.33


Jerarquía de  almacenamiento   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Jerarquía  de  almacenamiento  |  

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

1.34


Memoria cache   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Memoria  cache  |  

●  Principio importante,  implementado  en  muchos  de  los  niveles  de  una  computadora  (hardware,   sistemas  operativo  y  software)   ●  Por  lo  general,  la  información  es  copiada  desde  el  almacenamiento  lento  hacia  el  rápido   temporalmente.   ●  Se  veriMica  primero  en  el  almacenamiento  rápido  (caché)  para  determinar  si  la  información  esta   allí   •  Si  es  así,  la  información  es  usada  directamente  desde  la  caché.   •  Si  no,  los  datos  son  copiados  primero  en  la  caché  y    posteriormente  usados.  

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

1.35


Acceso Directo  a  Memoria  (DMA)   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Acceso  Directo  a  Memoria-­‐  DMA  |  

●  Se utiliza  para  que  los  dispositivos  de  E/S  de  alta   velocidad  capaces  de  transmitir  la  información  a   la  memoria  lo  hagan  a  mayor  velocidad  posible.   ●  El  controlador  de  dispositivo  transMiere  bloques   de  datos  directamente  a  la  memoria  principal  sin   la  intervención  de  la  CPU.   ●  Solamente  se  genera  una  interrupción  por   bloque  en  lugar  de  una  interrupción  por  byte.  

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

1.36


Multi-­‐procesador |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Multi-­‐procesador  |  

●  La mayoría  de  los  sistemas  utilizan  un  único  procesador  de  propósito  general   ●  Los  sistemas  de  multiprocesador  están  creciendo  en  uso  e  importancia   •  También  conocidos  como  sistemas  paralelos  o  sistemas  fuertemente  acoplados   •  Ventajas:   •  Economía  de  escala   •  Mayor  Miabilidad  (tolerancia  a  fallos  )   •  Tipos:   •  Multi-­‐procesamiento  asimétrico:  a  cada  procesador  se  el  asigna  una  tarea   •  Multi-­‐procesamiento  simétrico:  a  cada  procesador  se  le  asignan  todas  las  tareas  

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

1.37


Multi-­‐procesamiento Simétrico   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Multi-­‐procesamiento  Simétrico  |  

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

1.38


Procesador Doble  Núcleo   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Procesador  Doble  Núcleo  |  

●  Múltiple chip  y  múltiple  núcleo   ●  Sistemas  que  contiene  todos  los  chips   •  El  chasis  contiene  múltiples  sistemas  separados  

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

1.39


Sistemas en  Cluster   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Sistemas  en  Cluster  |  

●  Similares a  los  sistemas  multiprocesador,  con  la  diferencia  que   son  sistemas  completos  independientes  que  trabajan  juntos   •  Por  lo  general  el  intercambio  de  almacenamiento  se  realiza   a  través  de  una  red  tipo  SAN  (  Storage  Area  Network).   •  Proporciona  un  servicio  de  alta  disponibilidad  con   tolerancia  a  fallas   •  Algunos  clúster  son  para  computación  de  alto  desempeño   (HPC  -­‐  High  Performance  Computing)   •  Las  Aplicaciones  necesitan  ser  escritos  especialmente   para  utilizar  paralelismo  

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

1.40


Multi-­‐programación |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Multi-­‐programación  |  

Multi-­‐programación (sistema  por  lotes)  utilizados  para  mayor  eMiciencia   ●  Un  sólo  usuario  no  puede  mantener  a  la  CPU  y  los  dispositivos  de  E/S  ocupados  en   todo  momento   ●  La  multiprogramación  organiza  los  trabajos  (código  y  datos)  para  que  la  CPU   siempre  tenga  uno  para  ejecutar   ●  Un  subconjunto  del  total  de  trabajos  en  el  sistema  permanece  en  la  memoria   ●  Un  proceso  es  seleccionado  y  ejecutado  a  través  del  planiMicador  de  procesos   ●  Cuando  se  tiene  que  esperar  (por  ejemplo  esperando  E/S),  el  SO  cambia  a  otro   proceso.  

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

1.41


Multi-­‐programación |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Multi-­‐programación  |  

Tiempo compartido  (multitasking)  es  la  extensión  lógica  en  la  cual,  la  CPU  cambia   de  proceso  con  tanta  frecuencia  que  el  usuario  puede  interactuar  con  cada  proceso   mientras  se  están  ejecutando.   ●  El  tiempo  de  respuesta  debe  ser  menos  que  un  segundo   ●  Cada  usuario  tiene  al  menos  un  programa  en  ejecución   ●  Si  hay  varios  procesos  listos  para  ser  ejecutados  al  mismo  tiempo,  deberán  entrar   en  el  planiMicador  de  procesos     ●  Si  los  procesos  no  caben  en  la  memoria,  se  moverán  a  la  zona  de  intercambio   (Swap  -­‐  memoria  virtual)  entrando  y  saliendo  de  ella.   ●  La  memoria  virtual  permite  la  ejecución  de  procesos  que  no  están  completamente   en  la  memoria.   Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.42


Memoria de  sistemas  multi-­‐programado   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Memoria  de  sistemas  multi-­‐programados  |  

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

1.43


Operaciones del  Sistema  Operativo   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Operaciones  del  Sistema  Operativo  |  

Control de  interrupciones  (hardware  y  software)   ●  La  interrupción  hardware  la  realiza  cualquiera  de  los  dispositivos  de  entrada   ●  La  interrupción  software  (excepción  o  trampa)   •  Dada  por  un  error  de  software  (ejemplo:  división  por  cero)   •  Solicitud  de  servicio  del  sistema  operativo   •  Otros  problemas  de  procesos  incluyen  ciclos  inMinitos,  modiMicación  de  procesos  de  uno  a  otro   o  al  sistema  operativo  

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

1.44


Operaciones del  Sistema  Operativo   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Operaciones  del  Sistema  Operativo  |  

El funcionamiento  en  modo  dual  permite  al  sistema  operativo  protegerse  así  mismo   y  a  otros  componentes   ●  Modo  usuario  y  modo  kernel   ●  Modo  bit  proporcionado  por  hardware   •  Proporciona  capacidad  para  distinguir  cuando  el  sistema  está  corriendo  en   modo  usuario  o  modo  kernel.   •  Algunas  instrucciones  designadas  como  privilegiadas,  sólo  pueden  ser   ejecutadas  en  modo  kernel   ●  Cada  vez  más  las  CPUs  soportan  operaciones  multi-­‐modo   •  Por  ejemplo.  Soporte  a  máquinas  virtuales  (VMM)  modo  para  maquinas   virtuales  huésped.     Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.45


Transición de  modo  usuario  a  modo  Kernel   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Transición  de  modo  usuario  a  modo  Kernel  |  

●  Temporizador para  prevenir  los  ciclos  inMinitos  /  procesos  acaparares   •  Temporizador  conMigurado  para  interrumpir  la  computadora  después  de  un  pedido  de  tiempo   •  Mantener  un  contador  que  se  reduce  por  el  reloj  Mísico  de  la  computadora   •  El  sistema  operativo  establece  el  contador  (instrucción  privilegiada)  

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

1.46


Gestión de  Procesos   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Gestión  de  Procesos  |  

●  Un proceso  es  un  programa  en  ejecución.  Se  trata  de  una  unidad  de  trabajo  dentro  del   sistema.  El  programa  es  una  entidad  pasiva,  el  proceso  es  una  entidad  activa   ●  Los  procesos  necesitan  recursos  para  realizar  sus  tareas   •  CPU,  memoria,  dispositivos  de  E/S,  archivos,  etc.   •  Inicialización  de  datos   ●  La  Minalización  de  los  procesos  requiere  la  recuperación  de  cualquier  recurso  re-­‐ utilizables.   ●  Los  procesos  ejecutan  instrucciones  de  forma  secuencia,  de  uno  en  uno,  hasta  la   Minalización  

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

1.47


Actividades de  la  Gestión  de  Procesos   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Gestión  de  Procesos  |  

El Sistema  Operativo  es  responsable  de  las  siguientes  actividades  en  relación  con  la   gestión  de  procesos:     ●  Creación  y  eliminación  de  los  proceso  de  usuario  y  de  sistema.   ●  Suspensión  y  reanudación  de  procesos   ●  Proporcionar  mecanismo  para  la  sincronización  de  procesos   ●  Proporcionar  mecanismos  para  la  comunicación  de  procesos   ●  Proporcionar  mecanismo  para  el  manejo  de  bloqueos  entre  procesos  

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

1.48


Gestión de  memoria   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Gestión  de  Memoria|  

●  Para ejecutar  un  programa  o  parte  él,  todas  las  instrucciones  deben  estar  en   memoria.   ●  Todos  o  parte  de  los  datos  que  son  necesarios  por  el  programa  deben  estar  en   memoria.   ●  La  gestión  de  memoria  determina  lo  que  está  en  la  memoria  y  cuando   ●  Actividades  de  la  gestión  de  memoria   •  Hacer  un  seguimiento  de  que  partes  de  la  memoria  están  siendo  utilizadas  y  por  quién.   •  Decidir  qué  procesos  (o  partes  de  los  mismos)  y  qué  datos  se  muevan  hacia  y  fuera  de  la   memoria     •  Asignar  y  remover  espacio  de  memoria  según  sea  necesario  

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

1.49


Gestión de  almacenamiento   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Gestión  de  Almacenamiento  |  

Actividades que  incluye  el  sistema  operativo  con  relación  a  la  gestión  de   almacenamiento   ●  Creación  y  eliminación  de  archivos  y  directorios     ●  Primitivas  para  manipular  archivos  y  directorios     ●  Los  medios  de  comunicación  archivos  de  copia  de  seguridad  en  estable  (no  volátil)   de  almacenamiento  

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

1.50


Gestión de  almacenamiento   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Gestión  de  Almacenamiento  |  

●  El sistema  operativo  proporciona    una  vista  lógica  del  almacenamiento  de   información     ●  Almacenamiento  en  unidades  lógicas  (archivo)   ●  Cada  medio  es  controlado  por  el  dispositivo  (es  decir,  la  unidad  de  disco,  unidad   de  cinta,  etc.)     ●  Las  diferentes  propiedades  incluyen  la  velocidad  de  acceso,  capacidad,  velocidad   de  transferencia  de  datos,  el  método  de  acceso  (secuencial  o  aleatorio)     ●  La  gestión  del  sistema  de  archivos     ●  Archivos  generalmente  organizados  en  directorios     ●  Control  de  acceso  en  la  mayoría  de  los  sistemas  para  determinar  ¿quién  puede   acceder  a  qué?   Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.51


Gestión de  almacenamiento   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Gestión  de  Almacenamiento  |  

●  Por lo  general,  los  discos  que  se  utilizan  para  almacenar  datos  que  no  caben  en  la   memoria  principal  o  datos  que  deben  conservarse  durante  un  periodo  "largo"  de   tiempo  (persistencia).   ●  La  velocidad  completa  del  funcionamiento  de  la  computadora  depende  de  sub-­‐ sistema  de  disco  y  sus  algoritmos.   ●  Actividades  del  sistema  operativo   •  Gestión  de  espacio  libre     •  Asignación  de  almacenamiento     •  Programación  de  disco    

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

1.52


Desempeño en  niveles  de  almacenamiento   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Gestión  de  Almacenamiento  |  

Level

1

2

3

4

5

Name

registers

cache

main memory

solid state disk

magnetic disk

Typical size

< 1 KB

< 16MB

< 64GB

< 1 TB

< 10 TB

Implementation technology

custom memory on-chip or off-chip with multiple CMOS SRAM ports CMOS

CMOS SRAM

flash memory

magnetic disk

Access time (ns)

0.25 - 0.5

80 - 250

25,000 - 50,000

5,000,000

Bandwidth (MB/sec)

20,000 - 100,000 5,000 - 10,000

1,000 - 5,000

500

20 - 150

Managed by

compiler

hardware

Backed by

cache

main memory disk

0.5 - 25

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

operating system operating system operating system disk

disk or tape

1.53


Sub-­‐sistema de  Entrada/Salida   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Subsistema  de  Entrada/Salida  |  

●  Uno de  los  propósitos  del  sistema  operativo  es  ocultar  las  particularidades  de  los   dispositivos  hardware  al  usuario   ●  El  sub-­‐sistema  de  E/S  es  responsable  de:   •  Gestión  de  la  memoria  de  E/S  incluyendo     •  Buffering  (almacenar  datos  de  forma  temporal  mientras  se  están  transMiriendo  datos)   •  Caching   •  Cola  de  impresión     •  Interfaz  general  del  controlador  de  dispositivo     •  Controladores  para  dispositivos  de  hardware  especíMicos  

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

1.54


Protección y  seguridad   |  Introducción  /  Funcionamiento  de  un  sistema  informático/  Protección  y  Seguridad  |  

●  Protección -­‐  Cualquier  mecanismo  para  controlar  el  acceso  de  procesos  o  usuarios   a  recursos  deMinidos  por  el  sistema  operativo.   ●  Seguridad  –  Defensa  del  sistema  contra  ataques  internos  y  externos   ●  El  sistema  operativo  determina  quien  puede  hacer  que:   •  IdentiMicación  de  usuarios  (user  ID)   •  IdentiMicación  de  grupos  (group  ID)   •  Establecimiento  de  privilegios  

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

1.55


Entornos de  computación  


Tradicional |  Introducción  /  Entornos  de  computación/  Tradicional|  

●  Máquinas independientes  para  propósitos  generales   ●  Máquinas  como  conectadas  unas  con  otras  (ej.  Internet)   ●  Portales  que  proporcionan  acceso  a  usuarios  de  sistemas  internos   ●  Equipos  de  red  (clientes  ligeros)  como  terminales  Web   ●  Equipos  móviles  con  conexión  a  través  de  redes  inalámbricas  

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

1.57


Dispositivos Móviles   |  Introducción  /  Entornos  de  computación/  Dispositivos  móviles|    

●  Teléfonos inteligentes  portátiles,  tabletas,  etc.   ●  ¿Cuál  es  la  diferencia  funcional  entre  ellos  y  una  computadora  portátil  tradicional?   ●  Existencia  de  características  adicionales  (GPS,  giroscopio,  acelerómetro,  etc.).     ●  Permitir  nuevos  tipos  de  aplicaciones  como  la  realidad  aumentada.   ●  Utilización  de  redes  inalámbricas  802.11  o  redes  de  datos  celulares  para   conectividad.   ●  Los  líderes  son  Apple  iOS  y  Google  Android.  

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

1.58


Distribuido |  Introducción  /  Entornos  de  computación/  Distribuido|  

●  Computación distribuida   •  Colección  de  sistemas  independientes,  posiblemente  heterogéneos  y    unidos  a  través  de  redes  de   datos     •  Una  red  es  una  ruta  de  comunicación,  TCP/IP  es  la  mas  común   ²  PAN  -­‐  Personal  Area  Network   ²  LAN  -­‐  Local  Area  Network   ²  MAN  -­‐  Metropolitan  Area  Network   ²  WAN  -­‐  Wide  Area  Network   •  Los  sistemas  operativos  de  red  proporcionan    funciones  a  través  de  red   •  Los  esquemas  de  comunicación  permiten  a  los  sistemas  intercambiar  mensajes   •  Se  presenta  ante  el  usuario  como  un  único  sistema  

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

1.59


Cliente/Servidor |  Introducción  /  Entornos  de  computación/  Cliente/Servidor  |  

●  Computación Cliente-­‐Servidor   •  Las  terminales  tontas  reemplazadas  por  las  computadoras  inteligentes   •  Muchas  sistemas  servidor  ahora  responden  a  solicitudes  generadas  por  clientes   •  El  servidor  proporciona  una  interfaz  al  cliente  para  realizar  solicitudes  de  servicio  (ej.   bases  de  datos)   •  El  sistema  de  archivos  en  el  servidor  proporciona  una  interfaz  para  los  clientes  con  el   propósito  de  almacenar  y  recuperar  archivos   client desktop

Server

Network

client laptop client smartphone

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

1.60


Punto a  punto  (Peer-­‐to-­‐Peer)   |  Introducción  /  Entornos  de  computación/  Peer-­‐to-­‐Peer  |  

●  Es otro  modelo  de  sistema  distribuido   client

●  P2P no  establece  distinción  entre  los  clientes  y  los  servidores   •  Todos  los  nodos  instalados  son  considerados  puntos  

client

client

●  P2P no  distingue  entre  clientes  y  servidores   client

client

•  Todos los  nodos  son  considerados  pares   •  Cada  uno  puede  actuar  como  cliente,  servidor  o  ambos   •  Los  nodos  que  se  unen  a  una  red  P2P  necesitan:   • 

Registrar su  servicio  con  el  centro  de  servio  de  búsqueda  en  red,  o  

• 

Difundir la  petición  de  servicio  y  atender  las  solicitudes  de  servicios  a  través  del  protocolo  de  detección  

•  Ejemplo: Napster,  voz  sobre  IP  (VoIP)  tales  como  Skype.  

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

1.61


Virtualización |  Introducción  /  Entornos  de  computación/  Virtualización  |  

●  Permite a  los  sistemas  operativos  ejecutar   aplicaciones  dentro  de  otros  sistemas  operativos   •  Es  una  industria  de  actualidad  que  cada  vez  crece  más  

●  Se caracteriza  por:   •  Particionamiento   •  Aislamiento   •  Encapsulamento   •  Independencia  de  hardware  

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

1.62


Ambientes de  cómputo  -­‐  Virtualización   ●  Los  casos  de  uso  incluyen  las  computadoras   portátiles  y  de  escritorio  que  ejecutan  múltiples   sistemas  operativos  con  propósito  de  capacitación,   exploración  funcional  o  la  compatibilidad  con   aplicaciones  especíMicas  

●  Las máquinas  virtuales  también  se  pueden  ejecutar   de  forma  nativa     •  Utilizadas  generalmente  en  ambientes  productivos  y  de   investigación  (VMware  ESX  y  Citrix  XenServer)  

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

1.63


Ambientes de  cómputo  –  Cloud  Computing   ●  Permite  brindar  computación,  almacenamiento  e  incluso  aplicaciones  como  un   servicio  a  través  de  la  red.   ●  La  computación  en  la  nube  es  considerada  la  extensión  lógica  de  la  virtualización,   ya  que  utiliza  la  virtualización  como  la  base  para  su  funcionamiento.   •  Amazon  Elastic  Compute  Cloud  (Amazon  EC2)  tiene  miles  de  servidores,  millones  de  máquinas   virtuales,  petabytes  de  almacenamiento  disponible  a  través  de  Internet  cuyo  pago  está   relacionado  con  el  uso.  

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

1.64


Ambientes de  cómputo  –  Cloud  Computing   ●  Existen  varios  tipos  de  nubes   •  Nube  pública  –  disponible  a  través  de  Internet  para  cualquier  persona  dispuesta  a  pagar   •  Nube  privada  -­‐  Gestionado  por  una  empresa  para  su  propio  uso   •  Nube  híbrida  -­‐  Incluye  componentes  de  nube  privada  y  pública     •  Software  as  a  Service  (SaaS)  –  Una  o  más  aplicaciones  disponibles  a  través  de  Internet  (correo   electrónico,  Google  Docs,  etc)   •  Platform  as  a  Service  (PaaS)  –  Conjunto  de  software  listo  para  el  uso  de  aplicaciones  a  través   de  Internet  (E.j:  base  de  datos  en  línea)   •  Infrastructure  as  a  Service  (IaaS)  –  Servidores  o  almacenamiento  disponible  a  través  de   Internet  (E.j:  Almacenamiento  para  realizar  copias  de  seguridad  empresariales)  

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

1.65


Ambientes de  cómputo  –  Cloud  Computing   ●  Los  ambientes  de  computación  en  la  nube  están  compuestos  tradicionalmente  por   máquinas  virtuales,  sistemas  operativos  y  herramientas  de  administración  de  la   nube.   •  Componentes  de  seguridad  de  red  como  los  corta-­‐fuegos  (Firewalls)   •  Componentes  para  balancer  la  carga  para  distribuir  el  tráMico  de  múltiples  aplicaciones  

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

1.66


Computing Environments  –  Real-­‐Time  Embedded  Systems  

●  Los sistemas  embebidos  de  tiempo  real  son  la  forma   más  frecuente  de  las  computadoras   •  Utilizados  generalmente  para  propósitos  especíMicos  de  las   industrias    

●  Utilizados básicamente  para  controlar  procesos  en  la   vida  real  (industriales,  control  de  vehículos,  aviones,   etc.).     ●  Modalidad  especial  de  los  sistemas  con   multiprogramación  en  la  cual  el  tiempo  de  respuesta  es   vital  para  cualquier  petición.   ●  El  tiempo  de  respuesta  debe  ser  extremadamente  corto.  

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

1.67


BibliograMía ●  STALLING  W.  Operating  Systems:  Internals  and  Design  Principles.  7th  Edition.   2011.   ●  SILBERSCHATZ  A,  GALVIN  P,  GAGNE  G.  Operating  System  Concepts.  9th  Edition.   2013.  Wiley.   ●  VIÑAS  R,  LLINAS  F.  Sistema  Operativo  GNU/Linux  básico.  UOC.  2003.     ●  ESTEVE  J,  BOLDRITO  R,  Administración  avanzada  de  GNU/LINUX.  UOC.  2004.  

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

1.68

Introducción a los Sistemas Operativos  

Introducción a los Sistemas Operativos

Read more
Read more
Similar to
Popular now
Just for you