Instalación de Programas en Gentoo


Para la instalación de programas como java, php y gcc en el Sistema Operativo Gentoo lo podemos realizar fácilmente con emerge, puede ser que esto tarde varios minutos dependiendo de nuestra conexión.

--Para la instalación de java el comando es:
# emerge virtual/jdk

--de php
# emerge php

-- de gcc
# emerge gcc

-- c++ Boost
# emerge boost

Si en caso deseas instalar un programa del cual solo tienes el nombre (por ejemplo) o alguna referencia del mismo, puedes usar el comando "emerge -s nombre_programa" y te mostrara los programas disponibles que cumplen con esa descripción.

Que hacemos despues de instalar Gentoo

Bueno, has terminado de instalar Gentoo, felicitaciones!!!!. Pero ahora que??? pues puedes empezar por ponerle una interfaz gráfica. Te daré una pequeña demostración de como hacerlo. Esta es una serie de pasos que debes seguir para instalar fluxbox en tu Sistema Operativo:

Nota: las lineas empezadas con "#" significan lineas de codigo, y empezadas con "--" son comentarios

Preparar el make.conf para instalar Xorg.
# nano /etc/make.conf
--aqui vamos a agregar algunas lineas que deben de ir en el archivo make.conf, esto es para que reconozca las entradas, y el controlador de la tarjeta de video (en este caso nvidia):

INPUT_DEVICES = "keybord mouse"
VIDEO_CARDS ="nvidia"

--guardamos el archivo y continuamos con la instalacion, con este comando mostamos todas los controladores disponibles
#emerge -pv xorg-server

--instalamos Xorg, esto puede tardar un buen rato así que deberías considerar ocupar tu tiempo en algo mejor que estar esperando
#emerge xorg-x11

--re-inicializamos las variables de entorno
#env-update
# source /etc/profile

--Ahora empezaremos con la generación automática del archivo xorg.conf
#Xorg -configure

--Si no ha fallado, procederemos a probarlo
#X -config /root/xorg.config.new

-- Si todo va bien, debería ver un patrón de trama sencillo blanco y negro. Verifique si el ratón funciona bien y si la resolución se ve bien. Si obtuvo errores en "/dev/mouse" pruebe a cambiar su dispositivo de ratón por /dev/input/mice en la sección "InputDevice" de xorg.conf. Tal vez no pueda deducir la resolución exacta, pero al menos podrá ver si ésta es muy baja. Puede salir cuando quiera, pulsando Ctrl-Alt-Backspace.
Bueno ahora copiamos el archivo al directorio al que debe de ir.
#cp /root/xorg.conf.new /etc/X11/xorg.conf

--Ahora podemos escoger si iniciar el gestor de ventanas que viene por default o si instalar uno nuevo, en caso de querer ver el actual, se ejecuta el siguiente comando.
#startx

--Y para salir es el presione Ctrl + D

Instalación de Fluxbox.

# emerge fluxbox xlockmore x11-terms/eterm

--Editar su xinit, esto es para usuarios que quieran su entorno gráfico de escritorio todo el tiempo
# $
echo "exec startfluxbox" > ~/.xinitrc

--Instalación de un
gestor de inicio de sesión
#
emerge slim
#
rc-update add xdm default
--Editar /etc/conf.d/xdm
# nano /etc/conf.d/xdm
--y agregamos esta linea
DISPLAYMANAGER="gdm"

En teoría este es el procedimiento que deberías de seguir para la correcta instalación de Fluxbox, pero como no siempre salen las cosas como queremos, aquí te dejo los links oficiales para la instalación de estos:
  • http://www.gentoo.org/doc/es/xorg-config.xml
  • http://www.gentoo.org/doc/es/fluxbox-config.xml

Sistemas Operativos


Esta es alguna informacion general acerca de Sistemas Operativos:


1. ¿Que es un Sistema Operativo?
Un sistema operativo es un software de sistema, es decir, un conjunto de programas de computadora destinado a permitir una administración eficaz de sus recursos. Comienza a trabajar cuando se enciende el computador, y gestiona el hardware de la máquina desde los niveles más básicos, permitiendo también la interacción con el usuario.

Un sistema operativo se puede encontrar normalmente en la mayoría de los aparatos electrónicos que utilicen microprocesadores para funcionar, ya que gracias a éstos podemos entender la máquina y que ésta cumpla con sus funciones (teléfonos móviles, reproductores de DVD, autoradios, computadoras, etc.).


