martes, 23 de agosto de 2011

Threads

En los sistemas operativos tradicionales, cada proceso tiene su propio espacio de direcciones y un único flujo (hilo) de control. Sin embargo, hay situaciones en las que es deseable contar con múltiples hilos de control (threads) en el mismo espacio de direcciones ejecutándose quasi-paralelamente, como si fueran procesos separados.

El Modelo de los Threads
Se basa en dos conceptos: el agrupamiento de los recursos y la ejecución secuencial de un programa.

Una forma de ver un proceso es que es una manera de agrupar juntos recursos relacionados.
Un proceso tiene un espacio de direcciones conteniendo código y datos del programa, así como otros recursos. Poniendo juntos todos esos recursos en la forma de un proceso, es posible gestionarlos más fácilmente.
El otro concepto que incluye un proceso es el de hilo de ejecución (thread). Aunque un thread debe ejecutarse en algún proceso, el thread y su proceso son conceptos diferentes y pueden tratarse de forma separada. Los procesos se utilizan para agrupar recursos juntos; los threads son las entidades planificadas para su ejecución en la CPU.

ARQUITECTURAS RISC Y CISC


Para tener en cuenta:
Concepto y características

Un microprocesador es un dispositivo digital diseñado para manipular información
Tienen 3 buses
  •   Datos: Contiene el flujo de información
  •   Direcciones: Controla la posición actual en memoria
  •   Control: Regula el flujo de información para evitar conflictos
Arquitectura
  •   La arquitectura de un procesador consiste en el conjunto de caracteristicas que lo identifican.
  • Describe de manera resumida las capacidades y posibilidades de operación del microprocesador.
  • Se clasifican según Hardware y Software

jueves, 18 de agosto de 2011

Ejemplos de llamadas al sistema

El ejemplo 1, en la opción notificar procesos, permite cerrar un proceso por nombre o handle usando la funcion TerminateProcess

http://www.mediafire.com/download.php?9jfj5pko7jfuz9v


En el ejemplo 2 hay una opción que desloguea el usuario actual, esta función ExitWindows() utiliza una señal llamada CTRL_LOGOFF_EVENT. Para correr este ejemplo necesita un compilador de c++


http://www.mediafire.com/download.php?02giiyw1qgg8u4w

martes, 16 de agosto de 2011

SEÑALES

Una señal es una interrupción de software. Es generado por el sistema operativo en respuesta a algún evento que se ha producido en el código o relacionado con el código. No le dicen al sistema operativo qué hacer cuando se produce una señal, no hay una acción predeterminada, se espera q el sistema operativo modifique su ejecución normal cuando se le manda una señal a un proceso, siempre que se  haya establecido anteriormente un procedimiento para tratar esa señal, este se ejecutara y si no se  estableció nada previamente se ejecuta la acción por defecto para esa señal. Por lo general, se usa para abortar el programa.

Una de las razones para hablar de las señales se debe a la forma en que trabaja  la llamada de envío al escribir datos en un socket. Dado que el proceso de escritura de datos a otra máquina lleva su tiempo, se devuelve la llamada antes de enviar la transferencia de datos. Por lo tanto, en la mayoría de los casos, el sistema operativo sólo conoce el estado después de que los datos no se han enviado correctamente. 

La manipulación de señales es vulnerable a que se produzca un estado de espera, pues las señales son asíncronas y puede ocurrir que llegue otra señal (incluso del mismo tipo) al proceso mientras transcurre la ejecución de la función que manipula la señal.

Llamadas al sistema

Las llamadas al sistema son intermediarias entre el sistema operativo y el programa en ejecución, aunque de un sistema operativo a otro esta interfaz varía, los conceptos subyacentes tienden a ser similares.
Cuando un computador tiene un único procesador solo puede ejecutar una instrucción a la vez. Entonces cuando este computador está ejecutando un programa del usuario y necesita un servicio del sistema, debe
vez. Cuando este computador está ejecutando un programa del usuario y necesita un servicio del sistema, debe hacer una llamada al sistema para transferir el control al sistema operativo.

Existen 4 tipos de llamadas al sistema:
*Control de procesos
*Gestión de ficheros
*Gestión de entrada y salida de información
*Otros servicios

ALGUNAS LLAMADAS AL SISTEMA



Control de Procesos


Control de Procesos:
El proceso se define como un programa en ejecución. Los programas son un conjunto de archivos que están almacenados en un dispositivo de almacenamiento y que por sí solos no tienen ningún funcionamiento, pero cuando ese conjunto de archivos se ejecutan pasan a ser un proceso.
Los procesos se pueden crear de varias formas:

