Organización de un sistema operativo tipo Linux Administración de Sistemas Operativos
Administración de Sistemas Operativos y Periféricos
Ma Pilar González Férez
Tema 2. Organización de un sistema operativo tipo Linux – p. 1/11
Índice 1. Ficheros 2. Procesos 3. Dispositivos 4. Estructura genérica del sistema de ficheros
Tema 2. Organización de un sistema operativo tipo Linux – p. 2/11
1. Ficheros En UNIX/Linux TODO es un fichero: Las órdenes son ficheros, p.e. /bin/ls o /usr/bin/find Dispositivos de E/S, p.e /dev/sda, /dev/fd0 o /dev/tty0 Comunicación entre procesos: sockets o tuberías (pipes) Los directorios, los ficheros de datos, los ficheros de configuración, etc. El núcleo del sistema operativo, etc. Linux/UNIX tiene una estructura jerárquica de directorios conocida como sistema de ficheros: Donde / es el directorio raíz Puede estar compuesto por varios sistemas de ficheros, pertenecientes a otras particiones, discos, dvd’s, . . . , que una vez montados, estarán disponibles desde la jerarquía de directorios
Tema 2. Organización de un sistema operativo tipo Linux – p. 3/11
1. Ficheros (ii) El acceso de los ficheros está organizado en: Dos propietarios: usuario y grupo chown ⇒ cambiar el usuario propietario. Sólo el root puede realizarlo ⋆ chown pilar fichero ⋆ chown [-R] pilar directorio ⋆ chown pilar.profesor fichero (¡Ojo! Aquí cambiamos usuario y grupo) chgrp ⇒ cambiar el grupo propietario. Puede hacerlo el propietario del fichero pero tiene que pertenecer al nuevo grupo. El root también puede cambiarlo ⋆ chgrp profesor fichero ⋆ chgrp [-R] profesor directorio
Permisos (r, w, x): para el usuario propietario, el grupo propietario
y el resto de usuarios (que no son el propietario ni miembros del grupo) ⋆ chmod u+r fichero ⋆ chmod [-R] g+w directorio ⋆ chmod 740 fichero
Acceso Fichero Directorio
r Ver el contenido Listar el contenido w Modificar el contenido Crear/eliminar ficheros x Ejecutar Entrar en el directorio
Tema 2. Organización de un sistema operativo tipo Linux – p. 4/11
1. Ficheros (iii) Permisos especiales: t (sticky bit) ⇒ chmod +t fichero Para ejecutables ⇒ mantener la imagen del fichero en memoria después de finalizar la ejecución del mismo. Hoy en día no se usa para esta función Para directorios ⇒ si tienes permiso de escritura en el directorio, puedes crear ficheros pero sólo puedes borrar los que te pertenecen ⋆ El directorio /tmp tiene los permisos drwxrwxrwxt ⋆ Sólo tiene sentido si tiene permisos de escritura para todos (drwxrwxrwx) suid ⇒ chmod u+s fichero Para ejecutables ⇒ cambio de dominio a nivel de usuario. Durante la ejecución el usuario efectivo del proceso es el propietario del fichero y no el usuario que lo ejecutó * El ejecutable "gestorbd" lee el fichero "basedatos": _rwxr_xr_x root root /opt/bin/gestorbd _rw_______ root root /opt/datos/basedatos * El usuario pilar puede ejecutar "gestorbd" pero NO leer "basedatos" * Pilar SÍ podrá leer "basedatos" si "gestorbd" tiene los permisos: _rwsr_xr_x root root /opt/bin/gestorbd
Tema 2. Organización de un sistema operativo tipo Linux – p. 5/11
1. Ficheros (iv) Permisos especiales (continúa. . . ) sgid ⇒ chmod g+s fichero Para ejecutables ⇒ cambio de dominio a nivel de grupo. Durante la ejecución el grupo efectivo del proceso es el propietario del fichero y no el grupo del usuario que lo ejecutó * El ejecutable "gestorbd" lee el fichero "basedatos": _rwxr_xr_x root root /opt/bin/gestorbd _rw_rw____ root root /opt/datos/basedatos * Los miembros del grupo "alumnos" pueden ejecutar "gestorbd" pero NO leer "basedatos" * Ahora SÍ podrán leer "basedatos" con los permisos: _rwxr_sr_x root root /opt/bin/gestorbd Para directorios ⇒ al crear un fichero en su interior, el grupo propietario del nuevo fichero es el grupo del directorio y no del usuario que ejecuta la orden * Si el usuario "pilar" sólo pertenece al grupo "profesor" * Se tiene el directorio "drwxrwsr_x pilar alumnos /practicas" * Si "pilar" ejecuta "cp tema2.pdf /practicas" entonces el fichero copiado pertenecerá al grupo "alumnos": rw_r__r__ pilar alumnos /practicas/tema2.pdf
Tema 2. Organización de un sistema operativo tipo Linux – p. 6/11
1. Ficheros (v) Tipos de ficheros: Normal, directorio (d), especial de bloque (b), especial de carácter (c), enlace físico, enlace simbólico (l), socket (s), pipe (p) Enlace físico: dos nombres de fichero apuntando al mismo nodo-i: Sólo es posible entre ficheros que estén en la misma partición No se pueden realizar a directorios Si se hace en ficheros que están en el mismo directorio, habrá dos entradas con el mismo número de nodo-i pero distinto nombre de fichero [pilar@ditec TEMA2]$ ln tema2.tex enlace.fisico [pilar@ditec TEMA2]$ ls -li tema2.tex enlace.fisico 9901 -rw-r--r-- 2 pilar users 8819 feb 16 19:34 enlace.fisico 9901 -rw-r--r-- 2 pilar users 8819 feb 16 19:34 tema2.tex
Enlace simbólico: un nuevo fichero con su nodo-i propio y almacena
la ruta del fichero del que es enlace [pilar@ditec TEMA2]$ ln -s tema2.tex simbol [pilar@ditec TEMA2]$ ls -li tema2.tex simbol 9907 lrwxrwxrwx 1 pilar users 9 feb 16 19:38 simbol -> tema2.tex 9901 -rw-r--r-- 2 pilar users 9084 feb 16 19:38 tema2.tex
Tema 2. Organización de un sistema operativo tipo Linux – p. 7/11
2. Procesos Un proceso es un programa en ejecución Atributos de un proceso: PID ⇒ identificador del proceso PPID ⇒ identificador del proceso padre Nice number ⇒ prioridad asignada al ejecutarlo tty ⇒ terminal en el que se está ejecutando RUID ⇒ identificador del usuario real, el que lo ejecutó EUID ⇒ identificador del usuario efectivo, si hay cambio de dominio se refleja aquí. (Permiso suid) RGID ⇒ identificador del grupo real, el grupo del usuario que lo ejecutó EGID ⇒ identificador del grupo efectivo, si hay cambio de dominio se refleja aquí. (Permiso sgid) Tipos de procesos: interactivos (primer o segundo plano), encolados o batch y demonios
Tema 2. Organización de un sistema operativo tipo Linux – p. 8/11
3. Dispositivos Los dispositivos se representan/manejan como ficheros Ficheros especiales de caracteres ⇒ representan a dispositivos de caracteres: cinta magnética, puerto paralelo, puerto serie, . . . Ficheros especiales de bloque ⇒ representan a dispositivos de bloques: disquete partición del disco duro, disco duro entero, . . . Esos ficheros se almacenan en el directorio /dev: /dev/fd0 ⇒ disquete de la primera disquetera (A: en Windows) /dev/sda ⇒ primer disco duro (sin considerar particiones) /dev/sda1 ⇒ primera partición del primer disco /dev/sdb ⇒ segundo disco duro /dev/sdc ⇒ disco USB (se utiliza emulación SCSI, se usa el primer nombre de dipositivo libre sdb, o sdc, o sdd, etc.) /dev/sdc1 ⇒ partición de un disco USB /dev/tty1 ⇒ primera terminal de consola /dev/tty2 ⇒ segunda terminal de consola /dev/lp0 ⇒ primer puerto paralelo
Tema 2. Organización de un sistema operativo tipo Linux – p. 9/11
4.- Estructura genérica del sistema de ficheros /bin ⇒ ficheros ejecutables básicos /dev ⇒ ficheros especiales de dispositivos /etc ⇒ la mayoría de los ficheros de configuración del sistema /sbin ⇒ ficheros ejecutables de administración (que, normalmente, sólo el administrador puede ejecutar) /home ⇒ los directorios de trabajo de los usuarios /lost+found ⇒ localizaciones de disco marcadas como en uso en las estructuras de datos del disco, pero no están listadas en ningún directorio. (Contiene "referencias" a los ficheros marcados como erróneos al chequear el sistema de ficheros) /lib ⇒ librerías compartidas /proc y /sys ⇒ sistemas de ficheros virtuales, contienen información sobre procesos, núcleo, módulos cargados y los dispositivos /tmp ⇒ ficheros temporales. Tiene el permiso t activo /var ⇒ subdirectorios de spool (impresión, e-mail, cron, atd, log, etc.)
Tema 2. Organización de un sistema operativo tipo Linux – p. 10/11
4.- Estructura genérica del sistema de ficheros (ii)
/boot ⇒ núcleo y ficheros necesarios para cargar el núcleo y
ficheros de configuración del gestor de arranque /mnt ó /media ⇒ montaje de otros SF: disquetes, cdroms: /mnt/floppy ó /media/floppy /mnt/cdrom ó /media/cdrom
/usr ⇒ contiene subdirectorios con distintas funcionalidades:
/usr/bin ⇒ ficheros ejecutables por todos los usuarios /usr/sbin ⇒ ficheros ejecutables de administración /usr/include ⇒ ficheros cabecera de C /usr/lib ⇒ librerías /usr/local ⇒ software local /usr/share ⇒ datos compartidos (o que pueden ser compartidos por varios ordenadores en red) /usr/share/man /usr/share/doc /usr/src ⇒ código fuente, como el del kernel
Tema 2. Organización de un sistema operativo tipo Linux – p. 11/11