• Tidak ada hasil yang ditemukan

Tema 1 Introduccion TEMA 1 INTRODUCCION

N/A
N/A
Protected

Academic year: 2018

Membagikan "Tema 1 Introduccion TEMA 1 INTRODUCCION"

Copied!
34
0
0

Teks penuh

(1)

Te m a 1 : I nt roduc c ión

TEMA 1: INTRODUCCIÓN

Qué hacen los Sistemas Operativos

Organización de los Sistemas de ComputadoresArquitectura de los Sistemas de ComputadoresEstructura de los Sistemas Operativos

Operaciones de los Sistemas OperativosGestión de Procesos

Gestión de Memoria

Gestión del AlmacenamientoProtección y SeguridadSistemas Distribuidos

(2)

OBJ ET I VOS

Proporcionar una visión general de los principales

componentes de los sistemas operativos

Proporcionar conocimientos básicos acerca de la

organización de los sistemas de computación

EST RU CT U RA DE LOS SI ST EM AS

INFORMÁTICOS

Los sistemas informáticos están caracterizados grosso modo

por cuatro componentes

Hardware – proporciona los recursos básicos de computación

al sistema

CPU (Central Processing Unit), memoria, dispositivos E/S

Sistema Operativo

Controla y coordina el uso del hardware entre varias

aplicaciones y usuarios

Programas de Aplicación – definen el modo en que los

recursos del sistema se utilizan para resolver los problemas de

computación de los usuarios

Procesadores de texto, compiladores, navegadores web,

sistemas de bases de datos, videojuegos

(3)

EST RU CT U RA DE LOS SI ST EM AS

INFORMÁTICOS

(4)

DEFI N I CI ÓN ¿QU É ES U N SO?

• Programa que controla la ejecución de

los programas de aplicación:

Acceso eficiente a recursos compartidos

limitados.

• Actúa como interfaz entre las

aplicaciones del usuario y el hardware:

Simplifica la labor del programador.

DEFINICIÓN DE SISTEMA OPERATIVO

(DESDE UN PUNTO DE VISTA DEL USUARIO)

La percepción de un ordenador por parte de un usuario depende de la interfaz empleada:

En un ordenador personal (PC, Personal Computer) el SO está diseñado fundamentalmente para mejorar su facilidad de uso, en menor medida para obtener un buen rendimiento y, prácticamente, sin tener en cuenta la utilización de los recursos (cómo compartir recursos hw y sw) [centrado en un único usuario, no en el sistema]

En un sistema mainframe o minicomputador, el SO se diseña para maximizar la utilización de los recursos [cada usuario su parte equitativa de los recursos]

En un sistema basado en estaciones de trabajo (workstations) conectadas a servidores, el SO se diseña para lograr un balance adecuado entre la usabilidad individual y la utilización de los recursos

En los “ordenadores de bolsillo” (handheld computers) el SO está diseñado para alcanzar una buena usabilidad individual y cierto rendimiento en el consumo de energía

(5)

DEFINICIÓN DE SISTEMA OPERATIVO

(DESDE UN PUNTO DE VISTA DEL SISTEMA)

Un sistema operativo es un programa que administra/gestiona el hardware de un ordenador [gestor de recursos]

Un sistema operativo es un programa que proporciona el entorno adecuado para la ejecución de otros programas de aplicación [programa de control]

Un sistema operativo es un programa que media entre el usuario y el hardware de un ordenador [máquina extendida]

Genéricamente, el diseño de un sistema operativo persigue:

• Hacer que un ordenador sea más práctico o fácil de utilizar por parte de los usuarios (por ejemplo, ordenadores personales – personal computers -, “ordenadores de bolsillo” – handheld computers)

• Utilizar eficientemente los recursos de un sistema informático (por ejemplo, mainframes)

DEFINICIÓN DE SISTEMA OPERATIVO

(DESDE EL PUNTO DE VISTA DEL SISTEMA)

[gestor de recursos]

El SO gestiona todos los recursos (tiempo CPU, memoria,

almacenamiento, dispositivos E/S, etc.)

El SO decide entre peticiones conflictivas (competitivas) por

parte de programas y usuarios específicos, tratando de

garantizar un uso eficiente y equitativo.

[programa de control]

El SO controla la ejecución de los programas con el objetivo

de prevenir errores y un uso inadecuado del computador

[máquina extendida o virtual]

El SO hace que sea más fácil de utilizar, ofreciendo una