-Cuando se arranca el sistema operativo, éste ejecuta procesos necesarios para llevar a cabo distintas funciones.
-Por petición de un usuario del sistema, escribiendo una línea de comandos o pulsando encima de algún ícono.
-Cuando un proceso hace una llamada al sistema para crear un nuevo proceso. En Windows se utiliza la función CreateProcess().

martes, 9 de agosto de 2011

Carateristicas de Windows XP



CARACTERÍSTICAS MÁS IMPORTANTES

  • Ambiente gráfico
  • Secuencias más rápidas de inicio y de hibernación.
  • Capacidad del sistema operativo de desconectar un dispositivo externo, de instalar nuevas aplicaciones y controladores sin necesidad de reiniciar.
  • Una nueva interfaz de uso más fácil, incluyendo herramientas para el desarrollo de temas de escritorio.
  • Uso de varias cuentas, lo que permite que un usuario guarde el estado actual y aplicaciones abiertos en su escritorio y permita que otro usuario abra una sesión sin perder esa información.
  • ClearType, diseñado para mejorar legibilidad del texto encendido en pantallas de cristal líquido (LCD) y monitores similares.
  • Escritorio Remoto, que permite a los usuarios abrir una sesión con una computadora que funciona con Windows XP a través de una red o Internet, teniendo acceso a sus usos, archivos, impresoras, y dispositivos.
  • Soporte para la mayoría de módems ADSL y conexiones wireless, así como el establecimiento de una red FireWire.


CARACTERÍSTICAS GENERALES DEL SISTEMA



domingo, 7 de agosto de 2011

Resumen del capítulo 1 del libro Operating System Principles (Per Brinch Hansen).

Un Resumen de los Sistemas operativos.

El propósito de un sistema operativo.

