Procesos – Parte 1

Standard

Concepto de proceso

Un proceso se puede definir como un programa en ejecución, o como la unidad de procesamiento gestionada por el sistema operativo.

El sistema operativo mantiene por cada proceso una serie de estructuras de información que permiten identificar las características de este, así como los recursos que tiene asignados.

Una parte muy importante de estas informaciones se encuentra en el llamado bloque de control de proceso (BCP). El sistema operativo mantiene una tabla de procesos con todos los BCP de los procesos (estructura estática).

Los segmentos de memoria en los que residen el código y los datos del proceso se lo denomina imagen en memoria.

En UNIX, un procesos sabe quien es su padre, mientras que otros sistemas operativos como el Windows NT no la mantienen.

El entorno del proceso consiste en un conjunto de variables que se le pasan al proceso en el momento de sus creación.

Multitarea

Dependiendo del numero de procesos y de usuarios que puedan ejecutar simultáneamente, un sistema operativos puede ser.

  • Monotarea o monoproceso (un procesos en cada instante).

  • Multitarea o multiproceso (varios procesos activos a la vez).

  • Monousuario (da soporte a un solo usuario).

  • Multiusuario (tiempo compartido, soporte a varios usuarios).

Base de la multitarea

La multitarea se basa en las tres características siguientes:

  • Paralelismo real entre E/S y procesador.

  • Alternancia en los procesos de fases de E/S y procesamiento.

  • Memoria principal capaz de almacenar varios procesos.

Mientras se están realizando una operación de E/S de un proceso, se puede estar ejecutando otro proceso.

El sistema operativo entra a ejecutar al final de las fases de procesamiento y al final de las fases de entrada/salida. Esto es así puesto que las operaciones de E/S no las gobiernan directamente los procesos, sino que se limitan a pedirle al sistema operativo que ellas realice.

Proceso Nulo: El procesador no para de ejecutar nunca, este proceso consiste en un bucle infinito que no realiza ninguna operación útil.

Planificador (scheduler) forma parte del núcleo del sistema operativo. Entra en ejecución cada vez que se activa el sistema operativo y si misión es seleccionar el procesos que se va de ejecutar a continuación.

Activador (dispatcher) también forma parte del sistema operativo y su función es poner en ejecución el procesos seleccionado por el planificador. La activación del proceso consiste en copiar los registros del procesador el estado del procesador, que esta almacenado en el BCP.

Ventajas de la multitarea

  • Facilita la programación.

  • Permite prestar un buen servicio.

  • Aprovecha los tiempos muertos.

  • Aumenta el uso de la UCP.

Se denomina grado de multiprogramación al numero de procesos activos que mantiene un sistema.

En un sistema sin memoria virtual los procesos activos han de residir totalmente en memoria principal. Por tanto. el grado de multiprogramación viene limitado por el tamaño del proceso y por la memoria disponible.

En los sistemas con memoria virtual la situación es mas compleja, puesto que los procesos solo tienen en memoria principal su conjunto residente , lo que hace que quepan mas procesos.

Se denomina hiperpaginación (trashing) a la situación de alta paginación producida cuando los conjuntos residentes de los procesos son demasiado pequeños.

Se denomina conjunto residente a las paginas que un procesos tiene en memoria principal. El conjunto de trabajo de un proceso esta formado por el conjunto de paginas que un proceso esta actualmente utilizando.

Saludos…

Montar automaticamente particiones NTFS en Hardy

Standard

Como ustedes sabran, hardy solo monta el sistema de archivo actual salvo que modifiquemos el fstab, pero hoy les traigo una solución mas fácil para aquellos que andar tipiando comandos raros en consola les parece poco divertido…, la solución es ntfs-config, que se puede instalar desde synaptic, o como siempre desde consola con un simple mandato:

1
zarpele@guido-amd64 $ sudo apt-get install ntfs-config

Ahora solo nos queda habilitarlo, Aplicaciones –> Herramientas del Sistema, nos mostrará una ventana con las particiones en NTFS que existan en nuestro PC, seleccionamos las que queremos montar, e inmediatamente nos dará las opciones para dicha selección:

Y listo una vez reiniciado la maquina tendrán las tediosas particiones NTFS montadas, con todos los permisos asignados…

Saludos…

BackTrack 3.0

Standard

BackTrack es una Slackware SLAX y basado en Live CD con una colección de seguridad y herramientas forenses.

BackTrack de distribución se creó mediante la fusión de Auditor de Seguridad de Linux con WHAX (anteriormente Whoppix).

La combinación de las mejores características de ambas distribuciones, y prestando especial atención a pequeños detalles, esta es probablemente la mejor versión de una de las distribuciones a salir nunca.

Sobre la base de SLAX (Slackware), Ruta de usuario proporciona la modularidad. Esto significa que la distribución puede ser fácilmente personalizado por el usuario para incluir personal scripts, herramientas adicionales, los núcleos personalizados, etc.

Descarga 695mb
descargar

Saludos…

GNU cumple 25 años

Standard
gnu

Un 27 de septiembre de 1983 un joven miembro del MIT llamado Richard Stallman anunciaba que iba a crear un sistema tipo Unix totalmente abierto y personalizable que permitiría a cualquier persona modificarlo a su gusto y distribuirlo a quien quisiera.

25 años después de su creación Stallman sigue viendo en el proyecto la manera de continuar con el compromiso del código compartido, aunque ve peligrar la libertad que eso supone por los intereses de unos pocos que quieren mancillar el software con intereses económicos.

La Free Software Foundation ha decidido celebrar por todo lo alto este aniversario y ha contado con la participación del cómico británico Stephen Fry

Un poco de historia…

El 27 de septiembre de 1983, Richard Stallman anunció en varios grupos de noticias de Usenet el inicio del proyecto GNU que perseguía crear un sistema operativo completamente libre. Al anuncio original siguió, en 1985, la publicación del Manifiesto GNU, en el cual Stallman declaraba sus intenciones y motivaciones para crear una alternativa libre al sistema operativo Unix, al que denominó GNU (GNU No es Unix), pronunciado de forma parecida a ñú, en inglés (de ahí esos dibujos-logotipos). Poco tiempo después se incorporó a la organización no lucrativa Free Software Foundation para coordinar el esfuerzo. Inventó el concepto de copyleft, que fue utilizado en la Licencia Pública General GNU (conocida generalmente como la “GPL”) en 1989. La mayor parte del sistema GNU, excepto el núcleo, se completó aproximadamente al mismo tiempo. En 1991, Linus Torvalds liberó el núcleo Linux bajo los términos de la GPL, completando un sistema GNU completo y operativo, el sistema operativo GNU/Linux.

Saludos…

Atajos de teclado para GNOME y Nautilus

Standard
gnome

Gnome: Teclas de escritorio

  • Alt-F2 : Ejecutar aplicaciones
  • Alt-F1 : Abrir menú de aplicaciones
  • Alt-F9 : Minimizar ventana activa
  • Alt-Tab : Rotar ventanas activas
  • Ctrl+Alt+flecha izquierda : Mover al escritorio virtual de la izquierda
  • Ctrl+Alt+flecha derecha : Mover al escritorio virtual de la derecha
  • Ctrl+Alt+Shift+flecha izquierda : Mover aplicación a la izquierda
  • Ctrl+Alt+Shift+flecha derecha: Mover aplicación a la derecha
  • Ctrl+Alt+L : Bloquear pantalla
  • Ctrl+Alt+Del : Salir
  • Ctrl+Alt+Backspace (Retroceder) : Reiniciar GNOME

Nautilus: Administración de archivos

  • Shift+Ctrl+N : Crear nueva carpeta
  • Ctrl+T : Borrar (a Papelera)
  • Alt+ENTER : Propiedades de archivo/carpeta
  • Ctrl+1 : Ver como iconos
  • Ctrl+2 : Ver como lista
  • Shift+flecha derecha : Abrir carpeta (en lista)
  • Shift+flecha izquierda : Cerrar carpeta (en lista)
  • Ctrl+S : Seleccionar patron [introducir patron]
  • F2 : Renombrar archivo/carpeta
  • Ctrl+A : Seleccionar todo

