martes, 15 de septiembre de 2015

UNIDAD 2

¿Qué es Internet?




    
    Internet es una Red de Redes porque está hecha a base de unir muchas redes locales de computadores, o sea de unos pocos computadores en un mismo edificio o empresa. Además, es llamada también "La Red de Redes" porque es la más grande. Internet es una colección de redes físicamente distribuidas por todo el mundo que funciona como una unidad, en la cual todas las instituciones y personas tienen acceso a un amplio rango de servicios, como búsqueda de información, correo, transacciones bancarias, entre otros.

        Historia de Internet

Internet es un medio de comunicación masivo que se ha hecho muy popular en el mundo desde los años 90, pero que nació en la década de los 60,veamos: La red de redes que conocemos hoy tuvo sus orígenes en los años 60, durante la guerra fría. Los militares estadounidenses vieron la necesidad de comunicarse en una forma más eficiente y segura, para lo cual crearon ARPANET.


     Conceptos básicos de Internet:

·        URL
·        WWW
·        WEBMAIL
·        NAVEGADOR WEB
·        BUSCADOR WEB
·        ISP


·                              URL: URL ( localizador de recursos uniforme), es un tipo de URL que se utiliza para describir la ubicación de un documento específico. Una URL no define por si sola el tipo de contenido al que refiere (textos, imágenes, vídeos  etc. ), simplemente dice dónde y cómo encontrarlo. Una URL común está compuesta por cuatro partes: Protocolo, Nombre de computadora, Directorios y archivos

·                        WWW: (World Wide Web - Telaraña de Cobertura Mundial). No existe un centro que administre esta red de información, sino más bien está constituida por muchos servicios distintos que se conectan entre sí a través de referencias en los distintos documentos. Al hablar de hipermedios nos referimos a información que puede presentarse utilizando distintos medios, como documentación ejecutable, de texto, gráficos, audio, vídeo, animación o imagen.
Cuando una persona ingresa al WWW lo hace mediante un programa "examinador" en general llamado Browser, y a partir de ése momento él esta en el Web.


·                     WEBMAIL: Web mail, correo electrónico de sitio web, correo basado en web o correo web, es un servicio que permite acceder a tu cuenta de correo electrónico a través de una página web utilizando un navegador y sin descargar los mensajes al propio ordenador.

·                      NAVEGADOR WEB: Para poder acceder a la Web necesitas un programa llamado navegador. Los navegadores van incorporando las nuevas tecnologías que se generan en torno a internet, cada poco tiempo aparecen versiones nuevas, es conveniente tener actualizado nuestro navegador. Cuando aparece una nueva versión, el navegador instalará las actualizaciones automáticamente. También podemos visitar la web del navegador y descargar gratis la última versión. Algunos tipos de navegadores más conocidos son: Internet Explore, Microsoft, Mozilla y Google.

·                     BUSCADOR WEB: Un ejemplo de motores de búsqueda lo constituyen los buscadores, utilizados a diario por millones de usuarios para obtener una lista de enlaces conteniendo las palabras clave que han determinado en su búsqueda. Entre los buscadores más populares se encuentran Google y Yahoo!, aunque también existen numerosas alternativas y proyectos que intentan satisfacer las diversas necesidades de información empleando nuevas técnicas de búsqueda, como Hakia.

ISP: son las siglas de Internet Servicie Provider (Proveedor de Servicios de Internet), una compañía que proporciona acceso a Internet. Por una cuota mensual, el proveedor del servicio te da un paquete de software, un nombre de usuario, una contraseña y un número de teléfono de acceso. A través de un módem (a veces proporcionado también por el ISP), puedes entonces entrar a Internet y navegar por el Web, y enviar y recibir correo electrónico.
HERRAMIENTAS COLABORATIVAS




