Está en la página 1de 27

Universidad Nacional Abierta

Vicerrectorado Académico
Área de Ingeniería
Carrera Ingeniería de Sistemas

TRABAJO PRÁCTICO
Asignatura: Sistemas Operativos Código: 358

Fecha de devolución: A más tardar el 09/04/2022 (Sin prórroga)

Nombre del Estudiante: Ronald José Fermín Flores

Cédula de Identidad: 13.368.773

Centro Local / Unidad de Apoyo: Barcelona / Sede

Correo electrónico: Ronalj78@gmail.com

Carrera: T.S.U en mantenimiento de sistemas informáticos

Número de originales: 15 paginas

Lapso: 2022-1

Especialista: Nelly Escorcha Ingeniería de Sistemas


TABLA DE CONTENIDO

Pág.

INTRODUCCION 3

OBJETIVO N° III.1

DESARROLLO 4

CONCLUSIONES 5

RECOMENDACIONES 6

OBJETIVO N° III.2

DESARROLLO 8

CONCLUSIONES 9

RECOMENDACIONES 10

OBJETIVO N° III.3

DESARROLLO 11

CONCLUSIONES 12

RECOMENDACIONES 13

BIBLIOGRAFIA 15

19
INTRODUCCION

Linux es uno de los sistemas operativos con mejores prestaciones a nivel de


rendimiento y seguridad gracias a su codificación y desarrollo sin importar la distribución
que se use

Al igual que cualquier otro sistema operativo, existen una serie de factores que afectan
su rendimiento después de un periodo de tiempo y estos pueden ser internos como
instalación y ejecución de múltiples programas, servicios innecesarios, roles que afectan
el óptimo rendimiento, programas que consumen altos recursos, etc., y externos, como
factores propios del equipo como disco duro limitado, poca memoria RAM, etc.

19
OBJETIVO N° III.1

1.- Se tiene un servidor en Linux, el cual está presentando bajo rendimiento, por lo cual
se ha llegado a la conclusión que debe hacerse una depuración para solventar la
situación presentada. Aunque, muchos pueden ser los factores, el efecto global se percibe
normalmente como tiempo de respuesta deficiente o como ejecución lenta del programa.

Corregir un problema de este tipo podría causar más problemas en otras áreas. Para
mejorarlo, se prueba ajustando diferentes parámetros, supervisando el efecto y volviendo
a ajustar hasta que se esté satisfecho con un rendimiento aceptable del sistema.

Tomando en cuenta el planteamiento anterior, presente en un ensayo las diversas


causas y soluciones ante el problema de rendimiento del servidor Linux.

CRITERIO DE CORRECCIÓN:

El objetivo será considerado como aprobado si el estudiante presenta un ensayo, las


diversas causas y soluciones ante el problema de rendimiento del servidor Linux.

DESARROLLO

PROBLEMAS DE RENDIMIENTO EN UN SERVIDOR LINUX

En las ciencias de computación, hablar de rendimiento se refiere a la medida o


cuantificación de la velocidad / resultado con que se realiza una tarea o proceso. En un
equipo o computadora, su rendimiento no depende sólo del microprocesador, sino de la
suma de sus componentes, sus softwares y la configuración de estos.

El monitoreo del estado de los dispositivos Linux se da mediante operaciones de


revisión que se realizan cada segundo y hacen una examinación del dispositivo en forma
integral. Ante el mínimo registro de irregularidad en el rendimiento, es posible informarlo
mediante las alarmas.

TOP es el comando básico para controlar el rendimiento de Linux. TOP es una


herramienta que forma parte del Kernel Linux y ayuda a conocer los procesos de
ejecución del sistema, su estado y el uso general de los recursos del ordenador.

19
Para usar esta herramienta no se debe instalar nada. Solo se debe abrir un terminal o
un TTY y ejecutar en él: TOP. Toda la información que aparece se actualiza cada 3
segundos, por lo que más o menos se podrá saber en todo momento el uso de recursos
del PC.

Los problemas de rendimiento en Linux se deben a cuellos de botella en uno o más


subsistemas de hardware, según el perfil de uso de recursos en su sistema. Algunos
elementos a considerar (en orden aproximado): software con errores.

Puede producirse un cuello de botella en la red del usuario o la estructura de