serie de funcionalidades comunes para controlar y gestionar

recursos, que utilizando directamente el hardware

(6)

DEFINICIÓN DE SISTEMA

OPERAT IVO (CONT.)

No existe una definición aceptada universalmente

“Todo lo que un vendedor te da cuando se le pide un

sistema operativo” es una buena aproximación …

pero varía mucho

“El único programa ejecutándose en el ordenador

durante todo el tiempo” es el núcleo (kernel). Todo los

demás, o bien es un programa de sistema (distribuido

conjuntamente con el sistema operativo) o un programa

de aplicación

ESTRUCTURA DE COMPUTADORES

Operación de los Sistemas de Computadores

Una o más CPUs, controladores de dispositivo (device controllers) conectados a través de un bus común que proporciona el acceso a la memoria compartida. Es la arquitectura clásica de von Neumann

(7)

OBJETIVOS DE UN SO

Comodidad

Hace que un computador sea mas cómodo de utilizar.

Abstracción, Factores humanos ...

Eficiencia

Permite un uso eficiente de los recursos de un sistema

informático.

Capacidad de evolución

Permite el desarrollo efectivo, la verificación y la

introducción de nuevas funciones en el sistema sin

interferir en los servicios.

(8)

SERV ICIOS DE UN SO

1 Creación de programas:

• Editores.

• Compiladores.

• Depuradores.

2 Acceso ordenado a los dispositivos de E/S. 3 Acceso controlado a los archivos.

4 Acceso al sistema.

5 Detección y respuesta a errores:

• Errores internos y externos del hardware:

• Error de memoria.

• Fallo de dispositivos.

• Errores de software:

• Desbordamiento aritmético.

• Acceso a una posición prohibida de memoria.

• Incapacidad del sistema operativo para satisfacer la solicitud de una aplicación.

SERV I CIOS DE UN SO

6 Contabilidad:

• Recoger estadísticas.

• Supervisar su rendimiento.

• Utilizado para anticiparse a las mejoras futuras.

• Adaptabilidad: interfaces adaptativas.

(9)

ESTRUCTURA DE COMPUTADORES

(ARRANQUE DEL ORDENADOR)

El programa de inicialización (bootstrap program) se

carga cuando se enciende o se reinicia el ordenador

Típicamente se encuentra almacenado en la memoria

ROM o EPROM, lo que generalmente se conoce como

firmware

El programa de inicialización es responsable de:

Inicializar todos los componentes hw del sistema

Cargar el núcleo (kernel) del sistema operativo

desde su localización en disco hacia memoria

principal y comenzar su ejecución

ESTRUCTURA DE COMPUTADORES

(INTERRUPCIONES)

La ocurrencia de un evento se señaliza habitualmente mediante

una interrupción, bien originada por el hw, bien por el sw

El hw puede disparar una interrupción en cualquier momento

enviando una señal a la CPU, vía el bus del sistema

El sw puede disparar una interrupción mediante la ejecución de

una operación especial denominada llamada al sistema (system

call)

Cuando la CPU es interrumpida, para la ejecución del programa

en curso e inmediatamente transfiere el control a una dirección

fija en memoria, a partir de la cual se localiza la rutina de servicio

de la interrupción (ISR, Interrupt Service Routine)

Una vez ejecutada la rutina de servicio de la interrupción, la CPU

reanuda la ejecución de la operación previamente interrumpida

Las interrupciones son una parte importante de la arquitectura de

un computador

(10)

ESTRUCTURA DE COMPUTADORES

(CRONOGRAMA TÍPICO DE UNA

INTERRUPCIÓN)

interrupt interrupt

ESTRUCTURA DE COMPUTADORES

(ESTRUCTURA DEL ALMACENAMIENTO)

Los programas de ordenador deben estar cargados en memoria

principal (main memory) o memoria RAM para ejecutarse

La memoria principal es el único medio de almacenamiento de

gran tamaño al que puede acceder directamente la CPU

Tiene una estructura lineal, en forma de array de palabras, donde

cada palabra tiene su propia dirección de memoria

La CPU interacciona con la memoria principal mediante:

Ejecución explícita de instrucciones LOAD y STORE sobre

direcciones específicas de memoria

Automáticamente la CPU carga las instrucciones de un programa,

almacenadas en memoria principal, para poder ejecutarlas. Es el

ciclo de ejecución de una instrucción.

Para ello la CPU tiene registros específicos, como el registro

(11)

ESTRUCTURA DE COMPUTADORES