Clasificación de Sistemas Operativos:
  • 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.
  • Sistema Operativo Monotareas:
    Los sistemas operativos monotareas son más primitivos, solo pueden manejar un proceso en cada momento, es decir, que solo puede ejecutar las tareas de una en una.
  • 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.
  • 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 por lotes.
    Los Sistemas Operativos por lotes, procesan una gran cantidad de trabajos con poca o ninguna interacción entre los usuarios y los programas en ejecución. Se reúnen todos los trabajos comunes para realizarlos al mismo tiempo, evitando la espera de dos o más trabajos como sucede en el procesamiento en serie.
  • Sistemas Operativos de tiempo real.
    Los Sistemas Operativos de tiempo real son aquellos en los cuales no tiene importancia el usuario, sino los procesos. Por lo general, están subutilizados sus recursos con la finalidad de prestar atención a los procesos en el momento que lo requieran.
  • Sistemas Operativos de tiempo compartido.
    Permiten la simulación de que el sistema y sus recursos son todos para cada usuario. El usuario hace una petición a la computadora, esta la procesa tan pronto como le es posible, y la respuesta aparecerá en la terminal del usuario.
  • Sistemas Operativos distribuidos.
    Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores.
  • 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.
  • Sistemas Operativos paralelos.
    En estos tipos de Sistemas Operativos se pretende que cuando existan dos o más procesos que compitan por algún recurso se puedan realizar o ejecutar al mismo tiempo.


¿Que es un Programa?
Es simplemente un conjunto de instrucciones para una computadora. Las computadoras necesitan de los programas para funcionar, y un programa no hace nada a menos que sus instrucciones sean ejecutadas por el procesador.


¿Que es un Proceso?
Un proceso es un concepto manejado por el sistema operativo que consiste en el conjunto formado por:
  • Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador.
  • Su estado de ejecución en un momento dado, esto es, los valores de los registros de la CPU para dicho programa.
  • Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos.
  • Otra información que permite al sistema operativo su planificación.


¿Que es un Hilo?
Es una característica que permite a una aplicación realizar varias tareas concurrentemente. Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc.



Bibliografia:
http://apuntes.rincondelvago.com/clasificacion-de-sistemas-operativos.html
http://es.wikipedia.org


Estructura Cliente - Servidor

En los sistemas operativos se esta presentando una tendencia que es la de explotar la idea de mover el código a capas superiores y eliminar la mayor parte posible del sistema operativo para mantener un núcleo mínimo. El punto de vista usual es el de implantar la mayoría de las funciones del sistema operativo en los procesos del usuario. Para solicitar un servicio, como la lectura de un bloque de cierto archivo, un proceso del usuario (denominado proceso cliente) envía la solicitud a un proceso servidor, que realiza entonces el trabajo y regresa la respuesta.

Como podemos ver en esta figura, lo único que hace el núcleo es controlar la comunicación entre los clientes y los servidores. Al separar el sistema operativo en partes, cada una de ellas controla una faceta del sistema, como el servicio a ficheros, servicio a procesos, servicio a terminales o servicio a la memoria; cada parte es pequeña y controlable. Además, puesto que todos los servidores se ejecutan como procesos en modo usuario, y no en modo núcleo, no tienen acceso directo al hardware. En consecuencia, si hay un error en el servidor de ficheros éste puede fallar, pero esto no afectará en general a toda la máquina.

Otra de las ventajas del modelo cliente-servidor es su capacidad de adaptación para su uso en sistemas distribuidos. Si un cliente se comunica con un servidor mediante mensajes, el cliente no necesita saber si el mensaje se gestiona de forma local, en su máquina, o si se envía por medio de una red a un servidor en una máquina remota. En lo que respecta al cliente, lo mismo ocurre en ambos casos: se envió una solicitud y se recibió una respuesta.

La idea anterior de un núcleo que sólo controla el transporte de mensajes de clientes a servidores, y viceversa, no es totalmente real. Algunas funciones del sistema operativo (como la introducción de órdenes en los registros físicos de los controladores de E/S) son difíciles, si no es que imposible de realizar, a partir de programas de usuario. Existen dos formas de afrontar este problema. Una es hacer que algunos procesos de servidores críticos (por ejemplo, los gestores de los dispositivos de E/S) se ejecuten en realidad en modo núcleo, con acceso total al hardware, pero de forma que se comuniquen con los demás procesos mediante el mecanismo normal de mensajes.

La otra forma es construir una cantidad mínima de mecanismos dentro del núcleo, pero manteniendo las decisiones de política relativos a los usuarios dentro del espacio de los usuarios. Por ejemplo, el núcleo podría reconocer que cierto mensaje enviado a una dirección especial indica que se tome el contenido de ese mensaje y se cargue en los registros del controlador de algún disco, para iniciar la lectura del disco. En este ejemplo, el núcleo ni siquiera inspeccionaría los bytes del mensaje para ver si son válidos o tienen algún sentido; sólo los copiaría ciegamente en los registros del controlador del disco. Es evidente que debe utilizarse cierto esquema para limitar tales mensajes sólo a los procesos autorizados. La separación entre mecanismos y política es un concepto importante, aparece una y otra vez en diversos contextos de los sistemas operativos.

Para resumir las caracteristicas que posee una estructura Cliente - Servidor son:
  • Se mantiene un núcleo mínimo.
  • La mayoría de las funciones se implantan en los procesos del usuario.
  • Lo único que hace el núcleo es controlar la comunicación entre los clientes y los servidores.

Bibliografía: http://wwwdi.ujaen.es/~lina/TemasSO/INTRODUCCION/5Estructuradelossistemasoperativos.htm