Está en la página 1de 22

1

Servidor Web

Jenner Eduardo Ospina Benavides,

José Leonardo Piñeros Baquero

Yuli Constanza Plaza Barrera

Facultad de Ingeniería, Unipanamericana Fundación Universitaria

Sistemas Operativos

Tutor: Edwin Fernnedy López Salguero

Septiembre 17 de 2020

Unipanamericana Fundación Universitaria

Sede Bogotá
2

Introducción

Un servidor Web es un programa que utiliza HTTP (Hypertext Transfer Protocol) para servir

los archivos que forman páginas Web a los usuarios, en respuesta a sus solicitudes, que son

reenviados por los clientes HTTP de sus computadoras. Las computadoras y los dispositivos

dedicados también pueden denominarse servidores Web.

El proceso es un ejemplo del modelo cliente / servidor. Todos los equipos que alojan siti os

Web deben tener programas de servidor Web.

Por eso podemos definir que un servidor web es un programa que se ejecuta continuamente en

una maquina con propiedades y recursos de acuerdo a las necesidades de los clientes

manteniéndose a la espera de peticiones de ejecución que le hará un cliente o un usuario de

Internet.

El servidor web se encarga de contestar a estas peticiones de forma adecuada, entregando como

resultado una página web o información de todo tipo para ejecutar transacciones en tiempo real,

administración de información y el manejo del multiprocesamiento.


3

Desarrollo AA5: Servidor Web

Parte A: Realiza un escrito con los siguientes conceptos, citado ejemplo que evidencia su

aplicabilidad.

• Bloqueo o interbloqueo.

En sistemas operativos, el bloqueo mutuo (también conocido como interbloqueo, traba mortal,

deadlock, abrazo mortal) es el bloqueo permanente de un conjunto de procesos o hilos de

ejecución en un sistema concurrente que compiten por recursos del sistema o bien se

comunican entre ellos. A diferencia de otros problemas de concurrencia de procesos, no existe

una solución general para los interbloqueos.

Todos los interbloqueos surgen de necesidades que no pueden ser satisfechas, por parte de dos

o más procesos. En la vida real, un ejemplo puede ser el de dos niños que intentan jugar al

arco y flecha, uno toma el arco, el otro la flecha. Ninguno puede jugar hasta que alguno libere

lo que tomó.

En el siguiente ejemplo, dos procesos compiten por dos recursos que necesitan para funcionar,

que sólo pueden ser utilizados por un proceso a la vez. El primer proceso obtiene el permiso

de utilizar uno de los recursos (adquiere el lock sobre ese recurso). El segundo proceso toma

el lock del otro recurso, y luego intenta utilizar el recurso ya utilizado por el primer proceso,

por lo tanto queda en espera. Cuando el primer proceso a su vez intenta utilizar el otro

recurso, se produce un interbloqueo, donde los dos procesos esperan la liberación del recurso

que utiliza el otro proceso.


4

CONDICIONES

· Condición de exclusión mutua: existencia de al menos de un recurso compartido por los

procesos, al cual sólo puede acceder uno simultáneamente.

· Condición de retención y espera: al menos un proceso Pi ha adquirido un recurso Ri, y lo

retiene mientras espera al menos un recurso Rj que ya ha sido asignado a otro proceso.

· Condición de no expropiación: los recursos no pueden ser expropiados por los procesos, es

decir, los recursos sólo podrán ser liberados voluntariamente por sus propietarios.

· Condición de espera circular: dado el conjunto de procesos P0...Pm(subconjunto del total

de procesos original),P0 está esperando un recurso adquirido por P1, que está esperando un

recurso adquirido por P2,... ,que está esperando un recurso adquirido por Pm, que está

esperando un recurso adquirido por P0. Esta condición implica la condición de retención y

espera.

PREVENCION

Los bloqueos mutuos pueden prevenirse asegurando que no suceda alguna de las condiciones

necesarias vistas anteriormente.


5

· Eliminando la exclusión mutua: ningún proceso puede tener acceso exclusivo a un recurso.

Esto es imposible para procesos que no pueden ser encolados (puestos en un spool), e incluso

con colas también pueden ocurrir interbloqueos.

· La condición de posesión y espera puede ser eliminada haciendo que los procesos pidan

todos los recursos que van a necesitar antes de empezar. Este conocimiento por adelantado

muchas veces es imposible nuevamente. Otra forma es requerir a los procesos liberar todos

sus recursos antes de pedir todos los recursos que necesitan. Esto también es poco práctico en

general.

· La condición de no expropiación puede ser también imposible de eliminar dado que un

proceso debe poder tener un recurso por un cierto tiempo o el procesamiento puede quedar

inconsistente.

· La condición de espera circular es la más fácil de atacar. Se le permite a un proceso poseer