(ESTRUCTURA DEL ALMACENAMIENTO)

Idealmente, tanto las instrucciones como los datos deberían residir

siempre en memoria principal, pero …

La memoria principal no es lo suficientemente grande para almacenar

todos los posibles programas y datos, y

La memoria principal es volátil, pierde su contenido cuando deja de

alimentarse

Esta situación implica la necesidad de disponer de un

almacenamiento secundario (secondary storage) – Extensión de la

memoria principal que proporciona capacidad de almacenamiento

mayor y no volátil (persistente)

El dispositivo más común para almacenamiento secundario son los

discos magnéticos – soportes rígidos de metal o vidrio, cubiertos por

material magnético grabable

La mayoría de los programas está almacenado en disco hasta que se

cargan (load) en memoria para ejecutarse. Por otro lado muchos

programas utilizan el disco como fuente y destino de datos, donde

almacenar la información que procesan.

Por tanto, la gestión del espacio de discos es de capital importancia

en el rendimiento de un computador

ESTRUCTURA DE COMPUTADORES

(JERARQUÍA DE ALMACENAMIENTO)

La gran variedad de dispositivos de almacenamiento, hace que sea necesario clasificarlos atendiendo a su velocidad y coste, en lo que se conoce como jerarquía de almacenamiento

Otro criterio para clasificar los dispositivos de almacenamiento es la volatilidad o no volatilidad de los mismos.

(12)

ESTRUCTURA DE COMPUTADORES

(ESTRUCTURA DE E/S)

Los dispositivos de almacenamiento son uno de los muchos tipos de dispositivos de E/S existentes en un computador

Una gran parte del código de un SO se encarga de manejar dispositivos de E/S, dada su importancia de cara a conseguir la fiabilidad y buen rendimiento del sistema, tanto por su gran diversidad

Recordando que un ordenador de propósito general dispone de una (o varias) CPUs y diferentes controladores HW de dispositivo (device controllers), conectados a través de un bus común

• Cada controlador HW de dispositivo se encarga de un tipo particular de dispositivo

• Dependiendo del controlador, puede haber más de un dispositivo soportado por el mismo controlador

Cada controlador de dispositivo dispone de al menos un buffer local (memoria intermedia) y un conjunto de registros de propósito específico

• El controlador HW de dispositivo es responsable de mover los datos entre los periféricos que controla y su almacenamiento local temporal (buffers) Por otro lado, lo habitual es que el SO disponga de un controlador SW de dispositivo (device driver), que actúa de mediador entre el HW de dispositivo (traduciendo las operaciones a instrucciones de bajo nivel soportadas por el controlador HW de dispositivo) y el SO (ofreciendo una interface uniforme al resto del SO)

ESTRUCTURA DE COMPUTADORES

(ESTRUCTURA DE E/S)

E/S dirigida por interrupción

Al iniciarse la operación de E/S (transferencia), el controlador

SW (driver) carga los registros adecuados del controlador

HW

Durante la operación (transferencia), el controlador HW, en

función de la operación solicitada, transfiere la información

desde (hacia) el dispositivo hacia (desde) su búfer local

Una vez completada la operación (transferencia), el

controlador HW informa de este hecho al controlador SW, a

través de una interrupción.

(13)

ESTRUCTURA DE COMPUTADORES

(ESTRUCTURA DE E/S)

E/S basada en DMA (Direct Memory Access)

La E/S dirigida por interrupciones es adecuada para mover

pequeñas cantidades de información, pero no es adecuado para

operaciones de E/S que impliquen la transferencia de grandes

bloques de datos, como la E/S a disco

DMA es una técnica de estructura de computadores que:

Una vez establecidos los valores de los buffers, y registros del

controlador HW,

El controlador HW de dispositivo transfiere un bloque completo de

datos, directamente, desde/hacia sus buffers hacia/desde

memoria, sin intervención de la CPU

Sólo se genera una interrupción por bloque (en lugar de una

interrupción por byte) para informar al driver del dispositivo que la

operación se ha completado

Durante el tiempo que hay transferencia de datos entre el

controlador de dispositivo y memoria, la CPU está libre para

ejecutar otras instrucciones

ARQUITECTURA DE COMPUTADORES

Sistemas monoprocesadores

Muchos sistemas son monoprocesadores, desde PDAs hasta

mainframes.

Estos sistemas se caracterizan porque sólo disponen de una

única CPU capaz de ejecutar un conjunto de instrucciones de