Los computadores aquí son descritos no como personales, sino más bien como equipos diseñados para que muchas personas compartan la información y programas instalados en una misma máquina. El papel de los sistemas operativos en esta época (la década de los 70`s) es repartir adecuadamente entre todos los usuarios los recursos y datos que maneja el computador, además de llevar una contabilidad del tiempo de uso de cada uno de los recursos que más se usan. Otra tarea del sistema operativo es proteger la información y a los usuarios de programas u otros usuarios mal intencionados.
Se define varios lenguajes dentro del sistema operativo, uno de estos es el lenguaje “Job Control”, para que el usuario se identifique y diga que datos y recursos utilizará. Otro lenguaje es “Virtual Machine”, el cual sirve para que el usuario final interactúe con el computador sin afectar directamente la máquina física, así cada persona trabajará sin afectar a los otros. En aquella época los sistemas operativos eran más complicados en su manejo, poco confiables y muy difíciles de modificar (cosa que no ha cambiado mucho con los sistemas por los que se paga).

Historia de Windows XP


Microsoft intentaba unificar las dos grandes vertientes de Windows: la serie W9X y la serie NT. Mencionaremos primero un poco estas dos series totalmente diferentes de Windows, el por qué nacieron y la necesidad actual de converger ambos sistemas. 

El primer sistema operativo que la compañía lanzó al público fue una variante de Unix en el año 1979. Adquirido de AT&T a través de una licencia de distribución, Microsoft le apodó Xenix.

El sistema operativo MS-DOS de Microsoft salió en el año 82 cuando surgió el primer ordenador de sobremesa: el IBM PC.

IBM propuso al mercado la creación de un sistema operativo. Digital (que en aquel entonces tenía el sistema operativo CPM para otro tipo de ordenadores que eran predecesores del 8088) decidió avanzar en el desarrollo de dos alternativas:

* El CCPM (Concurrent CPM)
* Una versión orientada a DOS (Disk Operating System).

Al final, Digital se decidió por el CCPM.

Los ingenieros de software de Digital, son los únicos en el mundo del software que tiene derechos de autor como personas físicas. Si un ingeniero de Digital se va de la empresa, se va perfectamente con sus desarrollos y sus patentes.

Este fue el caso de un Ingeniero (el que había empezado a desarrollar el DOS) que se fue, unos dicen que despechado y otras lenguas dicen que "comprado" por la incipiente Microsoft.

Independientemente de que lo anterior sea toda la verdad o esté desfigurada por los años, lo que sí es cierto es que el primer DOS fue proyecto de Digital y que lo retomó Microsoft.

A IBM le urgía el tener un sistema operativo (el que fuese) para la fecha de lanzamiento de su primer PC. Bill Gates, desde luego como gran negociante y con gran visión de futuro, firmó el acuerdo con IBM y se comprometió a tener dicho DOS seis meses antes de las previsiones que Digital tenía para su CCPM. Igualmente IBM cometió un error garrafal: no supo valorar el software, era mucho más importante el hardware. Por ello, Bill Gates consiguió un contrato en el cual Microsoft seguía teniendo todos los derechos sobre el sistema operativo.

Con ello, y en las fechas previstas, se lanzó el MS-DOS 1.0. Evidentemente 6 meses más tarde salió el CCPM 86. Pero salió tarde. Y a pesar de ser infinitamente mejor que el MS-DOS 1.0 no llegó a consolidarse. El CCPM 86, en su primera versión, ya admitía multitarea (4 tareas simultáneas), el MSDOS nunca lo soportó.

Posteriormente el MS-DOS continuó su evolución hasta la versión 6.22. En las versiones 4 (y superiores) del MS-DOS, ya se implementó un soporte para hacer reentrante al DOS, lo cual es requisito previo para la multitarea.

Con este soporte, empezó a desarrollarse por parte de Microsoft un sistema operativo gráfico (interfaz gráfica sobre dicho MS-DOS) que se denominó Windows.

En agosto de 1985, Microsoft e IBM colaboraron en el desarrollo de una familia de sistemas operativos diferentes llamados OS2. El 20 de noviembre de 1985, Microsoft lanzó la primera versión de su sistema operativo Microsoft Windows.

En 6 meses las ventas superaron los 2 millones de unidades. Esto suponía que Windows ya generaba mayores beneficios que OS2, por lo que la compañía decidió mover recursos desde OS2 a Windows. En los siguientes años OS2 decayó, y Windows fue rápidamente favorecido como plataforma para PC.

Llegado al punto de la existencia de Windows 3.1, Microsoft ya tenía definido el API (conjunto de funciones) de programación de Windows prácticamente por completo y bastante depurado. Únicamente existía dos "pequeños" problemas: todo el subsistema era de 16 bits y además se apoyaba sobre MS-DOS.

La multitarea no era real sino que los programas debían ceder el control al sistema operativo y éste, una vez que tomaba el control, daba paso a la siguiente tarea que tenía encolada. Todo esto se realizaba muchas veces por segundo si las aplicaciones cedían control, dando la sensación de multitarea real.

Por ello, Microsoft se planteó el realizar un verdadero sistema operativo. 32 bits y además utilizando las características que le daban los nuevos procesadores de Intel. Microsoft estaba pensando ya en Windows NT.

Y curiosamente, otro ingeniero de Digital "desertó" de la empresa y contrató con Microsoft. Este ingeniero, al igual que el anterior (padre del MS-DOS), se llevó sus "patentes" de Digital.

Al fijarse con detalle en el Kernel de NT, se puede ver que el sistema de archivos nativo ya deja de ser FAT y aparece un nuevo sistema de archivos: el NTFS. Este sistema es "idéntico" al que utilizan los ordenadores de tamaño medio-grande de Digital: los VAX (de aquel entonces). Este  ingeniero "aportó" a Microsoft la tecnología que le faltaba. Esto no solo fue a nivel del sistema de archivos sino también a nivel de la ejecución de tareas, siendo ya multitarea real basada en prioridades (idéntica a la que tienen los sistemas VMS de Digital).

Con esto estaba ya constituido el núcleo. Simplemente quedaba implementar el API de 16 bits de Windows 3.1 y convertirlo en 32 bits. Así salió al mercado el primer Windows NT, el NT 3.1 que rápidamente evolucionó al 3.5 y con unas modificaciones en el núcleo para darle velocidad, evolucionó al Windows NT4.

Microsoft empezó a experimentar con la versión de Windows 3.11 (para trabajo en grupo), la conectividad de red y el soporte en redes así como los primeros pasos para algunos subsistemas de 32 bits dentro del propio Windows (como por ejemplo, acceso a disco en 32 bits y poco más). Igualmente, creó una capa API de 32 que era capaz de instalarse sobre Windows 3.1 o 3.11 y daba soporte a programas de 32 bits. Este subsistema, no era un subsistema independiente, sino que estaba "montado" por encima del de 16 bits cediendo control a él cuando era necesario. Es decir, era un recubrimiento del API de 16 bits.

Así surgió el primer Windows de la serie 9X. Windows 95. Realmente no sigue siendo más que una interfaz gráfica sobre MS-DOS, pero con las siguientes mejoras:

* Subsistema de drivers de 32 bits.
* API de 32 bits totalmente integrada.
* Incluye el TCP/IP como transporte nativo de red por primera vez en la historia de Microsoft
* Interfaz gráfica mejorada y mucho más amigable que la de versiones anteriores.

Entre sus novedades también se destacan el nuevo Menú Inicio, un explorador de archivos mejorado, compatibilidad del Hardware Plug and Play, y soporte mejorado para multimedia y juegos.

La evolución de W95, fue Windows 98. La novedad en él fue la implementación de la nueva tecnología de drivers WDM (Windows Driver Model). Los fabricantes que optasen por utilizar esta tecnología se podían hacer independientes del sistema operativo, ya que los drivers desarrollados con WDM, -si estaban correctamente desarrollados-, funcionarían también en los otros Windows (NT).

Se puede decir que prácticamente, la serie W9X murió en W98. Tanto W98 SE como ME, no aportan nada nuevo, excepto en ME que la única novedad aportada fue la utilidad System Restore y que dicha utilidad fue la prueba que posteriormente serviría para implementarlo correctamente en el XP. Obviando las aportaciones complementarias a nivel de multimedia, etc.,... que ya eran capaces de soportar el hardware de los nuevos equipos.

Windows 2000 surgió en un principio con la idea de refundir todos los Windows. Posteriormente esto se desestimó, haciendo evolucionar únicamente el NT 4 a un sistema más estable y totalmente PnP (se introdujo por primera vez en la serie de núcleo NT).

El 17 de febrero del 2000, nace Windows 2000, entre sus novedades, destaca el Active Directory, que permitía trabajar a las organizaciones a nivel global, con todas sus máquinas, la incorporación del Administrador de Dispositivos, Windows Media Player y aumentaba la compatibilidad de los juegos bajo Windows NT. Sin embargo, este sistema estaba pensado para uso profesional y no tuvo un uso tan extendido en los hogares como en los negocios.

En este punto de la historia, es cuando ya es necesario abandonar definitivamente los desarrollos en 16 bits y plantearse seriamente la integración en un único sistema operativo. Las tecnologías básicas ya estaban probadas y funcionando, por lo que Microsoft se embarcó en el proyecto que originalmente fue llamado Whistler.

La evolución final de W2000, y la integración con algunos de los subsistemas probados con éxito en Windows ME, así como la corrección de errores de W2000 ha sido Windows XP.

Evidentemente, Microsoft, para hacer que el gran público de consumo aceptase este sistema operativo, debía ofrecer un producto de características extraordinarias ya que algo se iba a perder: parte (poca) del software antiguo que accedía directamente al hardware, no podía funcionar en un sistema operativo con núcleo NT.

La apuesta de cambio, pasó por el desarrollo de una nueva "imagen". Pero el cambio se asume rápidamente y la imagen del escritorio, así como sus nuevos efectos visuales se aceptan rápidamente. Igualmente, había que dar nuevas funcionalidades que hiciesen que el usuario doméstico se sintiese más a gusto con Windows XP. Entre ellas, una mejora de la capacidad multimedia, capacidad de grabación básica de CD, firewall personal, soporte de voz (para versiones USA) y otras decenas de funcionalidades que hiciesen a XP un producto apetecible.

Pero no todo va a ser alabanzas. El desarrollo de Whistler ha desembocado en dos versiones con el mismo núcleo: la serie XP y la serie .NET.

Esta última, está todavía en fase de desarrollo y corresponde a las versiones servidoras de XP.

Por tanto, aparentemente, Microsoft ha decidido desintegrar de nuevo su aparente integración de Windows al sacar al mercado dos caminos totalmente diferentes del sistema operativo. Aunque es verdad que están orientados a segmentos diferentes del mercado.

La compañía tropezó con legales en marzo del 2004, cuando se emprendieron acciones legales contra Microsoft por parte de la Unión Europea por abuso dominante del mercado, tras ser juzgada, Microsoft se vio en la obligación de comercializar nuevas versiones de su sistema Windows XP. Estas nuevas versiones no incluían a Windows Media Player y se conocieron con el nombre de Windows XP Home Edition N y Windows XP Professional N.

miércoles, 3 de agosto de 2011

Prueba de página web!

Primer Post de Prueba para el blog del grupo 10 de Sistemas Operativos de la Universidad Nacional de Colombia Sede Medellín.

Integrantes: Ana María, Melissa y David.
Sistema Operativo: Windows XP