Siempre he pensado que para que una organización se considere “2.0” debe tener un sistema de trabajo basado en la colaboración entre sus miembros. De poco sirve que una empresa tenga un blog, un perfil en Twitter o en Facebook, si, de manera interna, tienen unos procedimientos anclados en el pasado y no son capaces de colaborar entre las distintas áreas o departamentos. ¿Y qué es trabajar de manera colaborativa?, desde mi punto de vista, la consecución de unos objetivos comunes, maximizando resultados, minimizando la pérdida de tiempo y, sobre todo, aportando conocimiento al resto de los integrantes de un equipo de trabajo.
Cuando una empresa adopta este tipo de dinámicas de trabajo desarrollará una serie de procesos o procedimientos internos que regulen el funcionamiento de sus equipos de trabajo, los objetivos de sus proyectos, etc. Normalmente, a estos procesos se les suele dar soporte mediante herramientas en línea que faciliten la interacción entre los miembros de un equipo, su participación y, además, sirvan para realizar el seguimiento de tareas y facilitar el reporte de resultados.
Aunque lo realmente importante es la actitud de la empresa (tanto de los empleados como de la directiva) y su compromiso con este modelo de trabajo, la elección de las herramientas también puede ser determinante, puesto que unas herramientas complejas o costosas (tanto en implantación como en mantenimiento) pueden dar al traste con este tipo de trabajo.

La elección de una herramienta u otra dependerá de muchos factores: la cultura de la organización, los procesos de negocio, los tipos de proyectos y tareas que se llevan a cabo, etc. No obstante, para facilitar un poco la búsqueda, aquí vamos con diez herramientas que me parecen interesantes y con las que podemos empezar a trabajar de manera colaborativa:
Trabajo en línea y gestión de comunidades:
·                     Es habitual, por ejemplo, en el arranque de un proyecto o cuando estamos definiendo un plan estratégico, realizar lluvias de ideaso, por otro lado, diseñar el funcionamiento de servicios o procesos mediante esquemas o mapas mentales. Con Mindomo podemos realizar mapas mentales con los miembros de nuestro equipo o en solitario, tanto en línea como desde nuestro escritorio (mediante una aplicación realizada para Adobe Air). El servicio tiene una opción gratuita, algo limitada, y versiones empresariales de pago, con unas prestaciones bastante interesantes.
·                     Com8s es una herramienta colaborativa orientada hacia la formación y la educación, y con la que podremos crear unacomunidad virtual de alumnos y docentes (como en Elgg oMoodle) en la que compartir documentos, utilizar videoconferencia entre la red de usuarios, discutir en foros, etc. La versión gratuita ofrece 1 GB de almacenamiento de documentos y 5GB de tráfico mensual, lo cual puede ser suficiente, por ejemplo, para el alumnado de un curso.
·                     Gobby es un editor de textos colaborativo y multiplataforma con el que podemos escribir textos de manera compartida con varios colaboradores (al estilo Google Docs). Está muy bien, por ejemplo, para escribir código en proyectos colaborativos de software.
Gestión de tareas y proyectos
·                     Mantis es una estupenda herramienta para realizar el seguimiento de incidencias. Está muy orientado al seguimiento de bugs en el desarrollo de aplicaciones, ya que el equipo que realiza las pruebas funcionales (o el cliente final), cuando encuentra una incidencia, procede a la apertura de un ticket con el problema que ha encontrado (que pasaría al equipo de desarrollo). Con esta herramienta podemos ahorrarnos gran cantidad de correos notificando incidencias, que al final, acaban emborronando todo el proceso de depuración y, además, tendremos toda la información recogida en un único lugar. Los requisitos de la aplicación son muy simples, Apache + PHP + MySQL, por lo que la instalación es de lo más rápido.
·                     Una gran herramienta para gestionar proyectos y trabajar de manera colaborativa es Basecamp, una completa herramienta que incluye gestión documental, gestión de tareas, foros de debate o notificaciones y avisos por correo. He tenido la ocasión de trabajar con ella y, la verdad, es que funciona muy bien, si bien tiene una pequeña pega: es un servicio de pago. Si tienes presupuesto para contratarla, es una gran opción, si, por el contrario, el dinero es un problema, también hay solución.ProjectPier es la alternativa en software libre a Basecamp. Prácticamente, es un clon de la original desarrollada para un entorno Apache + PHP + MySQL, por lo que no será nada complicada de desplegar.
·                     Dotproject es otra herramienta para la gestión de proyectosen línea. Esta aplicación responde al modelo clásico de gestión de proyectos, es decir, división de proyectos en subproyectos, asignación de recursos, gestión económica, cálculo del camino crítico o representación de un diagrama de Gantt de las tareas. La herramienta está bien, yo la estuve usando un tiempo (en un proyecto de consultoría) y permite realizar un buen seguimiento de la ejecución del proyecto. Además, al ser una aplicación web, todos los miembros del equipo pueden seguir el avance del proyecto y reportar sus propios avances.
·                     The Dead Line es otra herramienta orientada a la gestión de tareas o pequeños proyectos. Nos presenta las tareas como una lista (un “to do list”) en la que iremos asignando tareas a los miembros de nuestro equipo, simplemente, haciéndoles una mención como si de Twitter se tratase o añadiendo etiquetas de la misma forma que usaríamos un hashtag. Es muy sencilla de manejar y, tras usarla un tiempo, me parece muy recomendable, por ejemplo, para coordinar equipos que trabajen bajo demanda.
·                     Teambox es otra herramienta para gestionar proyectos con estilo parecido a Basecamp o ProjectPier. Con la versión gratuita podremos gestionar hasta 3 proyectos de manera simultánea, con 50 MB de espacio de almacenamiento para documentos y con la posibilidad de invitar a colaboradores a los proyectos para que puedan participar en él realizando tareas.