almacenamiento o dentro de los servidores donde hay una contención excesiva por los
recursos internos del servidor, como la potencia de procesamiento de la CPU, la memoria
o E / S (entrada / salida). Como resultado, el flujo de datos se ralentiza a la velocidad del
punto más lento de la ruta de datos.

Para determinar si hay un cuello de botella en la CPU: Se supervisa las cargas de la


CPU y la GPU mientras se ejecuta un juego. Si la carga de la CPU es muy alta (alrededor
del 70 por ciento o más) y significativamente más alta que la carga de la tarjeta de video,
entonces la CPU está ocasionando un cuello de botella.

Se puede revisar en el Monitor de rendimiento (perfmon) para notar el “Avg. Disk


Queue Length” en ese disco. Si es algo superior a 0.0 (1.0, etc.), entonces el sistema está
esperando el disco y su disco es el cuello de botella. Si la espera se mantiene por debajo
de 0,1.

Si se aumenta la memoria del servidor: si las aplicaciones pueden almacenar más


datos en la memoria RAM, no necesitarán leer y escribir en el sistema de archivos con
tanta frecuencia. Para algunas aplicaciones, una caché en memoria como Memcached o
Varnish puede mejorar el rendimiento al tiempo que reduce la E / S del disco.

19
CONCLUSIONES

 Para verificar el rendimiento de E / S del disco en el sistema operativo Windows


y Linux, en primer lugar, se escribe el comando TOP en la terminal para
verificar la carga en su servidor. Si la salida no es satisfactoria, busque el
estado wa para conocer el estado de lectura y escritura de IOPS en el disco
duro.
 El comando Linux TOP es un programa de supervisión del rendimiento que
muchos administradores de sistemas utilizan con frecuencia para supervisar el
rendimiento de Linux y está disponible en muchos sistemas operativos similares
a Linux / Unix. Muestra el uso de la CPU, el uso de la memoria, la memoria de
intercambio, el tamaño de la caché, el tamaño del búfer, el PID del proceso, el
usuario, los comandos y mucho más.
 El cuello de botella de la CPU ocurre cuando el procesador no es lo
suficientemente rápido para procesar y transferir datos. La CPU es la
responsable de procesar las acciones del juego en tiempo real, la física, la
interfaz de usuario, el audio y otros procesos complejos vinculados a la CPU.
Se produce un cuello de botella si se limita la velocidad de transferencia de
datos.

19
RECOMENDACIONES

Para solucionar problemas de rendimiento del servidor Linux se sugiere:

 Verifique el tipo de servidor y asegúrese de que tenga los recursos de CPU y RAM
necesarios para cumplir con los requisitos de su aplicación y la carga de usuarios.
 Verifique si su aplicación está usando un caché. …
 Compruebe si hay trabajos cron ejecutándose en el servidor y consumiendo
recursos.
 Para borrar la memoria caché, el búfer y el espacio de intercambio de la memoria
RAM en Linux:
o Limpiar sólo PageCache. # sincronización; echo 1> / proc / sys / vm /
drop_caches.
o Dentries e inodos claros. # sincronización; echo 2> / proc / sys / vm /
drop_caches.
o Borrar PageCache, dentries e inodos. # sincronización; echo 3> / proc / sys
/ vm / drop_caches.
o sync vaciará el búfer del sistema de archivos. Comando separado por “;”
ejecutar secuencialmente.
 Para solucionar problemas cuando su sitio no funciona en un servidor Linux
o Verifique el estado del servidor. …
o Monitoreo de su servidor. …
o verifique los registros. …
o : asegúrese de que su servidor web esté funcionando. …
o Verificación de la sintaxis del servidor web. …
o ¿El back-end de su base de datos está funcionando correctamente? …
o Verifique si su servidor web / de aplicaciones puede conectarse al backend
de la base de datos.

19
OBJETIVO III.2

2.- Dentro del departamento informático de una organización, los usuarios han recibido
una nueva impresora, la cual podrá ser utilizada si se instala el controlador de la misma.

Un controlador técnicamente, es un programa que permite que la computadora utilice o


interactúe con un componente. La instalación de un controlador, normalmente se realiza
mediante un CD-ROM. Sin embargo, las computadoras están llenas de controladores y
todos los dispositivos periféricos requieren de la instalación de un controlador o dependen
de uno ya instalado.