propósito general, incluidas las instrucciones de los procesos de

usuario

Además, es habitual que estos sistemas dispongan de otros

procesadores de propósito específico (controladoras gráficas, de

teclado, de disco, …), es decir, controladores de dispositivo

Todos estos procesadores de propósito específico ejecutan un

conjunto limitado de instrucciones y no ejecutan procesos de

usuario

(14)

ARQUITECTURA DE COMPUTADORES

Sistemas multiprocesadores

Hoy en día, los sistemas multiprocesadores están adquiriendo

gran relevancia por su uso cada vez mayor

Estos sistemas se caracterizan porque disponen de dos o más

CPUs de propósito general, compartiendo el bus del sistema y

algunas veces el reloj, la memoria principal y los dispositivos

periféricos

Los sistemas multiprocesadores presentan tres ventajas

principalmente:

Mayor productividad. Mediante el incremento del número de

procesadores, se espera hacer más trabajo en menos tiempo

Economía de escala. Un sistema multiprocesador puede costar

menos que su equivalencia en sistemas monoprocesadores, dado

que estos sistemas pueden compartir periféricos, discos, fuentes

de alimentación, …,

Mayor fiabilidad. Si las funciones pueden distribuirse

adecuadamente entre varios procesadores, el fallo de un

procesador no debería detener por completo al sistema, sólo

ralentizarlo

ARQUITECTURA DE COMPUTADORES

Sistemas multiprocesadores (cont.)

Multiprocesamiento asimétrico (asymetric multiprocessing)

A cada procesador se le asigna una tarea específica y un procesador maestro (master) controla el sistema y el resto de procesadores esperan por las instrucciones del maestro o tienen tareas predefinidas

Se establece una relación maestro-esclavo (master-slave)

• El procesador maestro planifica y asigna el trabajo para los procesadores esclavos

Multiprocesamiento simétrico (SMP, symetric multiprocessing):

• Es el tipo de sistemas más común, en el que cada procesador puede realizar todas las tareas dentro del SO.

SMP implica que todos los procesadores son iguales entre sí (peers), y no se establece ninguna relación del tipo maestro-esclavo

• El beneficio de este modelo es que muchos procesos pueden ejecutarse simultáneamente (paralelismo real) sin verse afectada significativamente su rendimiento. Implica, sin embargo, un cuidadoso control de la E/S para garantizar que los datos llegan al procesador adecuado

(15)

ARQUITECTURA DE COMPUTADORES

Clusters de computación

• Los clusters reúnen múltiples CPUs para realizar algún trabajo de computación

• La diferencia con los sistemas multiprocesadores radica en que un cluster está formado por dos o más sistemas individuales, acoplados conjuntamente

• La definición más general de un cluster es que los ordenadores “agrupados” comparten un almacenamiento y están enlazados vía una red de área local o una interconexión más rápida

• Los clusters se utilizan para proporcionar un servicio de alta disponibilidad (un servicio que continuará ejecutándose incluso si uno o más sistemas del cluster fallan).

• La alta disponibilidad se obtiene mediante redundancia

• Una porción de código se ejecuta en todos los nodos del cluster, de modo que cada nodo puede monitorizar a uno o varios nodos del cluster

• Si la máquina monitorizada falla, la máquina que la monitoriza puede tomar posesión de su almacenamiento y reiniciar las aplicaciones que se estaban ejecutando en la máquina que falló

• Los clusters también pueden organizarse tanto asimétrica como simétricamente

ESTRUCTURA DE LOS SISTEMAS OPERATIVOS

Un SO proporciona el entorno en el cual se ejecutan los programas, y soportan la capacidad de multiprogramación (multiprogramming), o capacidad para ejecutar concurrentemente varios programas a un mismo tiempo [concurrencia]

La multiprogramación es necesaria en aras de la eficiencia

• Un simple usuario no puede mantener la CPU y los dispositivos de E/S ocupados todo el tiempo

• Cómo se consigue soportar la multiprogramación: solapando en el tiempo las operaciones (tanto de CPU como de E/S) de varios programas cargados en memoria [grado de multiprogramación]

• El SO elige uno de los programas (trabajo), y lo ejecuta hasta que realiza una operación de E/S, momento en que tendría que esperar a completar la operación.

• En ese momento, el SO elige a otro programa (trabajo) y le cede el control de la CPU, y así sucesivamente.

(16)