UNIDAD 1

SISTEMAS OPERATIVOS

Un sistema operativo es una capa de software que permite la comunicacion maquina-persona, tambien se le puede entender como un administrador de los recursos (hardware) que nos ofrece la maquina para permitir un buen uso de ella por medio de los programas o aplicaciones.

Ejemplos de sistemas operativos:


  
§  DOS



§  GNU/Linux



§ Microsoft Windows 



§  Mac OS X
§  Ubuntus


 §  Solaris



Gestión de procesos

Un proceso es simplemente, un programa en ejecución que necesita recursos para realizar su tarea: tiempo de CPU, memoria, archivos y dispositivos de E/S. El SO es el responsable de:
§  Crear y destruir los procesos.
§  Parar y reanudar los procesos.
§  Ofrecer mecanismos para que se comuniquen y sincronicen.
La gestión de procesos podría ser similar al trabajo de oficina. Se puede tener una lista de tareas a realizar y a estas fijarles prioridades alta, media, baja por ejemplo. Debemos comenzar haciendo las tareas de prioridad alta primero y cuando se terminen seguir con las de prioridad media y después las de baja. Una vez realizada la tarea se tacha. Esto puede traer un problema que las tareas de baja prioridad pueden que nunca lleguen a ejecutarse. y permanezcan en la lista para siempre. Para solucionar esto, se puede asignar alta prioridad a las tareas más antiguas.

                                            Gestión de la memoria principal
La Memoria es una gran tabla de palabras o bytes que se referencian cada una mediante una dirección única. Este almacén de datos de rápido accesos es compartido por la CPU y los dispositivos de E/S, es volátil y pierde su contenido en los fallos del sistema. El SO es el responsable de:
§  Conocer qué partes de la memoria están siendo utilizadas y por quién.
§  Decidir qué procesos se cargarán en memoria cuando haya espacio disponible.
§  Asignar y reclamar espacio de memoria cuando sea necesario.

                                          Gestión del almacenamiento secundario
Un sistema de almacenamiento secundario es necesario, ya que la memoria principal (almacenamiento primario) es volátil y además muy pequeña para almacenar todos los programas y datos. También es necesario mantener los datos que no convenga mantener en la memoria principal. El SO se encarga de:
§  Planificar los discos.
§  Gestionar el espacio libre.
§  Asignar el almacenamiento.

                                                            El sistema de E/S