Nautilus: Teclas de navegación

  • Ctrl+W : Cerrar ventana
  • Ctrl+Shift+W : Cerrar todas las ventanas de Nautilus
  • Ctrl+R : Refrescar ventanas de Nautilus
  • Alt+Up Arrow : Subir de nivel (de navegación)
  • Alt+flecha izquierda : Retroceder
  • Alt+flecha derecha : Adelantar
  • Alt+Inicio : Carpeta de usuario
  • Ctrl+L : Barra de dirección
  • F9 : Ocultar barra lateral
  • Ctrl+H : Ver archivos ocultos
  • Ctrl++ : Más zoom
  • Ctrl+- : Menos zoom
  • Ctrl+0 : Tamaño normal

Saludos…

Cómo malinterpretar el software libre

Standard

1. La industria del software no puede funcionar si no se le paga a los programadores.

Comencemos por algo sencillo: A los programadores de software libre sí les gusta que le paguen y todos tienen sus gastos.

Cuando decimos “Software Libre” nos referimos a la libertad, no al precio. De hecho, usted puede pagar por un software libre (o “código abierto”1), que posteriormente podrá estudiar, cambiar y copiar como desee.

¿Y acaso eso funciona? Se lo puede imaginar de la siguiente forma: El software es código, luego el código es matemática. Una vez que vea el código como una matemática útil, un idioma elaborado (no una propiedad tangible), no encontrará razón para prohibirle su uso a las demás personas.

Al igual que la matemática (donde nadie reclamaría la propiedad de una ecuación), el software requiere conocimiento avanzado para que pueda ser adaptado, mejorado y aplicado correctamente. Es aquí donde los desarrolladores suelen generar ganancias: Muchos clientes, generalmente compañías, están dispuestos a pagar por mejoras y actualizaciones de seguridad en el software.

Las compañías de software libre se benefician de un sistema de desarrollo descentralizado con un gran número de voluntarios. Las ganancias de la industria del software libre puede que sean menor que su contraparte privativa, pero de ninguna manera son insignificantes. A la final, los usuarios individuales suelen terminar usando el software gratuitamente.

El software libre no se trata de acabar con los los incentivos de los programadores; se trata de ver el código como un conocimiento que no se le debe ocultar al usuario. Simplemente funciona con un modelo de negocio distinto, que muchas compañías están aprovechando.

2. El software libre acaba con la innovación.

La idea que suele tener la gente es que, si cualquiera puede copiar ideas, la innovación se vendrá abajo.

En realidad, la libertad (o “ser de código abierto”1) suele ser la clave para el software libre y la innovación.
A la gente se le permite y se le anima a trabajar sobre él;
Muchas personas están dispuestas a participar;
No hay necesidad de reinvertar nada; las ideas se pueden implementar directamente.

El software no privativo se puede apreciar en muchas áreas: Considere, por mencionar algunas, las aplicaciones Firefox (navegador web) o Inkscape (editor de gráficos vectoriales), los sistemas Apache (servidor web) u OpenBSD (sistema operativo), los formatos HTML (páginas web) u ODF (documentos de oficina), las aplicaciones web Drupal (Sistema de gestión de contenido) o WordPress (blogs).

3. El software simplemente debe funcionar (¿a quién le importa el código abierto?)

Cualquiera debería preocuparse acerca de si su software es libre o no.

Imagínese que compra un automóvil al que a usted se le prohibe abrir. No importa que sepa cómo funcionan los automóviles, el hecho es que nadie será capaz de revisar el motor. ¿Cómo puede estar tranquilo con su automóvil si a nadie se le permite verificar que sea fiable, que no tenga una fuga o que no afecte a la sociedad ni el medio ambiente?