Tomando en cuenta el planteamiento anterior, realice un esquema donde se detallen


los tipos, características, e identificación por parte del sistema operativo de los
controladores, tomando en cuenta que su función de control lo realiza no solo sobre
dispositivos, sino que también lo hace sobre puertos, y buses.

CRITERIO DE CORRECCIÓN:

El objetivo será considerado como aprobado, si el estudiante presenta en un esquema


gráfico detallado: Los tipos, características, e identificación por parte del sistema operativo
de los controladores sobre dispositivos, puertos y buses.

DESARROLLO

El sistema operativo admite dispositivos a través de controladores de dispositivo. En el


esquema siguiente se muestra dónde se encuentran los controladores de dispositivos con
respecto al resto del sistema operativo y el hardware real que administran.

19
19
Esquema con los controladores

19
CARACTERIZACIÓN DE LOS DISPOSITIVOS DE E/S

La visión del sistema de E/S puede ser muy distinta dependiendo del nivel de detalle
necesario en su estudio. Para los programadores, el sistema de E/S es una caja negra
que lee y escribe datos en dispositivos externos a través de una funcionalidad bien
definida. Para los fabricantes de dispositivos, un dispositivo es un instrumento muy
complejo que incluye cientos o miles de componentes electrónicos o electromecánicos.

Los diseñadores de sistemas operativos se encuentran en un lugar intermedio entre los


dos anteriores. Les interesa la funcionalidad del dispositivo, aunque a un nivel de detalle
mucho más grande que la funcionalidad que espera el programador de aplicaciones, pero
también les interesa conocer la interfaz física de los dispositivos y su comportamiento
interno para poder optimizar los métodos de acceso a los mismos.

La Figura muestra el esquema general de conexión de periféricos a una computadora


[De Miguel, 1998]. En el modelo de un periférico se distinguen dos elementos:

 Periféricos o dispositivos de E/S. Elementos que se conectan a la unidad


central de proceso a través de las unidades de entrada/salida. Son el componente
mecánico que se conecta a la computadora.
 Controladores de dispositivos o unidades de E/S. Se encargan de hacer la
transferencia de información entre la memoria principal y los periféricos. Son el
componente electrónico a través del cual se conecta el dispositivo de E/S. Tienen
una conexión al bus de la computadora y otra para el dispositivo (generalmente
mediante cables internos o externos).

Los controladores son muy variados, casi tanto como los dispositivos de E/S. Muchos
de ellos, como los de disco, pueden controlar múltiples dispositivos. Otros, como los de
canales de E/S, incluyen su propia UCP y bus para controlar la E/S por programa y evitar
interrupciones en la UCP de la computadora. De cualquier forma, en los últimos años ha
existido un esfuerzo importante de estandarización de los dispositivos, lo que permite usar
un mismo controlador para dispositivos de distintos fabricantes. Un buen ejemplo lo
constituyen los dispositivos SCSI (Small Computer System interface), cuyos controladores
ofrecen una interfaz común independientemente de que se trate de un disco, una cinta, un
CD-ROM, etc.

19
Otro buen ejemplo son los controladores IDE (Integrated Drive Electronics), que suelen
usarse para conectar los discos en todas las computadoras personales. En cualquier
caso, y sea como sea el controlador, su misión es convertir los datos del formato interno
del dispositivo a uno externo que se ofrezca a través de una interfaz de programación
bien definida.

El controlador es el componente más importante desde el punto de vista del sistema


operativo, ya que constituye la interfaz del dispositivo con el bus de la computadora y es
el componente que se ve desde la UCP. Su programación se lleva a cabo mediante una
interfaz de muy bajo nivel que proporciona acceso a una serie de registros del
controlador, incluidos en el mapa de E/S de la computadora, que se pueden acceder
mediante instrucciones de máquina de E/S. Hay tres registros importantes en casi todos
los controladores: registro de datos, estado y control. El registro de datos sirve para el
intercambio de datos.

En él irá el controlador cargando los datos leídos y de él irá extrayendo los datos para
su escritura en el periférico. Un bit del registro de estado sirve para indicar que el
controlador puede transferir una palabra.

