separata no7 sistemas operativos 2011 i

Upload: kicke-xstylex

Post on 07-Apr-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 Separata No7 Sistemas Operativos 2011 I

    1/5

    Semana 7 Sistemas Operativos III

    Procesos y Servicios

    Inicio del kernel e inicializacin de los dispositivos.

    Iniciar el kernel de Linux es muy parecido a iniciar cualquier otro sistema operativo en el sentido que

    todo se inicia con el cdigo del sector de arranque. El cdigo del sector de arranque es el

    responsable de cargar el kernel del sistema operativo en la memoria y ejecutarlo. Existe la siguiente

    secuencia de sucesos:

    Carga y descompresin del kernel

    Deteccin y configuracin de dispositivos

    Paso al proceso init.

    Niveles de ejecucin

    En sistemas GNU/Linux y otras versiones de Unix, init es el programa encargado de llevar la

    estacin al nivel de ejecucin en que se desea que opere. Init es el primer proceso en ejecucin

    despus del la carga del Kernel e implementa dos sistemas de inicio: System V, o BSD-Like. Estos

    sistemas especifican los guiones (scripts) de arranque para inicializar los diferentes servicios,

    programas o registros que sean necesarios para que el sistema funcione como el usuario quiere o

    como el administrador estableci.

    En los sistemas GNU/Linux se especifican hasta 7 niveles de ejecucin (tambin conocidos

    como runlevels o niveles de corrida). En las distribuciones Red Hat, as como en la gran mayora de

    distribuciones, la especificacin de los niveles de ejecucin es como sigue:

    Nivel de ejecucin 0:

    Halt. Este nivel de ejecucin se encarga de detener todos los procesos activos en el

    sistema, enviando a la placa madre una interrupcin para el completo apagado del

    equipo.

    Nivel de ejecucin 1:

    Single. Nivel de ejecucin mono usuario, sin acceso a servicios de red. Este nivel es

    regularmente utilizado en tareas de mantenimiento del sistema, y el usuario que ejecutaes root.

    Nivel de ejecucin 2:

    Al igual que el nivel de ejecucin monousuario, pero con funciones de red y comparacin

    de datos mediante nfs.

    Nivel de ejecucin 3:

    Sistema multiusuario, con capacidades plenas de red, sin entorno grfico. Este nivel de

    ejecucin es el recomendado para sistemas de servidor, ya que evita la carga

    innecesaria de aplicaciones consumidoras de recursos.

    Nivel de ejecucin 4:

    Prof: Carlos Jara Alva GNU/LINUX www.idatux.org

  • 8/3/2019 Separata No7 Sistemas Operativos 2011 I

    2/5

    Semana 7 Sistemas Operativos III

    Nivel especificado, pero no se utiliza

    Nivel de ejecucin 5:

    Al igual que el nivel de ejecucin 3, pero con capacidades grficas. Ideal para entornos

    de escritorio.

    Nivel de ejecucin 6:

    Reboot. Este nivel de ejecucin se encarga de detener todos los procesos activos en el

    sistema, enviando a la placa madre una interrupcin para el reinicio del equipo.

    Procesos

    Un proceso es una instancia de un programa en ejecucin y la unidad bsica de

    planificacin en Linux. Un proceso se compone de:

    El contexto actual del programa, que es el estado de ejecucin del programa.

    El directorio de trabajo del programa.

    Archivos y directorios que tienen acceso al programa.

    Las credenciales de acceso del programa, modo y propiedades del archivo.

    Recursos asignados al programa.

    El kernel usa a procesos para controlar el acceso a la CPU y a otros recursos del

    sistema como el tiempo de uso de la CPU, memoria acceso a disco, etc.

    Para ellos utiliza los siguientes comandos:

    [ root @ PC1 ~ ] #ps aux

    Comando vmstat. Muestra estadsticas de uso de la memoria, cpu, lecturas/escrituras en

    disco, etc.

    [ root @ PC1 ~ ] #vmstat

    Comando uptime. Con un simple comando podremos saber cunto tiempo lleva

    encendida nuestra pc.

    [ root @ PC1 ~ ] # uptime

    Comando free. Muestra la memoria ram disponible.

    [ root @ PC1 ~ ] #free

    Comando top: Esta herramienta monitorea varios recursos del sistema y muestra uso de

    Prof: Carlos Jara Alva GNU/LINUX www.idatux.org

  • 8/3/2019 Separata No7 Sistemas Operativos 2011 I

    3/5

    Semana 7 Sistemas Operativos III

    CPU por proceso, cantidad de memoria, tiempo desde su inicio, etc.

    #top

    ParmetrosDescripcin

    Espacio Realiza un refresco de la pantalla

    h Muestra la pantalla de ayuda

    k Mata un proceso. Se le pedir que introduzca el ID del proceso as como

    la seal que hay que enviarle.

    n Cambia el nmero de procesos que se muestran en pantalla. Se le pedir

    que introduzca un nmero.

    u Ordena por usuario.

    M Ordena por ocupacin de memoria.

    P Ordena por ocupacin de CPU.

    Si queremos eliminar un proceso en Linux usamos el comando kill

    #kill PID

    Para ejecutar un programa en el fondo, es decir, recuperando inmediatamente el control

    del Terminal, basta aadir el carcter & al final del comando de ejecucin:

    #programa1 &

    Si no se realizan redirecciones todas la salidas del programa se dirigen a un fichero

    llamado nohup.out. Cuando se realiza este comando la computadora entiende que el

    usuario no tiene prisa y automticamente disminuye la prioridad.

    #nohup programa1

    Comando pstree. Muestra los procesos en forma de rbol.

    #pstree.

    Comando time. Da informacin acerca del tiempo total empleado en la ejecucin, del

    tiempo de CPU utilizado por el programa del usuario, y del tiempo de CPU consumido en

    utilizar recursos del sistema.

    #time firefox

    SERVICIOS EN LINUX

    Prof: Carlos Jara Alva GNU/LINUX www.idatux.org

  • 8/3/2019 Separata No7 Sistemas Operativos 2011 I

    4/5

    Semana 7 Sistemas Operativos III

    Un servicio en Linux es aquel que va a beneficiar al sistema operativo y a la red

    una vez que es activado. Entre los principales servicios tenemos: portmap, network, sshd,

    httpd, smb, xinetd, squid, named, etc.

    Existe un comando llamado ntsysv el cual nos permite poder trabajar usando los

    servicios en forma permanente. Es decir mediante este comando cada vez que se reinicia

    la computadora el servicio antes programado se cargara automticamente.

    #ntsysv

    Tambin existe otra manera de poder activar los servicios usando los siguientes pasos:

    #cd /etc/init.d

    #ls

    Luego se mostrara todos los servicios que estn instalados en el sistema operativo.

    Prof: Carlos Jara Alva GNU/LINUX www.idatux.org

  • 8/3/2019 Separata No7 Sistemas Operativos 2011 I

    5/5

    Semana 7 Sistemas Operativos III

    Activamos el servicio colocando la siguiente sintaxis:

    #./nombre del servicio estado

    Donde:

    Nombre del servicio: aqu se colocara uno de los nombres que aparezcan al dar ls

    Estado: En esta opcin solo se podr usar 4 tipos de estado:

    status. Visualiza el estado o condicin actual del servicio.

    stop. Detiene el servicio.

    start. Inicia el servicio.

    restart. Detiene e inicia el servicio a trabajar

    Ejemplo:

    #./portmap status.

    Se mostrara varios mensajes donde al final de cada lnea, los cuales sern FALLO

    o tambin OK. Normalmente los mensajes finales de OK son los que mandan al servicio,

    indicndonos que se ha ejecutado en forma correcta. Hay que recordar que es necesario

    ingresar a dicho subdirectorio para que se pueda ejecutar el servicio respectivo.

    Tambin se puede usar el comando:

    #service portmap status.

    Esta opcin realiza lo mismo que el comando visto anteriormente

    A diferencia de service, chkconfig (tambin localizado en /sbin) nos permite controlar la

    ejecucin de servicios entre reinicios del equipo.

    # chkconfig kudzu off#Indica que el servicio kudzu no estar disponible para

    ningn nivel de ejecucin.

    # chkconfig httpd on

    #Indica que el servidor web estar disponible para

    todos los niveles de ejecucin especificados para dichoservicio

    # chkconfig level 35 squid on#Indica que el servidor proxy squid estar disponible

    nicamente para los niveles de ejecucin 3 y 5

    # chkconfig list#Lista todos los servicios configurados, as como su

    estado predeterminado en cada nivel de ejecucin

    Prof: Carlos Jara Alva GNU/LINUX www.idatux.org