sólo un recurso en un determinado momento, o una jerarquía puede ser impuesta de modo tal

que los ciclos de espera no sean posibles.

• Modelación de bloqueos.

La modelación de bloqueos se puede mostrar mediante gráficas dirigidas (Holt)


6

Las gráficas tienen dos tipos de nodos:

• Procesos (aparecen como círculos).


• Recursos (aparecen como cuadrados).
• Un arco de un nodo de recurso a uno de proceso indica que el recurso fue solicitado con
anterioridad, fue otorgado y es poseído en ese momento por dicho proceso.
• Un arco de un proceso a un recurso indica que el proceso está bloqueado, en espera de
ese recurso.
• Un ciclo en la gráfica indica la existencia de un bloqueo relacionado con los procesos y
recursos en el ciclo
7

• Detección de bloqueos.

La detección del bloqueo mutuo es el proceso de determinar si realmente existe un

interbloqueo e identificar los procesos y recursos implicados en él. Los algoritmos de

detección determinan por lo general si existe una espera circular.

El empleo de algoritmos de detección del interbloqueo implica cierto gasto extra durante la

ejecución. Así pues, se presenta de nuevo la cuestión de costeabilidad, tan habitual en los

sistemas operativos, ¿el gasto extra debido a los algoritmos de detección del bloqueo mutuo se

justifica con los ahorros potenciales debidos a la localización y solución de los interbloqueos?
8

Para facilitar la detección de interbloqueos, se utilizará una notación en la que un grafo

dirigido indica las asignaciones y peticiones de recursos. Los cuadrados representan procesos;

los círculos grandes, clases de dispositivos idénticos; los círculos pequeños de color rojo en el

interior de los grandes indican el número de dispositivos de cada clase. Por ejemplo, si un

círculo grande etiquetado como R1 contiene tres círculos pequeños, significa que ya tres

recursos del tipo R1 disponibles para asignación en este sistema.

Es el proceso de: Determinar si de hecho existe o no un bloqueo.

Identificar cuáles son los procesos y recursos implicados en el bloqueo.

➢ Se utiliza en sistemas que permiten que éstos ocurran, ya sea voluntaria o

involuntariamente.

• La meta es determinar si ha ocurrido un bloqueo:


o Se debe detectar con precisión los procesos y recursos implicados en el bloqueo.
o Se puede eliminar el bloqueo detectado.
9

Parte B

➢ Instalación de Lamp Server.

Para distribuciones basadas en redhad como Centos instalar lo siguiente: # yum install

httpd httpd-devel (Instala el servidor de apache).

# yum install mysql mysql-server mysql-devel (Instala la base de datos Mysql).

# yum install php php-mysql php-common php-gd php-mbstring php-mcrypt (Instala

el lenguaje PHP).

Si su distribución es de los derivados de debian como Ubuntu puede instalar todo el

paquete con la siguiente línea sudo apt-get install lamp-server^

Figura 1. Comando de instalación de Lamp-server.


10

Figura 2. Instalación Finalizada.

➢ Localizar servicios y paquetes instalados, ubicación de archivos en el sistema de


archivos de LINUX.

Figura 3. Ubicación de Servicios y paquetes Instalados.


11

➢ Cree un archivo prueba.php con la siguiente con las siguientes líneas <? phpinfo ();?>

Figura 4. Creación de archivo.

➢ Ejecute desde el browser y verifique la información sobre la instalación y propiedades

de PHP, ¿Nombre 5 elementos de configuración importantes se deben tener en cuenta y

para qué sirven?

Figura 5. Verificacion desde Browser.


12

A continuación, los cinco elementos de configuración que se deben tener en cuenta:

1. Identificar donde se alojan los archivos de configuración.

2. tener en cuenta que contraseña se le define al usuario Root en MySQL.

3. verificar que los servicios este iniciado tras la instalación.

4. configurar el puerto de escucha del servidor web por defecto 80 se puede cambiar.

5. verificar los permisos de directorios y ficheros que harán parte de la web.

➢ Restringir archivos de lectura y ejecución en el archivo prueba.php verificar desde el


browser.
Figura 6. Modificación de Permisos.

Figura 7. Verificación de Restricción desde Browser.


13

➢ Cree un archivo serverweb.php y publíquelo en su sitio indicando los servicios y

protocolos de red utilizados.

Código ejemplo:

<?php

echo “protocolo1 <br>”; echo “protocolo2 <br>”;

?>

Figura 8. Creación de Server Web.


14

Figura 9. Verificación desde el browser de archivo serverweb.php.

➢ Visualizar página web en el sistema operativo Windows de la maquina local y en el


sistema operativo LINUX y WINDOWS de otra máquina.

Figura 10. Verificación desde el sistema operativo Windows.

Verificacion de archivo desde Linux Ubuntu de serverweb.php se puede visualizar en