En las operaciones de lectura esto significa que ha cargado en el registro de datos un


nuevo valor, mientras que en las de escritura significa que necesita un nuevo dato. Otros
bits de este registro sirven para que el controlador indique los problemas que ha
encontrado en la ejecución de la última operación de E/S. El registro de control sirve para
indicarle al controlador las operaciones que ha de realizar. Los distintos bits de este
registro indican distintas acciones que ha de realizar el periférico. Para empezar una
operación de E/S, la UCP tiene que escribir sobre los registros anteriores los datos de la
operación a través de una dirección de E/S o de memoria asignada únicamente al
controlador. Este modelo vale tanto para los terminales o la pantalla como para los discos.

Las características del controlador son muy importantes, ya que definen el aspecto del
periférico para el sistema operativo. Atendiendo a las características del hardware de los
dispositivos, se pueden observar los siguientes aspectos distintivos:

 Dirección de E/S. En general hay dos modelos de direccionamiento de E/S, los


que usan puertos y los que proyectan los registros en memoria.

19
 Unidad de transferencia. Los dispositivos suelen usar unidades de transferencia de
tamaño fijo.

Hay dos modelos clásicos de dispositivos: de caracteres y de bloques.

 Interacción computadora-controlador. La computadora tiene que interaccionar con


la computadora para realizar las operaciones de E/S y saber cuándo terminan.

Dispositivos conectados por puertos o proyectados en memoria

Para empezar una operación de E/S, la UCP tiene que escribir sobre los registros
anteriores los datos de la operación a través de una dirección de E/S o de memoria
asignada únicamente al controlador. Según se haga de una u otra forma, se distingue
entre dispositivos conectados por puertos o proyectados en memoria.

El modelo de dispositivos por puertos es clásico en las arquitecturas de Intel. En ellas,


cuando se instala un dispositivo, a su controlador se le asigna un puerto de E/S, una
interrupción hardware y un vector de interrupción.

Para efectuar una operación de E/S la UCP ejecuta operaciones por o portout con la
dirección de puerto del dispositivo y con parámetros para indicar qué registro se quiere
manipular. Todas las operaciones de entrada/salida (pantalla gráfica, impresoras, ratón,
discos, etc.) se realizan usando esas dos instrucciones de lenguaje máquina con los
parámetros adecuados. El problema de este tipo de direccionamiento es que exige
conocer las direcciones de E/S y programar las instrucciones especiales de E/S, lo que es
significativamente distinto del modelo de memoria de la computadora.

El otro modelo de direccionamiento de E/S es el modelo proyectado en memoria. Este


modelo, típico de las arquitecturas de Motorola, asigna a cada dispositivo de E/S un rango
de direcciones de memoria a través de las cuales se escribe sobre los registros del
controlador. En este modelo no hay instrucciones específicas de E/S, sino que las
operaciones se llevan a cabo mediante instrucciones máquina de manejo de memoria, lo
que permite gestionar un mapa único de direcciones de memoria. Sin embargo, para no
tener conflictos con otros accesos a memoria y para optimizar las operaciones, se reserva
una zona de memoria física para asignar las direcciones de E/S.

19
Dispositivos de bloques y de caracteres

Los dispositivos de almacenamiento secundario y terciario manejan la información en


unidades de tamaño fijo, denominadas bloques, por lo que a su vez se denominan
dispositivos de bloques. Estos bloques se pueden direccionar de manera independiente,
lo que permite leer o escribir un bloque con independencia de los demás. Los dispositivos
de bloque lo son porque el hardware fuerza la existencia de accesos de un tamaño
determinado. Un disco, por ejemplo, se divide en sectores de 512 bytes o de 1 KB, siendo
un sector la unidad mínima de transferencia que el controlador del disco puede manejar.

Los dispositivos de caracteres, como los terminales, impresoras, tarjetas de red,


módems, etcétera, no almacenan información en bloques de tamaño fijo. Gestionan flujos
de caracteres de forma lineal y sin ningún tipo de estructura de bloque. Un teclado es un
buen ejemplo de estos dispositivos. Está conectado a una UART (Universal Asynchronous
Receiver/Transmiter) que recibe un carácter del teclado cada vez que se pulsa una tecla.
No es posible leer un bloque de teclas de un golpe o buscar dentro del dispositivo por
ninguna unidad. Un terminal por línea serie también es un dispositivo de caracteres. Su
controlador se limita a enviar al periférico el flujo de caracteres que debe representar en la
pantalla y a recibir del mismo los caracteres tecleados por el usuario.