Consiste en un sistema de almacenamiento temporal (caché), una interfaz de manejadores de dispositivos y otra para dispositivos concretos. El sistema operativo debe gestionar el almacenamiento temporal de E/S y servir las interrupciones de los dispositivos de E/S.

                                                            Sistema de archivos
Los archivos son colecciones de información relacionada, definidas por sus creadores. Éstos almacenan programas (en código fuente y objeto) y datos tales como imágenes, textos, información de bases de datos, etc. El SO es responsable de:
§  Construir y eliminar archivos y directorios.
§  Ofrecer funciones para manipular archivos y directorios.
§  Establecer la correspondencia entre archivos y unidades de almacenamiento.
§  Realizar copias de seguridad de archivos.
Existen diferentes Sistemas de Archivos, es decir, existen diferentes formas de organizar la información que se almacena en las memorias (normalmente discos) de los ordenadores. Por ejemplo, existen los sistemas de archivos FAT, FAT32, EXT3, NTFS, XFS, etc.
Desde el punto de vista del usuario estas diferencias pueden parecer insignificantes a primera vista, sin embargo, existen diferencias muy importantes. Por ejemplo, los sistemas de ficheros FAT32 y NTFS, que se utilizan fundamentalmente en sistemas operativos de Microsoft, tienen una gran diferencia para un usuario que utilice una base de datos con bastante información ya que el tamaño máximo de un fichero con un Sistema de Archivos FAT32 está limitado a 4 gigabytes, sin embargo, en un sistema NTFS el tamaño es considerablemente mayor.

                                                     Sistemas de protección
Mecanismo que controla el acceso de los programas o los usuarios a los recursos del sistema. El SO se encarga de:
§  Distinguir entre uso autorizado y no autorizado.
§  Especificar los controles de seguridad a realizar.
§  Forzar el uso de estos mecanismos de protección.

                                                     Sistema de comunicaciones
Para mantener las comunicaciones con otros sistemas es necesario poder controlar el envío y recepción de información a través de las interfaces de red. También hay que crear y mantener puntos de comunicación que sirvan a las aplicaciones para enviar y recibir información, y crear y mantener conexiones virtuales entre aplicaciones que están ejecutándose localmente y otras que lo hacen remotamente.
Programas de sistema
Son aplicaciones de utilidad que se suministran con el SO pero no forman parte de él. Ofrecen un entorno útil para el desarrollo y ejecución de programas, siendo algunas de las tareas que realizan:
§  Manipulación y modificación de archivos.
§  Información del estado del sistema.
§  Soporte a lenguajes de programación.
§  Comunicaciones.

                                                             Gestor de recursos
Como gestor de recursos, el Sistema Operativo administra:
§  La CPU (Unidad Central de Proceso, donde está alojado el microprocesador).
§  Los dispositivos de E/S (entrada y salida)
§  La memoria principal (o de acceso directo).
§  Los discos (o memoria secundaria).
§  Los procesos (o programas en ejecución).
§  y en general todos los recursos del sistema.





·                     Interpreta los comandos que permiten al usuario comunicarse con el ordenador.
·                     Coordina y manipula el hardware de la computadora, como la memoria, las impresoras, las unidades de disco, el teclado o el mouse.
·                     Organiza los archivos en diversos dispositivos de almacenamiento, como discos flexibles, discos duros, discos compactos o cintas magnéticas.
·                     Gestiona los errores de hardware y la pérdida de datos.
·                     Servir de base para la creación del software logrando que equipos de marcas distintas funcionen de manera análoga, salvando las diferencias existentes entre ambos.
·                     Configura el entorno para el uso del software y los periféricos; dependiendo del tipo de máquina que se emplea, debe establecerse en forma lógica la disposición y características del equipo. Como por ejemplo, una microcomputadora tiene físicamente dos unidades de disco, puede simular el uso de otras unidades de disco, que pueden ser virtuales utilizando parte de la memoria principal para tal fin. En caso de estar conectado a una red, el sistema operativo se convierte en la plataforma de trabajo de los usuarios y es este quien controla los elementos o recursos que comparten. De igual forma, provee de protección a la información que almacena.