Los sistemas multiprogramados proporcionan un entorno adecuado para utilizar eficazmente los recursos, pero no soportan la interacción del usuario

Los sistemas de tiempo compartido (timesharing) o multitarea (multitasking) son una extensión lógica de los sistemas multiprogramados,

• Y se basan en que la CPU cambie frecuentemente de trabajo

• Si la frecuencia de cambio de trabajo es tal que se consiga un tiempo de respuesta reducido (típicamente, menor que 1s) los usuarios tienen la sensación de poder interactuar con sus trabajos

Así pues, los SO de tiempo compartido permiten que muchos usuarios compartan simultáneamente el ordenador, dando la apariencia de interacción o multitarea

• Cada usuario tiene al menos un programa en ejecución en memoria  proceso

• Si varios trabajos están listos para ejecutarse al mismo tiempo  planificación de la CPU

• Si los procesos no caben en memoria (principal), el mecanismo de intercambio (swapping) los mueve dentro y fuera según sea necesario

La memoria virtual permite la ejecución de procesos que no estén completamente cargados en memoria

ESTRUCTURA DE LOS SISTEMAS OPERATIVOS

M ON OPROGRAM ACI ÓN

(17)

MULT IPROGRAMACIÓN

Cuando un trabajo necesite esperar una E/S, el

procesador puede cambiar a otro trabajo

Ejemplo de multiprogramación con dos programas

MULT IPROGRAMACIÓN

(18)

MULT IPROGRAMACIÓN

Requisitos: Cambio de contexto

MULT IPROGRAMACIÓN

(19)

MULT IPROGRAMACIÓN

Requisitos: tiempo compartido

Utiliza la multiprogramación para gestionar varias tareas

interactivas.

El tiempo del procesador se comparte entre los diversos

usuarios.

Múltiples usuarios acceden simultáneamente al sistema

por medio de terminales.

Multiprogramacion por lotes frente a tiempo compartido

Multiprogramacion por lotes

Objetivo principal Maximizar la utilizacion del procesador

Origen de las instrucciones al SO Instrucciones de un lenguaje de control

de trabajos incluidas en el trabajo

Tiempo Compartido

Objetivo principal Minimizar el tiempo de respuesta

Origen de las instrucciones al SO Ordenes dadas en el terminal

OPERACIONES DEL SISTEMA OPERATIVO

Sistema Operativo dirigido por interrupciones

Si no hay ningún proceso que ejecutar, ningún dispositivo de E/S

al que atender y ningún usuario al que responder …

… un SO debe permanecer inactivo (idle), esperando a que

ocurra algún evento o suceso.

Pues bien, los sucesos casi siempre se señalizan mediante la

ocurrencia de una interrupción HW o una excepción (interrupción

SW o trap)

Las excepciones son interrupciones software generadas como

consecuencia de:

Errores en un programa (divisiones por cero, accesos inválidos a

memoria, etc.)

Solicitudes específicas por parte de los programas para que se

realice un servicio del SO (llamadas al sistema)

(20)

Operación en modo dual

Dado que SO y usuarios comparten recursos HW y SW, se

necesita garantizar que un error en un programa no afecta a otros

Para asegurar la correcta ejecución del SO, es imprescindible

poder distinguir entre la ejecución de código del sistema

operativo (seguro) y código del usuario (potencialmente inseguro)

La forma habitual de conseguir esta diferenciación es que el HW

permite diferenciar como mínimo dos modos de operación:

modo usuario (user mode) con un conjunto restringido de

instrucciones, y

modo núcleo (kernel mode) o modo supervisor, del sistema, o

privilegiado, con acceso a todas las instrucciones de la CPU

El HW de la máquina soporta un bit de modo, que mantiene en

todo momento el modo de ejecución actual: 0 (kernel) ó 1

(usuario)

OPERACIONES DEL SISTEMA OPERATIVO

Operación en modo dual (cont.)

• El sistema arranca siempre en modo kernel. Una vez cargado (por parte del programa de inicialización) y en ejecución el SO, se ejecutan las aplicaciones de usuario, cambiando a modo usuario

• Estando en modo usuario, se puede volver a modo kernel:

• Cuando se produce una interrupción, indicando que un dispositivo de E/S requiere la atención del SO

• Cuando se produce una excepción, indicando que

• Se ha producido un error irrecuperable en un programa de usuario

• El programa de usuario ha solicitado al SO que realice una tarea reservada del SO en nombre del programa de usuario, mediante una llamada al sistema (system call)