E/S programada o por interrupciones

Un controlador de dispositivo o unidad de E/S se encarga de controlar uno o más


dispositivos de! Mismo tipo y de intercambiar información entre ellos y la memoria
principal o unidad central de proceso de la computadora. El controlador debe encargarse
además de sincronizar la velocidad del procesador con la del periférico y de detectar los
posibles errores que se produzcan en el acceso a los periféricos. En el caso de un
controlador de disco, éste debe encargarse de convertir un flujo de bits procedente del
disco a un bloque de bytes detectando y corrigiendo, si es posible, los errores que se
produzcan en esta transferencia. Una vez obtenido el bloque y comprobado que se
encuentra libre de errores, deberá encargarse de transferirlo a memoria principal.

La información entre los controladores de dispositivo y la unidad central de proceso o


memoria principal se puede transferir mediante un programa que ejecuta continuamente y
lee o escribe los datos del (al) controlador. Con esta técnica, que se denomina E/S
programada, la transferencia de información entre un periférico y el procesador se realiza
mediante la ejecución de una instrucción de E/S. Con esta técnica, es el procesador el

19
responsable de extraer o enviar datos entre el procesador y el controlador de dispositivo,
lo que provoca que el procesador tenga que esperar mientras se realiza la transferencia
entre el periférico y el controlador. Dado que los periféricos son sensiblemente más lentos
que el procesador, éste deberá esperar una gran cantidad de tiempo hasta que se
complete la operación de E/S. En este caso no existe ningún tipo de concurrencia entre la
E/S y el procesador ya que éste debe esperar a que finalice la operación.

Aunque esta técnica es muy antigua, ya que proviene del tiempo en que los
controladores no tenían interrupciones, actualmente los canales de E/S y algunos
multiprocesadores usan esta técnica para evitar que lleguen a la UCP de la computadora
muchas interrupciones de E/S. En ambos casos, la técnica es la misma: dedicar una UCP
especial para la E/S. La forma de hacerlo es muestrear continuamente los registros de
estado de los controladores para ver si están disponibles y, en ese caso, leer o escribir los
registros. Imagine un canal de E/S al que hay conectados múltiples buses de E/S que, a
su vez, tienen múltiples dispositivos de E/S. Si la UCP quiere escribir en uno de ellos,
debe mirar su registro de estado hasta que los bits indiquen que no está ocupado.
Cuando esto ocurra, escribirá un bloque en los registros del controlador y esperará hasta
que los bits de estado indiquen que está disponible. Imagine que quiere leer de otro
controlador, deberá esperar a que los bits de estado le indiquen que está disponible,
programar la operación y esperar a que se indique que los datos están disponibles.
Evidentemente, incluso aunque la UCP esté controlando varios dispositivos de E/S,
siempre existe pérdida de ciclos debido a la existencia de las esperas. Sin embargo,
existen situaciones en que esto no es así. En algunos sistemas de tiempo real, como por
ejemplo un satélite, la velocidad de E/S es tan rápida (byte/microsegundos) que sería
imposible efectuarla con interrupciones, debido al coste de tratar cada interrupción. En
estos casos, la E/S programada es la técnica de elección.

Con E/S programada el procesador tiene que esperar hasta que el controlador esté
listo para recibir o enviar datos, y mientras tanto no realiza ningún trabajo útil. Empleando
E/S dirigida por interrupciones el procesador envía la orden de E/S al controlador de
dispositivo y no espera a que éste se encuentre listo para enviar o transmitir los datos,
sino que se dedica a otras tareas hasta que llega una interrupción del dispositivo que
indica que se ha realizado la operación solicitada.

El modelo de interrupciones está íntimamente ligado a la arquitectura del procesador.


Casi todas las UCP actuales incluyen interrupciones vectorizadas y enmascarables. Es

