Separata No7 Sistemas Operativos 2011 I
-
Upload
kicke-xstylex -
Category
Documents
-
view
226 -
download
0
Transcript of Separata No7 Sistemas Operativos 2011 I
-
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