figura No. 09.


15

Figura 11. Verificación desde el Windows de otra maquina.

➢ Verificar archivo de configuración httpd.conf del servicio apache y cambiar el puerto


de salida por el 120 y ejecutarlo en otra máquina haciendo la debida conexión.

Figura 12. comando para configuración del puerto por defecto en 80.
16

Figura 13. Cambio de puerto 80 a 120.

Figura 14. Comprobación desde el Browser con el puerto 80, sin conexión.
17

Figura 15. Comprobando con puerto 120.

➢ Redacte el siguiente programa con el nombre de admon.php, indique su relación son el


sistema operativo y describa su funcionamiento.

Figura 16. Creación y Descripción del programa.


18

Figura 17. Ejecución del programa con su descripción.

➢ Nombre y explique los protocolos que intervienen en la arquitectura cliente

servidor trabajada en la práctica.

TCP es un protocolo orientado a conexión. No hay relaciones maestro/esclavo.

Las aplicaciones, sin embargo, utilizan un modelo cliente/servidor en las

comunicaciones.

Un servidor es una aplicación que ofrece un servicio a usuarios de Internet; un

cliente es el que pide ese servicio. Una aplicación consta de una parte de

servidor y una de cliente, que se pueden ejecutar en el mismo o en diferentes

sistemas. Los usuarios invocan la parte cliente de la aplicación, que construye


19

una solicitud para ese servicio y se la envía al servidor de la aplicación que usa

TCP/IP como transporte.

El servidor es un programa que recibe una solicitud, realiza el servicio

requerido y devuelve los resultados en forma de una respuesta. Generalmente

un servidor puede tratar múltiples peticiones (múltiples clientes) al mismo

tiempo.

Figura 18. Modelo de aplicación cliente – Servidor.

Algunos servidores esperan las solicitudes en puertos bien conocidos de modo

que sus clientes saben a qué zócalo IP deben dirigir sus peticiones. El cliente

emplea un puerto arbitrario para comunicarse. Los clientes que se quieren

comunicar con un servidor que no usa un puerto bien conocido tienen otro

mecanismo para saber a qué puerto dirigirse. Este mecanismo podría usar un

servicio de registro como Portmap, que utiliza un puerto bien conocido.

HTTP: El Protocolo de Transferencia de HiperTexto (Hypertext Transfer

Protocol) es un sencillo protocolo cliente-servidor que articula los

intercambios de información entre los clientes Web y los servidores HTTP.

UDP: El grupo de protocolos de Internet también maneja un protocolo de

transporte sin conexiones, el UDP (User Data Protocol, protocolo de datos de


20

usuario). El UDP ofrece a las aplicaciones un mecanismo para enviar

datagramas IP en bruto encapsulados sin tener que establecer una conexión.

TCP: El fin de TCP es proveer un flujo de bytes confiable de extremo a

extremo sobre una internet no confiable. TCP puede adaptarse dinámicamente

a las propiedades de la internet y manejar fallas de muchas clases.

IP: El protocolo de IP (Internet Protocol) es la base fundamental de la Internet.

Porta datagramas de la fuente al destino. El nivel de transporte parte el flujo de

datos en datagramas. Durante su transmisión se puede partir un datagrama en

fragmentos que se montan de nuevo en el destino.


21

CONLUSIONES

• Un servidor Web es un programa que sirve para atender y responder a las diferentes peticiones
de los navegadores, proporcionando los recursos que soliciten usando el protocolo http.

• Entre las principales características de un servidor Web están: servicio de ficheros estáticos,
seguridad y autenticación, contenido dinámico, servidores virtuales, actuación como
representantes y protocolos adicionales.

• Un servidor Web se encarga de mantenerse a la espera de peticiones HTTP llevada a cabo


por un cliente HTTP que solemos conocer como navegador. El navegador realiza una
petición al servidor y éste le responde con el contenido que el cliente solicita.
22

REFERENCIAS BIBLIOGRAFICAS

Herramientas web (s.f.). para la enseñanza de protocolos de comunicación. Recuperado de:


http://neo.lcc.uma.es/evirtual/cdd/tutorial/Indice.html

Herramientas web (s.f.). para la enseñanza de protocolos de comunicación. HTTP. Recuperado


de: http://neo.lcc.uma.es/evirtual/cdd/tutorial/aplicacion/http.html

Herramientas web (s.f.). para la enseñanza de protocolos de comunicación. Cliente servidor.


Recuperado de: http://neo.lcc.uma.es/evirtual/cdd/tutorial/aplicacion/cliente-
servidor.html

YouTube. (2014). Ubuntu fácil TV. Como instalar un servidor lamp. Recuperado de:
https://www.youtube.com/watch?v=qZbk5SPHejM

También podría gustarte