19
decir, un rango de interrupciones entre 0 y 255, por ejemplo, alguna de las cuales se
pueden inhibir temporalmente para no recibir interrupciones de su vector correspondiente.
Cada interrupción se asigna a un dispositivo, o un rango de ellos en caso de un
controlador SCSI o una cadena de dispositivos tipo daisv chain, que usa el vector
correspondiente para indicar eventos de E/S a la UCP.

Cuando se programa una operación en un dispositivo, como por ejemplo una


búsqueda en un disco, éste contesta con un ACK indicando que la ha recibido, lo que no
significa que haya terminado. En este caso existe concurrencia entre la E/S y el
procesador, puesto que éste se puede dedicar a ejecutar código de otro proceso,
optimizando de esta forma el uso del procesador.

Al cabo de un cierto tiempo, cuando el disco ha efectuado la búsqueda y las cabezas


del disco están sobre la posición deseada, genera una interrupción (poniendo un 1 en el
vector correspondiente). La rutina de tratamiento de la interrupción se encargará de leer o
enviar el dato al controlador. Obsérvese que tanto la tabla de interrupciones como la
rutina de tratamiento de la interrupción se consideran parte del sistema operativo. Esto
suele ser así por razones de seguridad; en concreto, para evitar que los programas que
ejecuta un usuario puedan perjudicar a los datos o programas de otros usuarios.

Las computadoras incluyen varias señales de solicitud de interrupción, cada una de las
cuales tiene una determinada prioridad. En caso de activarse al tiempo varias de estas
señales, se tratará la de mayor prioridad, quedando las demás a la espera de ser
atendidas. Además, la computadora incluye un mecanismo de inhibición selectiva que
permite detener todas o determinadas señales de interrupción. Las señales inhibidas no
son atendidas hasta que pasen a estar desinhibidas. La información de inhibición de las
interrupciones suele incluirse en la parte del registro de estado que solamente es
modificable en nivel de núcleo, por lo que su modificación queda restringida al sistema
operativo.

¿Quién asigna las interrupciones a los dispositivos? Normalmente, el sistema operativo


se hace cargo de esa asignación cuando instala el dispositivo. Ahora bien, también suele
existir la posibilidad de que el administrador fije las interrupciones manualmente.

Nunca asigne interrupciones manualmente si no tiene experiencia con el sistema


operativo y la arquitectura de la computadora. Si origina conflictos entre interrupciones,
varios dispositivos usarán el mismo

19
¿Quién proporciona la rutina de tratamiento de interrupción? Las rutinas de interrupción
suelen tener dos partes: una genérica y otra particular para el dispositivo.La parte
genérica permite:

 Capturar la interrupción.
 Salvaguardar el estado del procesador.
 Activar la rutina de manejo de la interrupción.
 Indicar al planificador que debe poner lista para ejecutar la rutina particular.
 Desactivar la interrupción.
 Restaurar el estado del procesador.
 Ceder el control (RETI).

La rutina de tratamiento particular indica al planificador que encole la rutina particular,


que se activa cuando le llega su turno de planificación, posiblemente más tarde. La rutina
genérica la proporciona el sistema operativo y es independiente del dispositivo. Se limita a
preparar el entorno de ejecución de la interrupción, salvar los datos y parámetros, llamar a
la rutina particular del manejador y restaurar el estado del proceso. La rutina particular la
proporciona el fabricante del dispositivo o del sistema operativo, si se trata de un
dispositivo estándar. Cuando se compra un dispositivo de E/S, como por ejemplo un
ratón, es habitual encontrar un disquete o un CD-ROM con los manejadores del
dispositivo. El usuario o el administrador debe instalar estos manejadores en el sistema
operativo y reiniciarlo antes de que sea posible acceder al dispositivo.

Es importante desactivar las interrupciones después de activar su tratamiento para


evitar que se presenten nuevas interrupciones antes de terminar el tratamiento y perder
alguna de ellas.

Un caso especial en la arquitectura Intel es la controladora gráfica, que se encarga de


gestionar la salida a los dispositivos de mapas de bits (pantallas gráficas). Estas
controladoras suelen tener su propia memoria, sobre la cual se llevan a cabo las
operaciones de E/S. Aunque la memoria de la controladora se escribe también a partir de
un puerto de E/S, sus prestaciones son muy altas por lo que el tratamiento de las
operaciones de E/S se desvía del estándar en el sistema operativo, ya que estos
dispositivos no interrumpen, por lo que se efectúa E/S programada.