Con el paso del tiempo, los Sistemas Operativos fueron clasificándose de diferentes maneras, dependiendo del uso o de la aplicación que se les daba. A continuación se mostrarán diversos tipos de Sistemas Operativos que existen en la actualidad, con algunas de sus características:

Sistemas Operativos de multiprogramación (o Sistemas Operativos de multitarea).

Es el modo de funcionamiento disponible en algunos sistemas operativos, mediante el cual una computadora procesa varias tareas al mismo tiempo. Existen varios tipos de multitareas. La conmutación de contextos (context Switching) es un tipo muy simple de multitarea en el que dos o más aplicaciones se cargan al mismo tiempo, pero en el que solo se esta procesando la aplicación que se encuentra en primer plano (la que ve el usuario). Para activar otra tarea que se encuentre en segundo plano, el usuario debe traer al primer plano la ventana o pantalla que contenga esa aplicación. En la multitarea cooperativa, la que se utiliza en el sistema operativo Macintosh, las tareas en segundo plano reciben tiempo de procesado durante los tiempos muertos de la tarea que se encuentra en primer plano (por ejemplo, cuando esta aplicación esta esperando información del usuario), y siempre que esta aplicación lo permita. En los sistemas multitarea de tiempo compartido, como OS/2, cada tarea recibe la atención del microprocesador durante una fracción de segundo. Para mantener el sistema en orden, cada tarea recibe un nivel de prioridad o se procesa en orden secuencial. Dado que el sentido temporal del usuario es mucho más lento que la velocidad de procesamiento del ordenador, las operaciones de multitarea en tiempo compartido parecen ser simultáneas.


Sistema Operativo Monotareas.

Los sistemas operativos monotareas son más primitivos y es todo lo contrario al visto anteriormente, es decir, solo pueden manejar un proceso en cada momento o que solo puede ejecutar las tareas de una en una. Por ejemplo cuando la computadora esta imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se termine la impresión.


Sistema Operativo Monousuario.

Los sistemas monousuarios son aquellos que nada más puede atender a un solo usuario, gracias a las limitaciones creadas por el hardware, los programas o el tipo de aplicación que se este ejecutando. Estos tipos de sistemas son muy simples, porque todos los dispositivos de entrada, salida y control dependen de la tarea que se esta utilizando, esto quiere decir, que las instrucciones que se dan, son procesadas de inmediato; ya que existe un solo usuario. Y están orientados principalmente por los microcomputadores.



Sistema Operativo Multiusuario.

Es todo lo contrario a monousuario; y en esta categoría se encuentran todos los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que comparten mismos recursos. Este tipo de sistemas se emplean especialmente en redes.


Sistemas Operativos distribuidos.

Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores esté en un equipo o en diferentes, en este caso es trasparente para el usuario. Existen dos esquemas básicos de éstos. Un sistema fuertemente acoplado es a es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema débilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local.

Sistemas Operativos de red

Son aquellos sistemas que mantienen a dos o más computadoras unidas através de algún medio de comunicación (físico o no), con el objetivo primordial de poder compartir los diferentes recursos y la información del sistema.
El primer Sistema Operativo de red estaba enfocado a equipos con un procesador Motorola 68000, pasando posteriormente a procesadores Intel como Novell Netware. Los Sistemas Operativos de red mas ampliamente usados son: Novell Netware, Personal Netware, LAN Manager, Windows NT Server, UNIX, LANtastic.



A finales de los 40's el uso de computadora estaba restringido a aquellas empresas o instituciones que podían pagar su alto precio, y no existían los sistemas operativos. En su lugar, el programador debía tener un conocimiento y contacto profundo con el hardware, y en el infortunado caso de que su programa fallara, debía examinar los valores de los registros y páneles de luces indicadoras del estado de la computadora para determinar la causa del fallo y poder corregir su programa, además de enfrentarse nuevamente a los procedimientos de apartar tiempo del sistema y poner a punto los compiladores, ligadores, etc; para volver acorrer su programa, es decir, enfrentaba el problema del procesamiento serial ( serial processing ). 