Sucede lo mismo con el software, excepto que el código sirve para mucho más que para mover autos. El software maneja nuestros computadores, teléfonos, televisores, reproductores de sonido y más, transportando información y nuestra cultura.

El software libre es tan importante como la libertad de expresión. Si el software es libre, los usuarios tienen libertad y el control del mismo.

La buena noticia es que el software libre no sólo funciona bien, sino que suele funcionar mucho mejor. ¡Introduzca un CD autónomo de GNU/Linux en su computador para probar un sistema completo y bien organizado, de manera que pueda juzgarlo usted mismo sin instalarlo!

4. El software libre no respeta el derecho de autor ni las patentes de software.

Para responder a esto, primero tenemos que hacer una clara distinción entre el derecho de autor y las patentes. El derecho de autor se le concede al creador de una obra sobre la misma (por ejemplo, el texto de un libro o el código fuente de un programa). Por otro lado, una patente es el control exclusivo que se registra sobre un proceso, la aplicación de una idea.

El derecho de autor es muy importante en el software libre. Es el propio mecanismo, esencial en la Licencia Pública General de GNU, mediante el cual se encarga de que el software libre permanezca libre y que los autores reciban el crédito por su trabajo. Los programas están amparados bajo el derecho de autor, ya sean libres o privativos.

Cualquier autor de software privativo puede fácilmente comprobar que no se viola su derecho en un programa de software libre, puesto que el código fuente está al alcance de su mano.

Por otro lado, las patentes en el software representan un concepto muy controversial. Para resumirlo: No existe nada a lo que se le pudiera llamar “software patentado”. Sin embargo, alguien puede atribuirse la propiedad de un proceso si registra una patente. Entonces la patente aplicaría a todo software que use ese proceso, sin importar que sea privativo o libre.

Las patentes de software…
Son costosas y se otorgan luego de varios años de la solicitud;
Tienen límites geográficos (una patente concedida en Estados Unidos no tiene valor en Europa);
Tiene largos períodos de vigencia (generalmente 20 años), en una industria que avanza constantemente;
Suelen ser triviales.

Como tal, raramente son usadas para beneficiar a quienes innovan; de hecho, casi nunca son usadas por los propios innovadores.

Se puede decir que cualquier pieza de software de mediano tamaño viola las patentes en varios países, tanto libre como privativo. Dependiendo de la capacidad que tenga la compañía titular de la patente para cubrir grandes gastos legales, se pueden aplicar restricciones y regalías sobre dichas patentes.

5. El software libre es como el comunismo.

Los que apoyan esta idea sostienen que no puede haber propiedad privada con software libre (o de “código abierto”. Respondamos a esto con un ejemplo.

Supongamos que usted usa una aplicación que es software libre, tanto en casa como en el trabajo. Entonces encuentra una buena forma de mejorarlo, de manera que ahora su versión modificada, ¡su computador funciona mejor y hace el trabajo al doble de rápido!

Esta versión modificada es su propia versión. No está obligado a hablar de ella a nadie ni tiene que compartir la ganancia que usted obtuvo mientras la usaba. Simplemente está ejerciendo su derecho a usar y modificar el software.

Lo que la licencia de software libre exige es que si usted redistribuye este software, entonces tendría que mantenerlo libre. Concretamente, si vende CDs que contengan su software o empieza a permitirle a personas ajenas a su casa o lugar de trabajo que lo usen, usted tendría que:
Darle a cualquier persona los mismos derechos que a usted se le otorgaron cuando obtuvo el software original, es decir, la libertad de revisar, modificar y redistribuir su versión modificada,
O, separar sus modificaciones del software original, es decir, que el trabajo final no contenga ningún código del trabajo original.

Así que en realidad usted tiene más “propiedad” sobre el software libre que el privativo (donde el programador decide todo lo que usted puede y no puede hacer con el software.

El software libre no tiene nada que ver con un sistema político. Usted puede usarlo perfectamente sobre software privativo y viceversa. La licencia de software libre simplemente es un contrato ético entre el programador y el usuario final.

Via | Foro Ingeniería