Mecanismos de incremento de prestaciones

19
A medida que la tecnología de fabricación de controladores ha ido mejorando, la
capacidad de efectuar operaciones autónomas en los mismos se ha incrementado
considerablemente. Actualmente es muy frecuente que un controlador de dispositivo
tenga capacidad de procesamiento, memoria interna (hasta 16 MB en controladoras
gráficas, por ejemplo) y capacidad de solapar búsquedas en unos dispositivos con
transferencias en otros. Estas mejoras convierten al controlador en un auténtico
procesador intermedio entre la UCP y el dispositivo, lo que le permite proporcionar varios
servicios para incrementar las prestaciones de E/S del dispositivo. En esta sección se
comentan los más importantes.

Acceso directo a memoria

Tanto en la E/S programada como la basada en interrupciones, la UCP debe


encargarse de la transferencia de datos una vez que sabe que hay datos disponibles en el
controlador. Una mejora importante para incrementar la concurrencia entre la UCP y la
E/S consiste en que el controlador del dispositivo se pueda encargar de efectuar la
transferencia de datos, liberando de este trabajo a la UCP, e interrumpir a la UCP sólo
cuando haya terminado la operación completa de E/S. Esta técnica se denomina acceso
directo a memoria (DMA, Direct Memory Access).

Cuando se utiliza acceso directo a memoria, es el controlador el que se encarga


directamente de transferir los datos entre el periférico y la memoria principal, sin requerir
intervención alguna por parte del procesador.

Esta técnica funciona de la siguiente manera: cuando el procesador desea I Qe un


bloque de datos, envía una orden al controlador indicándole la siguiente información:

• Tipo de operación: lectura o escritura.

• Periférico involucrado en la operación.

• La dirección de memoria desde la que se va a leer o a la que va a escribir


directamente al controlador de dispositivo (dirección).

• El número de bytes a transferir (contador).

Una vez emitida la orden, el procesador continúa realizando otro trabajo sin necesidad
de transferir el bloque de datos. Es el propio controlador el que se encarga de transferir el

19
bloque de datos del periférico a memoria. La transferencia se realiza palabra a palabra.
Cuando el controlador ha completado la transferencia, genera una interrupción que activa
la rutina de tratamiento correspondiente, de tal manera que se sepa que la operación ha
concluido.

Utilizando acceso directo a memoria el procesador únicamente se ve involucrado al


inicio y al final de la transferencia. Por tanto, cuando el sistema operativo despierta al
proceso que pidió la E/S, no tiene que copiar el bloque a memoria porque ya está allí. El
DMA requiere una etapa de almacenamiento intermedio en el controlador del dispositivo
para armonizar la velocidad del dispositivo de E/S con la copia de los datos en memoria
principal. La razón para este almacenamiento intermedio reside en que una vez que el
dispositivo empieza la transferencia de datos, ésta debe hacerse a velocidad constante
para evitar transferencias parciales y nuevas esperas de posicionamiento del dispositivo
sobre los datos (latencia). Una vez transferidos los datos a la memoria del controlador,
éste los copia en memoria principal aprovechando el ancho de banda libre del bus.

Los pasos a seguir en una operación de E/S con DMA son los siguientes:

 Programación de la operación de E/S. Se indica al controlador la operación, los


datos a transferir y la dirección de memoria sobre la que se efectuará la operación.
 El controlador contesta aceptando la petición de E/S.
 El controlador le ordena al dispositivo que lea (para operación de lectura) una
cierta cantidad de datos desde una posición determinada del dispositivo a su
memoria interna.
 Cuando los datos están listos, el controlador los copia a la posición de memoria
que tiene en sus registros, incrementa dicha posición de memoria y decrementa el
contador de datos pendientes de transferir.
 Los pasos 3 y 4 se repiten hasta que no quedan más datos por leer.
 Cuando el registro de contador está a cero, el controlador interrumpe a la UCP
para indicar que la operación de DMA ha terminado.

Canales de E/S con DMA

Un canal de E/S se puede mejorar si se incluye el concepto de DMA que permite al


controlador ejecutar instrucciones de E/S. Con estos sistemas, las instrucciones de E/S se