La importancia de los sistemas operativos nace históricamente desde los 50's, cuando se hizo evidente que el operar una computadora por medio de tableros enchufables en la primera generación y luego por medio del trabajo en lote en la segunda generación se podía mejorar notoriamente, pues el operador realizaba siempre una secuencia de pasos repetitivos, lo cual es una de las características contempladas en la definición de lo que es un programa. Es decir, se comenzó a ver que las tareas mismas del operador podían plasmarse en un programa, el cual a través del tiempo y por su enorme complejidad se le llamó "Sistema Operativo". Así, tenemos entre los primeros sistemas operativos al Fortran Monitor System ( FMS ) e IBSYS.

Posteriormente, en la tercera generación de computadoras nace uno de los primeros sistemas operativos con la filosofía de administrar una familia de computadoras: el OS/360 de IBM. Fue este un proyecto tan novedoso y ambicioso que enfrentó por primera vez una serie de problemas conflictivos debido a que anteriormente las computadoras eran creadas para dos propósitos en general: el comercial y el científico. Así, al tratar de crear un solosistema operativo para computadoras que podían dedicarse a un propósito, al otro o ambos, puso en evidencia la problemática del trabajo en equiposde análisis, diseño e implantación de sistemas grandes.

El resultado fue un sistema del cual uno de sus mismos diseñadores patentizó su opinión en la portada de un libro: una horda de bestias prehistóricas atascadas en un foso de brea. Surge también en la tercera generación de computadoras el concepto de la multiprogramación, porque debido al alto costo de las computadoras eranecesario idear un esquema de trabajo que mantuviese a launidad central de procesamiento más tiempo ocupada, así como el encolado (spooling ) detrabajos para su lectura hacia los lugares libres de memoria o la escritura de resultados. Sin embargo, se puede afirmar que los sistemas durante la tercera generación siguieron siendo básicamente sistemas de lote.

En la cuarta generación la electrónica avanza hacia la integración a gran escala, pudiendo crear circuitos con miles de transistores en un centímetro cuadrado de silicón y ya es posible hablar de las computadoraspersonales y las estaciones de trabajo. Surgen los conceptos de interfaces amigables intentando así atraer alpúblico en general al uso de las computadoras como herramientas cotidianas. Se hacen populares el MS-DOS y UNIX en estasmáquinas. También es común encontrar clones de computadoras personales y unamultitud de empresas pequeñas ensamblándolas por todo el mundo. 

Para mediados de los 80's, comienza el auge de las redes de computadoras y la necesidad de sistemas operativos en red y sistemas operativos distribuidos. La red mundial Internet se va haciendo accesible a toda clase de instituciones y se comienzan a dar muchas soluciones ( y problemas ) al querer hacer convivir recursos residentes en computadoras con sistemas operativos diferentes. Para los 90's el paradigma de la programaciónorientada a objetos cobra auge, así como el manejo de objetos desde los sistemas operativos. Las aplicaciones intentan crearse para ser ejecutadas en una plataforma específica y poder ver sus resultados en la pantalla o monitor de otra diferente (por ejemplo, ejecutar una simulación en una máquinacon UNIX y ver los resultados en otra con DOS ). Los niveles de interacción se van haciendo cada vez más profundos.


¿Saben Ustedes que es un SISTEMA OPERATIVO?

§   Un Sistema Operativo (SO) es el software básico de una computadora que provee una interfaz entre el resto de programas del ordenador, los dispositivos hardware y el usuario.

§   Las funciones básicas del Sistema Operativo son administrar los recursos de la máquina, coordinar el hardware y organizar archivos y directorios en dispositivos de almacenamiento.
§   Los Sistemas Operativos más utilizados son Dos, Windows, Linux y Mac. Algunos SO ya vienen con un navegador integrado, como Windows que trae el navegador Internet Explorer.