miércoles, 28 de septiembre de 2011

Posix


Posix (Portable Operating System Interface)


El termino fue sugerido por Richard Stallman en respuesta a la IEEE que buscaba un acrónimo fácil de recordar, la traducción mas acercada es Interfaz de Sistema Operativo Portable.

Estas POSIX son estandares de la IEEE para para formalizar interfaces en los sistemas operativos, surgió como una necesidad de estandarizar la API´s, esto quiere decir estandarizar programas que pudieran funcionar en diferentes Sistemas Operativos.

Las las Posix vienen acompañadas de pruebas llamadas PCTS, que significa Conjunto de conformación de pruebas Posix, estas pruebas se le aplica al software para poder considerarlo como parte de este conjunto de aplicaciones.

Ya que la IEEE aplicó un alto costo a la documentación de Posix surgió un nuevo estandar creado en base a la Single Unix Specification que es una alternativa al Posix.

Algunos de los sistemas que son totalmente compatibles con estandares Posix

  • A/UX
  • AIX
  • BSD/OS
  • DSPnano
  • HP-UX
  • INTEGRITY
  • IRIX
  • LynxOS
  • Mac OS X v10.5 en Procesadores Intel.
  • MINIX
  • MPE/iX
  • QNX (IEEE Std. 1003.13-2003 PSE52;
  • RTEMS (POSIX 1003.1-2003 Profile 52)
  • Solaris
  • Unison RTOS
  • UnixWare
  • velOSity
  • VxWorks (IEEE Std. 1003.13-2003 PSE52;

Algunos sistemas que son compatibles en su mayoría con estandares Posix

  • BeOS / Haiku
  • FreeBSD
  • GNU/Linux (la mayor parte de las distribuciones)
  • Contiki
  • NetBSD
  • Nucleus RTOS
  • OpenBSD
  • OpenSolaris
  • PikeOS
  • RTOS (para ciertos sistemas con particiones PSE51 y PSE52 opcionales)
  • RTEMS – Soporte API POSIX diseñado para IEEE Std. 1003.13-2003 PSE52
  • Sanos
  • SkyOS
  • Syllable
  • VSTa




      miércoles, 21 de septiembre de 2011

      Programa Arbol


      Código del programa

      Código Corriendo



      Funciones Nuevas

      pstree

      pstree [ -a ] [ -c ] [ -h | -H pid ] [ -l ] [ -n ] [ -p ] [ -u ] [ -G | -U ] [pid|usuario ]

      pstree -V

      Descripción

      pstree muestra los procesos en ejecución como un árbol. El árbol tiene sus raíces en cualquiera de pid o init si pid es omitido. Si un nombre de usuario se especifica, todos los árboles con raíz en los procesos de proceso de propiedad de dicho usuario se muestran.


      popen

      Inicia flujos de tubería o de un proceso

      Descripción

      El popen () la función se ejecuta el comando especificado en la cadena de mando . Se crea un canal entre el programa de llamada y el comando que se ejecuta, y devuelve un puntero a una corriente que se puede utilizar para leer bien o escribir en la tubería.

      Si la aplicación soporta la referencia XCU pliego de condiciones, el entorno del comando ejecutado será como si un proceso hijo se crearon en el popen () llamada con tenedor () , y el niño invocó la mierda de servicios públicos mediante la llamada:

      execl ( vía shell "sh", "-c", comando , (char *) 0);


      fgets

      Obtener cadena de la corriente. Lee caracteres de flujo y las almacena como una cadena C en str hasta que ( num -1) caracteres han sido leídos o bien una nueva línea o el final de su archivo que se alcance, lo que ocurra primero.

      Un carácter de nueva línea hace fgets , deje de leer pero se considera un carácter válido y por lo tanto se incluye en la cadena de copia de str .

      Un carácter nulo se añade automáticamente a str después de los caracteres de lectura para indicar el final de la cadena C.


      Parámetros

      str Puntero a una matriz de caracteres s donde se almacena la cadena de lectura.

      num El número máximo de caracteres a leer (incluyendo la final nula caracteres). Por lo general, la longitud de la matriz pasada como str se utiliza.

      stream Puntero a un fichero objeto que identifica la corriente, donde los personajes se leen.

      Para leer de la entrada estándar, entrada estándar se puede utilizar para este parámetro.


      Preguntas

      ¿Porque se repite las secuencias?

      Porque seguimos trabajando con ciclos lo cuales nos regresa los Id de los procesos por medio de la función getpid

      ¿Qué observas?

      El árbol esta formado por los procesos padres e hijos obtenidos del sistema por medio del pid combinado con la función pstree.

      ¿Por qué?

      Ya que la función pstree extrae el árbol de procesos, el programa coloca en pantalla el Id de los procesos ejecutados por el mismo, con ayuda de fork que utiliza los multiprocesos (hilos).


      lunes, 19 de septiembre de 2011

      Programa PID




      Código



      Cabeceras Nuevas



      Instrucciones Nuevas

      pid_t

      El pid_t tipo de datos representa los identificadores de proceso. Usted puede obtener el ID del proceso de un proceso mediante una llamada getpid . La función getppid devuelve el ID del proceso del padre del proceso actual (esto también es conocido como el ID del proceso padre ). Su programa debe incluir los archivos de cabecera `unistd.h ' y `sys / types.h" para usar estas funciones.

      Tipo de datos: pid_t
      El pid_t tipo de datos es un tipo entero con signo que es capaz de representar un proceso ID. En la biblioteca de GNU, se trata de un int .

      Función: pid_t getpid (void)
      El getpid devuelve el ID del proceso del proceso actual.

      Función: pid_t getppid (void)
      El getppid función devuelve el ID del proceso del padre del proceso actual.


      fork()

      A la hora de crear procesos linux provee de dos funciones para dicho cometido, la función clone() y la función fork(). Ambas crean un nuevo proceso a partir del proceso padre pero de una manera distinta.
      Cuando utilizamos la llamada al sistema fork, el proceso hijo creado es una copia exacta del padre (salvo por el PID y la memoria que ocupa). Al proceso hijo se le facilita una copia de las variables del proceso padre y de los descriptores de fichero. Es importante destacar que las variables del proceso hijo son una copia de las del padre (no se refieren físicamente a la misma variable), por lo que modificar una variable en uno de los procesos no se refleja en el otro.


      srandom

      Esta función inicializa el generador de números aleatorios mediante el establecimiento de los valores de la tabla de estado sobre la base de la semilla . A continuación, los ciclos de la información de estado para un número determinado de veces para deshacerse de cualquier dependencia inicial. La información de la tabla Estado afecta a los números devueltos al azar de la posterior random ()


      Preguntas:

      1.- ¿Por qué aparecen mensajes repetidos?

      Por las iteraciones que hace el ciclo for que son tres veces, además mientras el proceso no devuelva un PID diferente de cero se sigue ejecutando.

      2.- ¿Qué observas?

      Que los números devueltos por las funciones getpid() y getppid() son los números de Id de los procesos actual y el padre del actual.

      3.- ¿Porqué?

      Los Id cambian porque los procesos son distintos y procesados en hilos, por eso los números se repiten cuando el proceso vuelve a funcionar








      viernes, 9 de septiembre de 2011

      Google Chrome OS y Android



      ¿Qué es el S.O. Chrome?

      Es un sistema que, partiendo de Linux, permite iniciar un ordenador en un corto espacio de tiempo, estimado en unos 7 segundos. Una vez iniciado el ordenador el usuario tendrá la posibilidad de leer el correo, navegar con Google Chrome y unas pocas posibilidades mas. Como verán está enfocado al usuario web, de hecho se deja de almacenar la información en el disco duro del ordenador; se almacena en servidores de Google. Los netbooks actuales son los ordenadores ideales para este sistema. Si necesitas aplicaciones adicionales a las descritas entonces no es un S.O. adecuado para tí.

      Ventajas

      • Se inicia más rápido que cualquier otro sistema operativo.
      • Se puede instalar en ordenadores con pocos recursos, a partir de la familia de microprocesadores 486.
      • Se limita mucho la posibilidad de "colgarse" el ordenador, al tener apenas servicios ejecutándose de forma concurrente.
      • Al estar enfocado a Internet tiene servicios que en otros sistemas operativos no llegan a tener la misma calidad.
      • Es muy fácil de usar.
      • Es gratuito.


      Desventajas

      • No se pueden usar programas de sistemas Mac o Windows.
      • Usuarios acostumbrados a utilizar diferentes aplicaciones a las descritas anteriormente verán su ordenador como un móvil grande con Android (el sistema operativo que lanzó Google para móviles).
      • Sólo se pueden utilizar las aplicaciones estando conectado a Internet.
      • Privacidad. Los ficheros que se guardaban en el disco duro (canciones, películas, correos electrónicos, histórico de navegación...) son almacenados en los servidores de Google.

      El sistema operativo Chrome OS es un sistema operativo de código abierto desarrollado para usuarios que pasan la mayoría del tiempo en la Web. Su diseño se basa en los siguientes principios clave:

      Velocidad: se acabaron las largas esperas. Los Chromebook incluyen la tecnología del sistema operativo Chrome OS y se inician en unos ocho segundos. Tus sitios web favoritos se pueden cargar rápidamente, funcionarán a la perfección y serán compatibles con Adobe Flash y con los últimos estándares web.

      Sencillez: el objetivo del sistema operativo es optimizar tu experiencia web, por lo que los Chromebook resultan tan fáciles de utilizar como el navegador Google Chrome que integran.

      Seguridad: a diferencia de los ordenadores tradicionales, los Chromebook mejoran con el tiempo. Una vez que lo enciendes, tu Chromebook se actualiza automáticamente, por lo que siempre tendrás la versión más reciente del sistema operativo sin tener que hacer nada.

      Además, los Chromebook utilizan el primer sistema operativo para clientes diseñado desde cero para ofrecer protección frente a las continuas amenazas de los virus y del software malintencionado. Estos ordenadores siguen el principio de la "defensa en profundidad" para ofrecer varios niveles de protección, incluidos los de arranque verificado, encriptación de datos y zona de pruebas. Más información sobre la seguridad

      http://www.youtube.com/watch?v=cb1QFa0C3SM


      ¿Qué es Android?


      Android en un Sistema Operativo además de una plataforma de Software basada en el núcleo de Linux. Diseñada en un principio para dispositivos móviles, Android permite controlar dispositivos por medio de bibliotecas desarrolladlas o adaptados por Google mediante el lenguaje de programación Java.

      Android es una plataforma de código abierto. Esto quiere decir, que cualquier desarrollador puede crear y desarrollar aplicaciones escritas con lenguaje C u otros lenguajes y compilarlas a código nativo de ARM (API de Android).

      Inicialmente, Android fue desarrollada por Google Inc. aunque poco después se unió Open Handset Alliance, un consorcio de 48 compañías de Hardware, Software y telecomunicaciones, las cuales llegaron a un acuerdo para promocionar los estándares de códigos abiertos para dispositivos móviles.

      Google sin embargo, ha sido quien ha publicado la mayoría del código fuente de Android bajo la licencia de Software Apache, una licencia de software libre y de código abierto a cualquier desarrollador.

      Notas Sobre Android

      Android podría ser una competencia directa a los sistemas operativos móviles como Windows Mobile, Symbian, iPhone OS 3.0, etc. aunque también podría aminorizar o reducir la situación actual de Microsoft y sus Sistemas Operativos Windows.

      ¿Por qué digo esto? HP Inc. uno de los gigantes en la fabricación y desarrollo de Ordenadores más importantes del mundo, ha declarado que se están planteando la implantación del Sistema Operativo Android en Ultraportátiles o Netbooks, además, se habla de que pronto podremos ver un PC de sobremesa con Android de manos de HP.

      La posibilidad de que esto ocurra, depende de los resultados que obtengan en las pruebas de rendimiento y prestaciones de Android en estos equipos.

      http://www.youtube.com/watch?v=Xic_jG9jJ8g


      Fuentes de Información

      http://sistemaoperativochrome.es/

      http://www.configurarequipos.com/doc1107.html