19
almacenan en memoria principal y son ejecutadas ordenando al procesador del canal que
ejecute un programa en memoria. Dicho programa se encarga de designar dispositivos y
zonas de memoria de E/S.

Hay dos tipos principales de canales de E/S: canal selector y canal multiplexor. Ambos
pueden interaccionar con varios dispositivos de E/S, pero mientras el canal selector sólo
puede transferir datos de un dispositivo a la vez, el canal multiplexor puede transferir
datos de varios dispositivos simultáneamente.

Caches de disco en el controlador

Las caches de datos, tan populares en sistemas operativos, han irrumpido en el mundo
de los controladores de disco con mucha fuerza. La idea es aprovechar la memoria
interna de los controladores para leer los datos por adelantado, evitando muchas
operaciones de búsqueda en el disco y sobre todo los tiempos de latencia necesarios
para esperar a que los datos pasen de nuevo bajo las cabezas del disco [Biswas, 1993]

La proximidad espacial permite optimizar la E/S en el ámbito de controlador, ya que en


lugar de leer un sector, o un grupo de ellos, se leen pistas enteras en cada vuelta de
disco, lo que permite traer múltiples bloques de datos en una única operación. En los
canales de E/S, donde suele haber mucha memoria interna, se guardan en memoria
varias pistas por cada dispositivo de E/S.

Estos mecanismos permiten optimizar mucho la E/S, especialmente en operaciones de


lectura con un comportamiento conocido. Para evitar afectar al rendimiento de las
operaciones que no responden a patrones de proximidad espacial predecibles, los
controladores incluyen instrucciones para desactivar este

mecanismo, siempre que el sistema operativo lo crea conveniente.

Solapamiento de búsquedas y transferencias

Los controladores de disco actuales permiten la conexión de varios dispositivos de E/S


y tienen un canal de

comunicaciones con ellos de varios MB. Un controlador SCSI-2 permite conectar hasta
ocho dispositivos y

19
tiene un ancho de banda de 40 MB/segundo. Un problema grave de los dispositivos es
que las operaciones

de búsqueda son lentas y, mientras el controlador espera la respuesta, el bus de


comunicaciones está vacío

porque no está siendo usado por ningún dispositivo.

Para optimizar el uso del conjunto de los dispositivos, muchos controladores actuales
programan las

operaciones de búsqueda en los dispositivos y mientras reciben la respuesta


transfieren datos de otros

dispositivos listos para leer o escribir. De esta forma existe paralelismo real entre los
dispositivos, lo que

permite explotar al máximo el canal de comunicaciones. ¿Cómo sabe el controlador


cuándo ha terminado

la espera? Pues con un sistema similar al de la E/S no bloqueante: programa un


temporizador y cuando

vence le pregunta al dispositivo si ya está listo para transmitir.

CONCLUSIONES

19
RECOMENDACIONES

19
OBJETIVO III.3

3.-. El viernes 30 de noviembre una famosa cadena de hoteles, sufrió un ataque


informático sin precedentes. Y aunque no fue la peor violación de datos de la historia,
figura en la lista de las más graves por el número de afectados.

El ataque afectó a una base de datos de reservas de 500 millones de clientes de una
de sus divisiones. En esa base de datos, a la que accedió un hacker desconocido, había
información "combinada" que incluía detalles como nombres, direcciones, teléfonos,
cuentas de email, números de pasaporte, horas de entrada y salida al hotel e incluso
información cifrada de tarjetas de crédito

Basado en lo anterior, diseñe un informe de propuesta con recomendaciones de


solución de cómo evitar las actividades criminales de los hackers (piratas informáticos),
como las que se presentan en el texto.

19
CRITERIO DE CORRECCIÓN:

El objetivo será considerado como aprobado si el estudiante realiza una propuesta de


solución presentando en un informe detallado con recomendaciones de Solución para
evitar este tipo de actividades criminales de los hackers.

DESARROLLO

CONCLUSIONES

19
RECOMENDACIONES

19
BIBLIOGRAFIA

https://www.compuhoy.com/respuesta-rapida-como-comprobar-la-cpu-en-linux

https://www.solvetic.com/tutoriales/article/4280-como-mejorar-velocidad-y-rendimiento-
linux/

19
19

También podría gustarte