(21)

Temporizadores

Para prevenir bucles infinitos o la acaparación indefinida de recursos

por parte de los procesos, el SO hace uso de temporizadores

Fijar el temporizador para generar interrupción, después de un tiempo

dado

El sistema operativo decrementa periódicamente el contador

Cuando el contador llega a cero, generar interrupción

Prepararse para retomar el control antes de que se dispare el proceso

de planificación o terminar el programa que supera el tiempo asignado

OPERACIONES DEL SISTEMA OPERATIVO

ELEM EN TOS PRI N CI PALES

1 Los procesos.

2 La gestion de memoria.

3 La seguridad y la proteccion de la informacion.

4 La planicacion y la gestion de recursos.

(22)

GESTIÓN DE PROCESOS

Un proceso es un programa en ejecución. Es también la unidad de trabajo dentro del sistema. Un programa es una entidad pasiva, mientras que un proceso es una

entidad activa

Los procesos necesitan recursos para llevar a cabo su tarea

• CPU, memoria, E/S, ficheros

• Inicialización de datos

La terminación de un proceso implica “reclamarle” cualquier recurso reutilizable que tuviera

Un proceso mono-hilo (single-threaded process) tiene un único contador de programa (program counter) indicando la dirección de la siguiente instrucción a ejecutar

• Los procesos ejecutan las instrucciones secuencialmente, una cada vez, hasta completar su ejecución

Un proceso multi-hilo (multi-threaded process) tiene un contador de programa por hilo

Un sistema típico, puede tener muchos procesos en ejecución, unos de usuario y otros del propio sistema, ejecutándose concurrentemente en una o más CPUs

• La concurrencia se consigue multiplexando (compartiendo) las CPUs disponibles entre los procesos/hilos en ejecución

ACT I V I DADES DE LA

GEST I ÓN DE PROCESOS

El sistema operativo es responsable de las siguientes

actividades, relacionadas con la gestión de procesos:

Crear y eliminar tanto procesos de usuario como del sistema

Suspender y reanudar procesos

Proporcionar mecanismos para la sincronización de procesos

Proporcionar mecanismos para la comunicación entre

procesos

(23)

PROCESOS

GEST I ÓN DE M EM ORI A

Todos los datos deben estar en memoria antes y después de

su procesamiento

Todas las instrucciones deben estar en memoria para

ejecutarlas

La gestión de memoria determina qué es lo que está o no en

memoria con el fin de

Optimizar la utilización de la CPU y la respuesta del

computador a los usuarios

Actividades propias de las gestión de memoria son:

Llevar cuenta de qué partes de memoria se están usando

actualmente y por parte de quién

Decidir qué procesos (o partes de ellos) y datos se mueven

dentro y fuera de la memoria

(24)

GEST I ÓN DE M EM ORI A

GESTIÓN DEL ALMACENAMIENTO

El SO proporciona una vista lógica y uniforme de los dispositivos de almacenamiento

Abstrae las propiedades físicas a una unidad de almacenamiento lógica – el fichero (file)

• Cada medio es controlado por un dispositivo (i.e., unidad de disco, unidad de cinta)

• Las propiedades variables de éstos, incluyen la velocidad de acceso, la capacidad, la tasa de transferencia de datos, el método de acceso (secuencial o aleatorio)

Gestión del Sistema de Ficheros (file system)

• Los ficheros habitualmente se organizan en directorios

• El control de acceso en la mayoría de sistemas determina quién puede acceder a qué

• Las actividades del SO a este respecto incluyen:

• Creación y eliminación de ficheros y directorios

• Primitivas para manipular ficheros y directorios

• Hacer corresponder los ficheros sobre el almacenamiento secundario

(25)

GESTIÓN DEL ALMACENAMIENTO MASIVO

Habitualmente los discos para almacenar los datos no caben en memoria principal o los datos deben mantenerse por un “largo” periodo de tiempo

La gestión adecuada es de vital importancia

En su totalidad, la velocidad de la operación del sistema descansa sobre el subsistema de disco y sus algoritmos

Actividades del SO

• Gestión del espacio libre

• Asignación de espacio

Planificación de disco (disk scheduling)

Algunos almacenamientos no necesitan ser rápidos

• El almacenamiento terciario incluye almacenamiento óptico, cintas magnéticas

• Aún así debe ser gestionado

Una amplia gama que van desde medios WORM (write-once, read-many-times) hasta RW (read-write)

SU BSI ST EM A DE E/S

Uno de los propósitos fundamentales del SO es ocultar al

usuario las particularidades de los dispositivos hardware

El subsistema de E/S es responsable de:

Gestión de memoria de la E/S incluyendo la utilización de

buffers (almacenar datos temporalmente mientras se están

transfiriendo), utilización de cachés (almacenar parte de los

datos en medios de almacenamiento más rápidos para

aumentar el rendimiento) o el spooling (solapar la salida de

un trabajo con las entradas de otros trabajos)

Proporcionar una interfaz general entre driver - dispositvo

Proporcionar drivers (controladores software de dispositivo)

(26)

PROT ECCI ÓN Y SEGU RI DAD

Protección – cualquier mecanismo para controlar el acceso de los

proceso o usuarios a los recursos definidos por el SO

Seguridad – defensa del sistema contra ataques internos y

externos

Amplia gama de ataques, por ejemplo, denegación de servicio,

gusanos (worms), virus, robo de identidad, robo de servicio

Los sistemas generalmente lo que primero hacen es distinguir

entre usuarios, para determinar quién puede hacer qué

Identidades de usuario (user IDs, security IDs) que incluyen nombre

e identificador numérico asociado (uno por persona)

Entonces se asocia el UID con todos los ficheros y procesos de

aquellos usuarios que pueden fijar el control de acceso

Un identificador de grupo (group ID) permite definir y controlar

conjuntamente a un conjunto de usuarios

Una escalada de privilegios permite al usuario cambiar de

identificador efectivo con el fin de adquirir más derechos

(27)

ENTORNOS DE COMPUTACIÓN

Computadora tradicional

Este entorno se ha ido desdibujando con el paso del tiempo

Entorno de oficina

PCs conectados a una red o terminales conectados a un

mainframe o minicomputadora que proporcionaba

procesamiento batch y tiempo compartido (timesharing)

Hoy en día, portales que permiten trabajo en red y acceso

a sistemas remotos y a los mismos recursos

Home networks

Antes como si fueran sistemas individuales, con conexión

vía modem

Ahora sistemas interconectados con cortafuegos

 Computación Cliente-Servidor

 Simplificación del núcleo, al mover el código correspondiente de algunas funcionalidades a capas superiores.

 Acceso a los servicios mediante mensajes desde los procesos de usuario (clientes) a los procesos que controlan los distintos servicios (servidores) que se ejecutan en modo usuario.

 El nucleo se limita a encauzar los mensajes.  Ejemplos: UNIX moderno, Linux

 Nos ofrece las siguientes ventajas:

 Facilidad de mantenimiento, debido a la modularizacion de los servicios.  Robustez, al ejecutarse los procesos de servicio en modo usuario: un

servicio puede dejar de funcionar sin que todo el sistema tenga que interrumpir.

(28)

COMPUTACIÓN P2P: PEER-TO-PEER

Otro modelo de sistema distribuido

P2P no diferencia entre clientes y servidores

En su lugar, todos los nodos son considerados como iguales

entre sí (peers)

Cada uno puede actuar como cliente, servidor o ambos

Cada nodo debe unirse a una red P2P

Para ello, el nodo registra su servicio ante un servicio de

localización (lockup) centralizado sobre la red, o

Difunde (broadcast) peticiones para obtener un servicio y

responde a peticiones de servicio vía un protocolo de

descubrimiento (discovery protocol)

Ejemplos en esta categoría son los sistemas Napster y Gnutella

COMPUTACIÓN BASADA EN WEB

La Web se ha convertido en omnipresente (ubicua)

Los PCs son los dispositivos más corrientes

Muchos más dispositivos se han convertido en dispositivos de red

para permitir el acceso a la Web

Ha aparecido una nueva categoría de dispositivos para gestionar el

tráfico Web entre servidores similares: los balanceadores de carga

(load balancers)

(29)

Fin Te m a 1

(30)

M EM ORI A CACH É

Principio importante, empleado en múltiples niveles de un

ordenador (a nivel hardware, del sistema operativo y del

software)

La información “en uso” se copia temporalmente desde un

almacenamiento más lento a otro más rápido

La caché comprueba primero, si la información necesitada ya

está en la caché:

Si así es, la información es usada directamente desde la caché

(ganancia en rapidez)

Si no, los datos se copian a la caché y se utilizan allí

La memoria caché es menor que el almacenamiento para el que

se quiere acelerar su acceso

La gestión de la caché es un problema de diseño importante

En especial, lo referido al tamaño de la caché y la política de

reemplazo

RENDIMIENTO DE VARIOS

NIVELES DE ALMACENAMIENTO

(31)

MIGRACIÓN DEL ENTERO A

DESDE DISCO A REGISTRO

Un entorno multitarea debe ser cuidadoso con utilizar siempre

el valor más reciente, independientemente de en qué lugar esté

este almacenado, dentro de la jerarquía de almacenamiento

Un entorno multiprocesador debe proporcionar coherencia de la

caché a nivel de hardware, de modo que todas las CPUs tengan

en sus cachés el valor más recientes

En un entorno distribuido, la situación puede ser aún más

complicada, porque pueden existir varias copias de un dato

FUNCIONES COMUNES DE

LAS INTERRUPCIONES

La interrupción transfiere generalmente el control a la rutina de

servicio de interrupción (interrupt service routine), a través del vector

de interrupciones (interrupt vector), que contiene las direcciones de

todas las rutinas de servicio

La arquitectura de interrupciones debe guardar la dirección de la

instrucción interrumpida

Las interrupciones entrantes se desactivan (se inhiben) cuando se

está procesando otra interrupción con el fin de evitar interrupciones

perdidas (lost interrupts)

Una excepción (trap) es una interrupción generada vía software y

que puede deberse a un error o una petición de usuario

(32)

M AN EJ O DE I N T ERRU PCI ON ES

El sistema operativo preserva el estado de la CPU,

almacenando el valor de sus registros y del contador de

programa (program counter)

Determina qué tipo de interrupción ha ocurrido, mediante

una de estas dos técnicas:

Sondeo (polling)

Sistema vectorizado de interrupciones

Segmentos diferentes de código determinan que acción

debería tomarse para cada tipo de interrupción

EST RU CT U RA DE E/S

Después de que una operación de E/S comienza, el control retorna al programa de usuario sólo una vez que se complete

• La instrucción wait, “para” a la CPU hasta la siguiente interrupción

Bucle de espera activa (wait loop)

• Como mucho, sólo una petición de E/S está pendiente en un instante dado, ya que no hay procesamiento de E/S simultáneo

Después del comienzo de la E/S, el control retorna al programa de usuario se esperar por la terminación de la E/S

Llamada al sistema (System call) – se solicita al sistema operativo permitir al usuario esperar por la terminación de la operación de E/S

La tabla de estado de dispositivos (device-status table) contiene una entrada para cada dispositivo de E/S, indicando su tipo, dirección y estado

(33)

DOS M ÉTODOS DE E/S

Síncrono

Asíncrono

(34)

ESTRUCTURA DEL ACCESO

DIRECTO A MEMORIA (DMA)

Se utiliza para dispositivos de E/S de alta velocidad, capaces

de transmitir información casi a la velocidad de los ciclos de

acceso a la memoria

El controlador de dispositivo transfiere bloques de datos desde

su buffer directamente a la memoria principal, sin la

intervención de la CPU

Referensi

Dokumen terkait

dengan ini menyatakan dengan sesungguhnya bahwa apabila saya diterima menjadi karyawan Perum Perikanan Indonesia Tahun 2015, saya bersedia ditempatkan dan

Tanda koreksi berupa simbol-simbol seperti tanda pengecekan yang digunakan dalam kertas kerja, menunjukkan dalam auditor telah melaksanakan sejumlah prosedur

Kelimpahan atau kerapatan Derris trifoliata dan Acanthus ilicifolius mempengaruhi tingkat kerusakan mangrove dilihat dengan nilai indeks determinasi yang relatif besar yaitu

[r]

Hasil penelitian ini menunjukkan bahwa: (1) Terdapat pengaruh positif dan signifikan Kemudahan Penggunaan terhadap Minat Bertransaksi Menggunakan E- Banking pada UMKM di Kota

Usaha Kecil Menengah (selanjutnya disebut UKM) memiliki peran yang strategis dalam Perekonomian Nasional. Mereka menduduki lebih dari 90% usaha yang ada di

Selanjutnya, praktikan menyusun program yang terdiri dari promes, probul, proming, dan prohar (satlan) yang tentunya didasarkan pada hasil analisis kebutuhan

Sebelum Tergugat mengajukan duplik, atas dasar ketentuan yang terdapat dalam Pasal 75 ayat (2) Undang-Undang Nomor 5 Tahun 1986, Tergugat dapat mengubah alasan yang