TAREA # 6
1. Cite ejemplos de recursos reutilizables y consumibles.
R: Como ejemplos de recursos consumibles tenemos: las interrupciones, señales, mensajes e información en buffer de E/S.
Ejemplos de recursos reutilizables se tienen los procesadores, canales de E/S, memoria principal y secundaria, dispositivos y estructuras de datos tales como archivos, bases de datos y semáforos.
2. Enumere y defina brevemente tres tecnicas para realizar E/S.
R:
1. E/S programada: el procesador emite una orden de E/S de parte de un proceso a un modulo de E/S; el proceso espera entonces a que termine la operación, antes de seguir.
2. E/S dirigida por interrupciones: el procesador emite una orden de E/S de parte de un proceso, continua la ejecución de las instrucciones siguientes y el modulo de E/S lo interrumpe cuando completa su trabajo.
3. Acceso directo a la memoria: un modulo de DMA controla el intercambio de datos entre la memoria principal y un modulo de E/S.
3. Cual es la diferencia entre E/S lógica y E/S a Dispositivo?
R. Primero que la E/S lógica trata al dispositivo como un recurso lógico y no se preocupa de los detalles de control real del dispositivo, también se ocupa de la gestión de funciones generales de E/S solicitadas por los procesos de usuarios, mientras que la E/S a dispositivo hace que las operaciones y los datos se conviertan en secuencias adecuadas de instrucciones de E/S y órdenes para el canal y el controlador.
4. Cual es la diferencia entre un dispositivo orientado a bloque y los orientados a flujo de caracteres? De un ejemplo de cada uno de ellos.
R. Se dice que los dispositivos orientados a bloque almacenan la información en bloques normalmente de tamaño fijo, haciendo las transferencias de un bloque cada vez (los discos y las cintas), mientras que un dispositivo orientado a flujo transfiere los datos como una serie de bytes y no posee estructura de bloques. Ejemplos de ellos son : terminales, impresoras puertos de comunicación.
5. Por qué podría esperar una mejora del rendimiento utilizado para la E/S un buffer doble en lugar de un único buffer?
R. Se puede realizar una mejora sobre el buffer asignando a la operación dos almacenes Intermedios del sistema. Y esperaría una mejora ya que puedo transferir datos hacia un buffer intermedio mientras que el sistema operativo vacía el otro.
6. Qué elementos de retardo están involucrado en una lectura o escritura de disco?
R.
Son el retardo de giro, tiempo de búsqueda y tiempo de transferencia.
7. Defina brevemente las políticas de planificación de disco que ilustra la figura 11.8
RSS: planificación aleatoria
FIFO: primero entrar, primero en salir.
PRI: prioridad del proceso.
LIFO: ultimo entrar, primero en salir.
SSTF: primero el más corto.
SCAN: recorre el disco de un lado a otro.
C-SCAN:_recorre el disco de un solo sentido.
8. Defina brevemente los niveles RAID.
Nivel 0: es de la categoría de bandas y nos es muy redundante.
Nivel 1: es de la categoría de espejo y se dice que es una copia de un espejo.
Nivel 2: es de la categoría de acceso paralelo y tienen una redundancia de código Hamming.
Nivel 3: es de la categoría de acceso paralelo y tiene una paridad por intercalación de bits.
Nivel 4: es de la categoría de acceso independiente y tiene una paridad de intercalación de bloques.
Nivel 5: es de la categoría de acceso independiente y tiene una paridad de intercalación distribuida de bloques.
Nivel 6: es de la categoría de acceso independiente y tiene una paridad por intercalación doblemente distribuida de bloques.
miércoles, 9 de julio de 2008
sábado, 5 de julio de 2008
Laboratorio # 2
Coloque el puntero sobre cada ícono de la barra de tareas y describa algunas de las funciones de las figuras que los identifican junto con sus nombres.
Mozila que se navegador de internet
Compilador es com el msd de Windows pero en gnome
Ubique el puntero sobre el ícono del menú principal y haga “click”. Mueva el puntero de arriba hacia abajo en la ventana desplegada y liste algunas de las secciones que aparecen.
Applications
Accesorio
Archive manager
Kitchen sync
Graphics
kFax
gthumb Image Viewer
Oficce
K Note
KPilot
Tasks
Programming
Place
Desktop
Computer
Network
System
Preferentes
Administration
Lock Screen
Coloque el puntero sobre el “paginador de espacios o áreas de trabajo” (pequeños recuadros con o sin nombre en la barra de tareas) y haga “click” con el botón derecho del ratón. Seleccione la opción “Preferencias”.
El número de espacios de trabajo activos en este momento es ___1__ y el máximo permitido es __36____.
Cambie los nombres de los espacios de trabajo por defecto por: área1, área2, etc… Para ello, recuerde ubicarse sobre el grupo de recuadros de àrea de trabajo, y de botón derecho sobre aquel cuyo nombre desea cambiar, y escoja la opción Preferencias… ubíquese sobre cada nombre y haga “doble clic” y escriba los nuevos nombres (asegúrese de que quede sombreada solo el área del nombre). Seleccione la opción “mostrar los nombres de espacios de trabajo en el paginador ”. Cierre la ventana.
Cambie de espacio/área de trabajo. Seleccione el “área2”. Ubique el puntero sobre el icono del navegador y haga “click” para activarlo en esta área. Regrese al área de trabajo 1. Ahora, active diversas aplicaciones en cada espacio de trabajo… navegue entre los espacios de trabajo y observe el comportamiento del entorno… que conclusiones obtiene de sus observaciones…?
Por lo observado puedo llegar a la conclusión de que esta areas de trabajo nos permite tener diferentes mucho mas aplicaciones o progrmas abierto ya que estos se mantiene dispersos en las diferentes área trabajo y se puede trabajar de forma mas organizada ya que nos hace parecer como si existieran varios escritorio a la vez.
Escritorio
Liste y describa algunos de los íconos del escritorio.
Computer
User1’s home
Trash
Untitled Folder
Haga “click” sobre la carpeta de inicio/root/user’s home (verificar si existe en elescritorio) con el botón derecho y liste las opciones activas. Seleccione los otros íconos del escritorio de la misma manera y liste las opciones activas.
Si existe pero el user’s home como los iconos ninguno de ellos tiene opciones activas
Haga “click” sobre el escritorio con el botón derecho del ratón. Seleccione la opción “crear una carpeta”. Coloque el nombre de usuario. ¿Qué ocurre?.
Se crea un carpeta nueva con el nombre de user pero si en el escritorio se encuentra una carpeta con este mismo nombre no nos permite darle este nombre
Active el menú “Aplicaciones” (Inicio en Windows), opción “Accesorios” o “Systems tools” y clickeando la opción “Terminal”.¿Qué ocurre ahora?... Nota: cambiamos del modo gráfico a modo texto o comando en la misma área o paginador de espacio de trabajo. ¿Es esto lo ocurrido?
Si aparece el interprete de comando que este es como el msd de window pero en gnomo
Observe la pantalla y describa lo que hay en la línea de comando: Nota: root o user1 es el usuario activo en la máquina #XX… Escriba el comando “ls” y presione “enter”. Describa el resultado. Este comando se utiliza para listar el contenido del área.
Lo que apareces es:
User 1@1405 -]$ ls
Cbfxccv Desktop Music Public Video
BDatos Documents OACII SOI recibe- streame
Cierre la ventana del terminal seleccionando, de la barra de menú, la opción “archivo” y “cerrar ventana” o haga “click” sobre la “x” de la ventana.
Haga “click” sobre el escritorio con el botón derecho del ratón. Seleccione la opción “cambiar fondo del escritorio”. Escoja una imagen de la lista mostrada, con extensión jpg, bmp, gif, etc. y haga “click”. Seleccione cada una de las otras opciones presentadas en los recuadros de la imagen y observe los cambios en el fondo de la pantalla.
Segunda Parte
1. Selecciona el icono del bote de la basura.¿ Cómo sabes que está seleccionado?
Ya que este se encuentra sombreado.
2. Colocar el apuntador en el menú de la ventana de la terminal para escoger la opción “Archivo” y dar click en "Abrir solapa". ¿Qué pasa? Ejecute el comando “ls” y “ls -l” (debe leerse ls espacio menos ele) en ambas solapas… conclusiones?
Esta opción nos permite tener varias archivos abiertos en una misma ventana o sea sin necesidad de abrir otra ventana para realizar otra operación con este intérprete de comando
3. Coloque el apuntador en el menú “Archivo” de la ventana de la terminal. Dar click en nueva ventana (o “Abrir terminal”). ¿Qué pasa?
Al realizar esto lo que ocurre a diferencia con lo anterior es que aparece otra ventana nueva en blanco fuera de la ventana ya abierta.
4. ¿Cómo sabes que una de las ventanas está activa?
Nos podemos dar cuenta ya que el cursor se encuentra parpadeando y la barra de la ventana esta iluminada o con colores.
5. Coloca el apuntador fuera de las ventanas y presiona el botón de la derecha. ¿Qué es lo que aparece?
Aparece un barra con funciones que con permite:
Create Folder
Create launcher
Create Document
Clean by Name
6. Seleccione la opción de “Fecha y Hora” que está en la opciòn “Administration” de la opciòn "Sistema" de la barra de tareas y “Calculadora” que está en “Accesorios”… ¿Qué ocurre?
Al seleccionar fecha y hora nos que nos pedía era contraseña mientras que con calculadora nos muestra una calculadora científica en la cual podemos realizar operaciones
7. ¿Qué ventajas observa implica disponer y moverse a diferentes espacios de trabajo?
Nos permite tener muchas mas áreas de trabajo o sea tener mucho mas aplicaciones o programas abierto a la vez pero de forma organizada en sus diferente áreas
8. Sitúese en una nueva terminal y ejecute algunas órdenes de Linux que saquen texto abundante por la consola (por ejemplo escriba ls /usr/bin).
Aparecen gráficos en la pantalla negra como de krotation entre otros imágenes.
9. Visualice partes perdidas de la ventana Terminal manipulando la barra de rebobinado (scroll) de la derecha de dicha ventana.
10. Con el botón derecho del ratón, utilice cortar (o copiar) y pegar para repetir alguna orden anterior o parte de ella. Para cortar puede marcar el origen con el botón izquierdo y el final con el derecho, o utilizar el botón izquierdo apretado y desplazar, o pulsar dos o tres veces seguidas el botón izquierdo para seleccionar una palabra o una línea. Para pegar use el botón central o, si no existe, los dos botones a la vez, o el botón derecho y seleccionar la opción “Pegar"…
11. Desplace y redimensione (use las teclas de flecha arriba, abajo, izquierda, derecha) de la terminal y otras ventanas con el ratón en la barra del titulo.
12. Cierre y abra ventanas con el ratón dando click en el elemento correspondiente del gestor de iconos.
13. Manipule las ventanas con las funciones que se despliegan pulsando el botón derecho del ratón sobre el fondo (parte superior de la ventana).
Informe:
Además de las preguntas del laboratorio, conteste las siguientes:
¿Qué elementos están en el panel del escritorio?
Se encuentran:
Panel superior:
Aplicaciones, Lugares, menú de sistemas y lanzadores de aplicaciones
Apliques /Apples, Botón de salida
Espacio de trabajo
Panel inferior
Botones de mostrar, control de la aplicación
Conmutador de espacio de trabajo, papelera
Aquí se muestra una imagen del panel del escritorio.
¿Cómo se identifica el menú principal?
El menú principal de GNOME que contiene todas sus aplicaciones, desde editores de texto a aplicaciones de oficina y herramientas de configuración
Este se encuentra en panel superior del escritorio
Aplicaciones, Lugares, menú de sistemas y lanzadores de aplicaciones
¿Qué son los paginadores de espacio o áreas de trabajo? Cómo se identifican?
Los paginadores de espacios o áreas de trabajo son las diferentes secciones que se presenta en este entorno, los cuales nos permite tener muchos mas documento abierto es decir este nos permite separar su trabajo como si tuviese muchos escritorios y se encuentran en el panel inferior y se puede identificar el activo ya que este tiene un color en azul
¿Dónde se encuentra la barra de tareas, cuál es su función?
La barra de tarea se encuentra en el panel superior en las opciones de appications places y System y allí se encuentras los diferentes programas
¿Existe alguna herramienta semejante al Explorador de disco en Windows (no el Internet Explorer)?
Semejantes no pero muchas herramientas parecidas
Liste los pasos para cambiar la configuración del escritorio.
Paso para cambiar la configuración:
1. Presiona con le ratón el botón derecho en el escritorio.
2. Luego allí aparece como cambiar el fondo color, tamaño y estilo de letra y entre otras funciones que se puede hacer.
Cómo puede usar un intérprete de comandos y qué le permite hacer?
Este interplete de comando nos permite realizar muchas funcion es parecido al MSDOS de Windows, en este podemos hacer llamado a los archivos, reiniciara el programa y entre otros.
Mozila que se navegador de internet
Compilador es com el msd de Windows pero en gnome
Ubique el puntero sobre el ícono del menú principal y haga “click”. Mueva el puntero de arriba hacia abajo en la ventana desplegada y liste algunas de las secciones que aparecen.
Applications
Accesorio
Archive manager
Kitchen sync
Graphics
kFax
gthumb Image Viewer
Oficce
K Note
KPilot
Tasks
Programming
Place
Desktop
Computer
Network
System
Preferentes
Administration
Lock Screen
Coloque el puntero sobre el “paginador de espacios o áreas de trabajo” (pequeños recuadros con o sin nombre en la barra de tareas) y haga “click” con el botón derecho del ratón. Seleccione la opción “Preferencias”.
El número de espacios de trabajo activos en este momento es ___1__ y el máximo permitido es __36____.
Cambie los nombres de los espacios de trabajo por defecto por: área1, área2, etc… Para ello, recuerde ubicarse sobre el grupo de recuadros de àrea de trabajo, y de botón derecho sobre aquel cuyo nombre desea cambiar, y escoja la opción Preferencias… ubíquese sobre cada nombre y haga “doble clic” y escriba los nuevos nombres (asegúrese de que quede sombreada solo el área del nombre). Seleccione la opción “mostrar los nombres de espacios de trabajo en el paginador ”. Cierre la ventana.
Cambie de espacio/área de trabajo. Seleccione el “área2”. Ubique el puntero sobre el icono del navegador y haga “click” para activarlo en esta área. Regrese al área de trabajo 1. Ahora, active diversas aplicaciones en cada espacio de trabajo… navegue entre los espacios de trabajo y observe el comportamiento del entorno… que conclusiones obtiene de sus observaciones…?
Por lo observado puedo llegar a la conclusión de que esta areas de trabajo nos permite tener diferentes mucho mas aplicaciones o progrmas abierto ya que estos se mantiene dispersos en las diferentes área trabajo y se puede trabajar de forma mas organizada ya que nos hace parecer como si existieran varios escritorio a la vez.
Escritorio
Liste y describa algunos de los íconos del escritorio.
Computer
User1’s home
Trash
Untitled Folder
Haga “click” sobre la carpeta de inicio/root/user’s home (verificar si existe en elescritorio) con el botón derecho y liste las opciones activas. Seleccione los otros íconos del escritorio de la misma manera y liste las opciones activas.
Si existe pero el user’s home como los iconos ninguno de ellos tiene opciones activas
Haga “click” sobre el escritorio con el botón derecho del ratón. Seleccione la opción “crear una carpeta”. Coloque el nombre de usuario. ¿Qué ocurre?.
Se crea un carpeta nueva con el nombre de user pero si en el escritorio se encuentra una carpeta con este mismo nombre no nos permite darle este nombre
Active el menú “Aplicaciones” (Inicio en Windows), opción “Accesorios” o “Systems tools” y clickeando la opción “Terminal”.¿Qué ocurre ahora?... Nota: cambiamos del modo gráfico a modo texto o comando en la misma área o paginador de espacio de trabajo. ¿Es esto lo ocurrido?
Si aparece el interprete de comando que este es como el msd de window pero en gnomo
Observe la pantalla y describa lo que hay en la línea de comando: Nota: root o user1 es el usuario activo en la máquina #XX… Escriba el comando “ls” y presione “enter”. Describa el resultado. Este comando se utiliza para listar el contenido del área.
Lo que apareces es:
User 1@1405 -]$ ls
Cbfxccv Desktop Music Public Video
BDatos Documents OACII SOI recibe- streame
Cierre la ventana del terminal seleccionando, de la barra de menú, la opción “archivo” y “cerrar ventana” o haga “click” sobre la “x” de la ventana.
Haga “click” sobre el escritorio con el botón derecho del ratón. Seleccione la opción “cambiar fondo del escritorio”. Escoja una imagen de la lista mostrada, con extensión jpg, bmp, gif, etc. y haga “click”. Seleccione cada una de las otras opciones presentadas en los recuadros de la imagen y observe los cambios en el fondo de la pantalla.
Segunda Parte
1. Selecciona el icono del bote de la basura.¿ Cómo sabes que está seleccionado?
Ya que este se encuentra sombreado.
2. Colocar el apuntador en el menú de la ventana de la terminal para escoger la opción “Archivo” y dar click en "Abrir solapa". ¿Qué pasa? Ejecute el comando “ls” y “ls -l” (debe leerse ls espacio menos ele) en ambas solapas… conclusiones?
Esta opción nos permite tener varias archivos abiertos en una misma ventana o sea sin necesidad de abrir otra ventana para realizar otra operación con este intérprete de comando
3. Coloque el apuntador en el menú “Archivo” de la ventana de la terminal. Dar click en nueva ventana (o “Abrir terminal”). ¿Qué pasa?
Al realizar esto lo que ocurre a diferencia con lo anterior es que aparece otra ventana nueva en blanco fuera de la ventana ya abierta.
4. ¿Cómo sabes que una de las ventanas está activa?
Nos podemos dar cuenta ya que el cursor se encuentra parpadeando y la barra de la ventana esta iluminada o con colores.
5. Coloca el apuntador fuera de las ventanas y presiona el botón de la derecha. ¿Qué es lo que aparece?
Aparece un barra con funciones que con permite:
Create Folder
Create launcher
Create Document
Clean by Name
6. Seleccione la opción de “Fecha y Hora” que está en la opciòn “Administration” de la opciòn "Sistema" de la barra de tareas y “Calculadora” que está en “Accesorios”… ¿Qué ocurre?
Al seleccionar fecha y hora nos que nos pedía era contraseña mientras que con calculadora nos muestra una calculadora científica en la cual podemos realizar operaciones
7. ¿Qué ventajas observa implica disponer y moverse a diferentes espacios de trabajo?
Nos permite tener muchas mas áreas de trabajo o sea tener mucho mas aplicaciones o programas abierto a la vez pero de forma organizada en sus diferente áreas
8. Sitúese en una nueva terminal y ejecute algunas órdenes de Linux que saquen texto abundante por la consola (por ejemplo escriba ls /usr/bin).
Aparecen gráficos en la pantalla negra como de krotation entre otros imágenes.
9. Visualice partes perdidas de la ventana Terminal manipulando la barra de rebobinado (scroll) de la derecha de dicha ventana.
10. Con el botón derecho del ratón, utilice cortar (o copiar) y pegar para repetir alguna orden anterior o parte de ella. Para cortar puede marcar el origen con el botón izquierdo y el final con el derecho, o utilizar el botón izquierdo apretado y desplazar, o pulsar dos o tres veces seguidas el botón izquierdo para seleccionar una palabra o una línea. Para pegar use el botón central o, si no existe, los dos botones a la vez, o el botón derecho y seleccionar la opción “Pegar"…
11. Desplace y redimensione (use las teclas de flecha arriba, abajo, izquierda, derecha) de la terminal y otras ventanas con el ratón en la barra del titulo.
12. Cierre y abra ventanas con el ratón dando click en el elemento correspondiente del gestor de iconos.
13. Manipule las ventanas con las funciones que se despliegan pulsando el botón derecho del ratón sobre el fondo (parte superior de la ventana).
Informe:
Además de las preguntas del laboratorio, conteste las siguientes:
¿Qué elementos están en el panel del escritorio?
Se encuentran:
Panel superior:
Aplicaciones, Lugares, menú de sistemas y lanzadores de aplicaciones
Apliques /Apples, Botón de salida
Espacio de trabajo
Panel inferior
Botones de mostrar, control de la aplicación
Conmutador de espacio de trabajo, papelera
Aquí se muestra una imagen del panel del escritorio.
¿Cómo se identifica el menú principal?
El menú principal de GNOME que contiene todas sus aplicaciones, desde editores de texto a aplicaciones de oficina y herramientas de configuración
Este se encuentra en panel superior del escritorio
Aplicaciones, Lugares, menú de sistemas y lanzadores de aplicaciones
¿Qué son los paginadores de espacio o áreas de trabajo? Cómo se identifican?
Los paginadores de espacios o áreas de trabajo son las diferentes secciones que se presenta en este entorno, los cuales nos permite tener muchos mas documento abierto es decir este nos permite separar su trabajo como si tuviese muchos escritorios y se encuentran en el panel inferior y se puede identificar el activo ya que este tiene un color en azul
¿Dónde se encuentra la barra de tareas, cuál es su función?
La barra de tarea se encuentra en el panel superior en las opciones de appications places y System y allí se encuentras los diferentes programas
¿Existe alguna herramienta semejante al Explorador de disco en Windows (no el Internet Explorer)?
Semejantes no pero muchas herramientas parecidas
Liste los pasos para cambiar la configuración del escritorio.
Paso para cambiar la configuración:
1. Presiona con le ratón el botón derecho en el escritorio.
2. Luego allí aparece como cambiar el fondo color, tamaño y estilo de letra y entre otras funciones que se puede hacer.
Cómo puede usar un intérprete de comandos y qué le permite hacer?
Este interplete de comando nos permite realizar muchas funcion es parecido al MSDOS de Windows, en este podemos hacer llamado a los archivos, reiniciara el programa y entre otros.
Laboratorio # 3.1
1.- Entrada en el sistema y consulta de información básica del sistema y de los usuarios.
Arranque la máquina en modo LINUX y autentifiquese. (USER: USER1, PASSWORD: USER01, si no funciona ases[orese con el docente)
1.1. Indique los pasos para iniciar una sesión de trabajo, utilizando su identificativo (logname) y su palabra de paso (password).
Se enciende la maquina se presiona f8 y luego en la pantalla aparece una pantalla donde se selecioba fedora y se presiona enter luego .
1.2 Consola de Linux
Realice CTRL-ALT-F1 para ir a una consola virtual. Haga lo mismo pero con F2, F3, F4, F5 y F6. Qué ha sucedido?
Con la opción CTRL- ALT-F1 se muestra una pantalla modo comando(alfanumerico), que pide que se introduzca el login y password, lo más interesante es que al escribir el password no se ve nada, para proteger su contraseña.
Igualmente ocurre con CTRL-ALT-F2 CTRL-ALT-F3 , CTRL-ALT-F4, CTRL-ALT-F5, CTRL-ALT-F6 la unica diferencia encontrada es que al final de la linea de Last Login aparece on tty2, el número final es diferente en todos los casos, es decir incrementa por cada CTRL-ALT que se realice on tty3, on tty4, on tty5.
Retorne al modo gráfico con CTRL-ALT-F7.
1.3 Visualización de su identificativo:
a) Visualizar el nombre.
who am I
Se visualiza el usuario con el que entramos al modo comando.
b) ¿Qué usuarios están conectados al sistema en este momento?.
who
solo un usuario user1
1.4 Visualice la siguiente información sobre el sistema.
a) nombre
uname
Linux
b) versión del sistema operativo (fecha de entrega al pùblico)
uname -v
SMP Tue Oct 30 13:55:12 EDT 2007
c) hardware que lo soporta.
uname -a
Linux l1403.fisc.utp.ac.pa 2.6.23.1-42.fc8 #SMP Tue Oct 30 13:55:12 EDT 2007 i 686 i686 i386 GNU/Linux
1.5 Fechas:
a) Visualice la fecha y hora actual.
Date
Sat Jun 7 01:29:31 EST 2008 (nos indica la fecha en la que estamos ).
b) Visualice el calendario completo del año.
cal 2009
Nos muestra el calendario del 2009.
c) Consulte el día de la semana de su cumpleaños en el año 2006.
cal 7 2008
¿Qué ocurre si solo escribe en la linea de comando cal...?
Muestra el mes en que nos encontramos y aparece sombreado el día en que nos encontramos.
1.6 Familiaricese con el manual en línea (man man). Elija una sección concreta para
algo que esté en varias secciones. Por ejemplo, haga man uname, man cal y man pwd. Para salir del manual solo oprima la tecla q… así se habilitará la línea de comando nuevamente…
¿Qué observó en pantalla al escribir y ejecutar los comandos man acompañándolos de cal, pwd y uname?
Nos muestra la descripción general del comando es decir su nombre, sinopsis y su descripción para cada uno de estos comandos, en el comando man pwd se muestra author, reporting bugs.
3- Manejo de archivos y directorios
Determine en qué directorio está con pwd y navegue por los directorios con cd directorio, viendo qué archivos hay en ellos y de qué tipo son. Visite /etc, /dev, /bin, /usr/bin, /sbin, etc.
3.1 Para obtener la ruta de acceso absoluta al directorio actual
#pwd
¿Qué resultado obtuvo? ¿Qué apareció en pantalla?
Se obtuvo la dirección donde estoy ubicado:
/home/user1
3.2 Para movernos en el entorno
#cd /etc (escriba esto y dé enter... )
¿Qué resultado obtuvo?
Nos vamos al directorio etc.Pero el sistema manda un mensaje que indica que el directorio no existe.
Cambiarse al directorio /dev con el comando correspondiente.
¿Qué comando específico para cambiarse al directorio dev exitosamente?
Utilizamos el comando cd /dev para cambiarse al directorio dev exitoxamente.
Para ir a nuestro directorio de trabajo (el directorio de trabajo es el directorio
raìz del usuario -cuenta- que usted està usando)
#cd
3.3 Examine qué archivos o directorios hay en el directorio en curso con ls, ls -l , ls -a,
# ls -F, etc. Què se observa al emplear ls- r y ls –q?
Son las mismas carpetas en ambos casos pero ordenadas en diferente forma.
Desde el directorio home (ejecute el comando pwd y verá que usted está en el directorio home de su cuenta de usuario) ver todos los archivos y directorios del directorio raíz que en su nombre incluyan la letra l.También, desde home, ver la lista de archivos y directorios situados en /usr/bin en cuyo nombre esté presente la letra l. Veamos (escriba:): #cd #ls *l*
#ls -d *l (con la opción -d se evita que me salga el contenido de los directorios)
#ls /usr/bin l*
# ls -l (muestra el contenido del directorio actual sin los detalles de cada elemento a desplegar)
#ls –la (muestra información en formato largo, inclusive los archivos ocultos)
Se nos pide listar por orden cronológico el contenido del directorio abuelo de nuestro directorio home. #ls -l ../.. (observe el orden cronològico) #ls -lt ../..(ver que el orden cronológico es de más nuevo a más antiguo)
Qué información nos muestra el siguiente comando?
# ls -F more
(el caracter está en la tecla del 1 o en la tecla del al lado del 1, arrriba de la tecla de tabular... oprima la tecla Alt ubicada a la derecha de la barra espaciadora, en conjunto con la tecla que tiene el caracter o ¦... cuando el comando ejecute, oprima la barra espaciadora para que continúe el despliegue de los datos, o enter para que se despliegue un elemento adicional cada vez)
# ls –R more
¿Cuaĺ es la diferencia entre este comando y el anterior?
La diferencia es esta en que el primer comando tiene archivos y carpetas con “/ ” mientras que el otro comando muestra los archivos y carpetas sin el “ / ”
3.4 Crea los directorios dir1 y dir2 en tu directorio /home/user1.
mkdir dir1 dir
Sin cambiarte del directorio /home/user1, crea en dir1 otro directorio que se llame tmp.
Desde el directorio/tmp:
· Ver el contenido del directorio actual.
ls
ls cuenta con un dir y tmp que son los directorios que acabamos de crear.
· Ver el contenido del directorio /bin.
ls /bin
Se muestran muchos comando,archivos instalable y otros.
· Listar sólo los nombres de los archivos y subdirectorios del directorio /bin que empiecen por la letra m (detalle qué ocurriò)
ls /bin m*
sale mydir:
· Verificar si del directorio /usr cuelga otro directorio llamado pub. En caso afirmativo, determinar la fecha de su creación.
No existe el directorio llamado pub
Regresar al directorio anterior
#cd ..
Cambiarse a un directorio en específico (ruta absoluta)
#cd /etc
para retornar al directorio de trabajo
#cd
3.5 Copiar archivos o directorios
Crear un archivo en blanco
#touch temp1
Copiar un archivo viejo a uno nuevo
cp temp1 temp2
copiar un archivo en otro directorio
cp temp1 /tmp
cp temp1 dir2
cp temp1 dir1/nuevo
cp /home/user1/dir1/nuevo /tmp/nuevo1
Qué es lo que hacen los siguientes comandos?
#cp /etc/termcap ../
Lo que hace es que copian un archivo en un directorio superior
#cp /etc/shells /home/user1/
copia etc/ termcap en el directorio user1 dentro del directorio home
3.6 Cambiar el nombre de un archivo
#mv temp2 practica
Mover el archivo hacia otro directorio
#mv practica dir1
3.7 Borre los archivos
#rm temp1 temp2 es lo mismo que escribir rm temp*
borrar directorio
#rm –r dir1
#rmdir dir2
3.8 Para buscar información específica en un directorio
para sacar en pantalla todos los archivos y directorios del disco , valdría con :
#find / -print (para interrumpir la respuesta del comando, teclee la tecla Esc)
Si se desean sólo archivos ó sólo directorios:
#find / -type f -print
Buscar todos los archivos y directorios que tengan más de 30 días de antigüedad:
find / -atime +30 -print
4. Salir del Sistema y sesión
4.1 Para finalizar una sesión
exit o logout
4.2 Salir del sistema
CTRL.-ALT-DEL
halt
Si ejecutamos los siguientes comandos, qué sucede?
shutdown –h now
shutdown –r now
Cuando se uso el comando shutdown –h now la maquina se deberia reiniciar pero como somos el root no se puede.
Cuando se uso el comando shutdown -r now la maquina se deberia apagar pero como no somos el root no podemos.
Salga del sistema utilizando algunos de los comandos aprendidos. ¿Qué comando utilizó?
Usamos CTRL-ALT-DEL y reinicia la maquina nuevamente
¿Qué pantalla apareció luego de ejecutar dicho comando?
Aparece una pantalla negra cargando el sistemas(con ctrl-alt-del)
Ejercicio.
Crear en LINUX la siguiente estructura de directorios:

Para crear el árbol
· mkdir nombre dir
· cd nombre
· mkdir pseudocodigo dir
· mkdir Pascal dir
· mkdir C dir
· mkdir tmp
· cd pseudocodigo
· mkdir pruebas dir
· mkdir copias dir
· cd ..
· cd Pascal
· mkdir pruebas dir
· mkdir copias dir
· cd ..
· cd C
· mkdir pruebas dir
· mkdir copias dir
· cd
Arranque la máquina en modo LINUX y autentifiquese. (USER: USER1, PASSWORD: USER01, si no funciona ases[orese con el docente)
1.1. Indique los pasos para iniciar una sesión de trabajo, utilizando su identificativo (logname) y su palabra de paso (password).
Se enciende la maquina se presiona f8 y luego en la pantalla aparece una pantalla donde se selecioba fedora y se presiona enter luego .
1.2 Consola de Linux
Realice CTRL-ALT-F1 para ir a una consola virtual. Haga lo mismo pero con F2, F3, F4, F5 y F6. Qué ha sucedido?
Con la opción CTRL- ALT-F1 se muestra una pantalla modo comando(alfanumerico), que pide que se introduzca el login y password, lo más interesante es que al escribir el password no se ve nada, para proteger su contraseña.
Igualmente ocurre con CTRL-ALT-F2 CTRL-ALT-F3 , CTRL-ALT-F4, CTRL-ALT-F5, CTRL-ALT-F6 la unica diferencia encontrada es que al final de la linea de Last Login aparece on tty2, el número final es diferente en todos los casos, es decir incrementa por cada CTRL-ALT que se realice on tty3, on tty4, on tty5.
Retorne al modo gráfico con CTRL-ALT-F7.
1.3 Visualización de su identificativo:
a) Visualizar el nombre.
who am I
Se visualiza el usuario con el que entramos al modo comando.
b) ¿Qué usuarios están conectados al sistema en este momento?.
who
solo un usuario user1
1.4 Visualice la siguiente información sobre el sistema.
a) nombre
uname
Linux
b) versión del sistema operativo (fecha de entrega al pùblico)
uname -v
SMP Tue Oct 30 13:55:12 EDT 2007
c) hardware que lo soporta.
uname -a
Linux l1403.fisc.utp.ac.pa 2.6.23.1-42.fc8 #SMP Tue Oct 30 13:55:12 EDT 2007 i 686 i686 i386 GNU/Linux
1.5 Fechas:
a) Visualice la fecha y hora actual.
Date
Sat Jun 7 01:29:31 EST 2008 (nos indica la fecha en la que estamos ).
b) Visualice el calendario completo del año.
cal 2009
Nos muestra el calendario del 2009.
c) Consulte el día de la semana de su cumpleaños en el año 2006.
cal 7 2008
¿Qué ocurre si solo escribe en la linea de comando cal...?
Muestra el mes en que nos encontramos y aparece sombreado el día en que nos encontramos.
1.6 Familiaricese con el manual en línea (man man). Elija una sección concreta para
algo que esté en varias secciones. Por ejemplo, haga man uname, man cal y man pwd. Para salir del manual solo oprima la tecla q… así se habilitará la línea de comando nuevamente…
¿Qué observó en pantalla al escribir y ejecutar los comandos man acompañándolos de cal, pwd y uname?
Nos muestra la descripción general del comando es decir su nombre, sinopsis y su descripción para cada uno de estos comandos, en el comando man pwd se muestra author, reporting bugs.
3- Manejo de archivos y directorios
Determine en qué directorio está con pwd y navegue por los directorios con cd directorio, viendo qué archivos hay en ellos y de qué tipo son. Visite /etc, /dev, /bin, /usr/bin, /sbin, etc.
3.1 Para obtener la ruta de acceso absoluta al directorio actual
#pwd
¿Qué resultado obtuvo? ¿Qué apareció en pantalla?
Se obtuvo la dirección donde estoy ubicado:
/home/user1
3.2 Para movernos en el entorno
#cd /etc (escriba esto y dé enter... )
¿Qué resultado obtuvo?
Nos vamos al directorio etc.Pero el sistema manda un mensaje que indica que el directorio no existe.
Cambiarse al directorio /dev con el comando correspondiente.
¿Qué comando específico para cambiarse al directorio dev exitosamente?
Utilizamos el comando cd /dev para cambiarse al directorio dev exitoxamente.
Para ir a nuestro directorio de trabajo (el directorio de trabajo es el directorio
raìz del usuario -cuenta- que usted està usando)
#cd
3.3 Examine qué archivos o directorios hay en el directorio en curso con ls, ls -l , ls -a,
# ls -F, etc. Què se observa al emplear ls- r y ls –q?
Son las mismas carpetas en ambos casos pero ordenadas en diferente forma.
Desde el directorio home (ejecute el comando pwd y verá que usted está en el directorio home de su cuenta de usuario) ver todos los archivos y directorios del directorio raíz que en su nombre incluyan la letra l.También, desde home, ver la lista de archivos y directorios situados en /usr/bin en cuyo nombre esté presente la letra l. Veamos (escriba:): #cd #ls *l*
#ls -d *l (con la opción -d se evita que me salga el contenido de los directorios)
#ls /usr/bin l*
# ls -l (muestra el contenido del directorio actual sin los detalles de cada elemento a desplegar)
#ls –la (muestra información en formato largo, inclusive los archivos ocultos)
Se nos pide listar por orden cronológico el contenido del directorio abuelo de nuestro directorio home. #ls -l ../.. (observe el orden cronològico) #ls -lt ../..(ver que el orden cronológico es de más nuevo a más antiguo)
Qué información nos muestra el siguiente comando?
# ls -F more
(el caracter está en la tecla del 1 o en la tecla del al lado del 1, arrriba de la tecla de tabular... oprima la tecla Alt ubicada a la derecha de la barra espaciadora, en conjunto con la tecla que tiene el caracter o ¦... cuando el comando ejecute, oprima la barra espaciadora para que continúe el despliegue de los datos, o enter para que se despliegue un elemento adicional cada vez)
# ls –R more
¿Cuaĺ es la diferencia entre este comando y el anterior?
La diferencia es esta en que el primer comando tiene archivos y carpetas con “/ ” mientras que el otro comando muestra los archivos y carpetas sin el “ / ”
3.4 Crea los directorios dir1 y dir2 en tu directorio /home/user1.
mkdir dir1 dir
Sin cambiarte del directorio /home/user1, crea en dir1 otro directorio que se llame tmp.
Desde el directorio/tmp:
· Ver el contenido del directorio actual.
ls
ls cuenta con un dir y tmp que son los directorios que acabamos de crear.
· Ver el contenido del directorio /bin.
ls /bin
Se muestran muchos comando,archivos instalable y otros.
· Listar sólo los nombres de los archivos y subdirectorios del directorio /bin que empiecen por la letra m (detalle qué ocurriò)
ls /bin m*
sale mydir:
· Verificar si del directorio /usr cuelga otro directorio llamado pub. En caso afirmativo, determinar la fecha de su creación.
No existe el directorio llamado pub
Regresar al directorio anterior
#cd ..
Cambiarse a un directorio en específico (ruta absoluta)
#cd /etc
para retornar al directorio de trabajo
#cd
3.5 Copiar archivos o directorios
Crear un archivo en blanco
#touch temp1
Copiar un archivo viejo a uno nuevo
cp temp1 temp2
copiar un archivo en otro directorio
cp temp1 /tmp
cp temp1 dir2
cp temp1 dir1/nuevo
cp /home/user1/dir1/nuevo /tmp/nuevo1
Qué es lo que hacen los siguientes comandos?
#cp /etc/termcap ../
Lo que hace es que copian un archivo en un directorio superior
#cp /etc/shells /home/user1/
copia etc/ termcap en el directorio user1 dentro del directorio home
3.6 Cambiar el nombre de un archivo
#mv temp2 practica
Mover el archivo hacia otro directorio
#mv practica dir1
3.7 Borre los archivos
#rm temp1 temp2 es lo mismo que escribir rm temp*
borrar directorio
#rm –r dir1
#rmdir dir2
3.8 Para buscar información específica en un directorio
para sacar en pantalla todos los archivos y directorios del disco , valdría con :
#find / -print (para interrumpir la respuesta del comando, teclee la tecla Esc)
Si se desean sólo archivos ó sólo directorios:
#find / -type f -print
Buscar todos los archivos y directorios que tengan más de 30 días de antigüedad:
find / -atime +30 -print
4. Salir del Sistema y sesión
4.1 Para finalizar una sesión
exit o logout
4.2 Salir del sistema
CTRL.-ALT-DEL
halt
Si ejecutamos los siguientes comandos, qué sucede?
shutdown –h now
shutdown –r now
Cuando se uso el comando shutdown –h now la maquina se deberia reiniciar pero como somos el root no se puede.
Cuando se uso el comando shutdown -r now la maquina se deberia apagar pero como no somos el root no podemos.
Salga del sistema utilizando algunos de los comandos aprendidos. ¿Qué comando utilizó?
Usamos CTRL-ALT-DEL y reinicia la maquina nuevamente
¿Qué pantalla apareció luego de ejecutar dicho comando?
Aparece una pantalla negra cargando el sistemas(con ctrl-alt-del)
Ejercicio.
Crear en LINUX la siguiente estructura de directorios:

Para crear el árbol
· mkdir nombre dir
· cd nombre
· mkdir pseudocodigo dir
· mkdir Pascal dir
· mkdir C dir
· mkdir tmp
· cd pseudocodigo
· mkdir pruebas dir
· mkdir copias dir
· cd ..
· cd Pascal
· mkdir pruebas dir
· mkdir copias dir
· cd ..
· cd C
· mkdir pruebas dir
· mkdir copias dir
· cd
laboratorio # 3.2
1. Creación de archivo de texto y uso del redireccionamiento:
Crea en el directorio dir1 un archivo datos1 de 5 líneas de texto con el nombre, apellidos, dirección, teléfono y fecha. Para ello, redireccione la salida estándar a un archivo usando el símbolo ">". Visualízalo en pantalla.
# cat >dir1/datos1(salir con ctrl.-d)
# cat dir1/datos1
Cat: edita un archivoexistente o crea un archivo.
Añade al archivo anterior una sexta línea con un mensaje de despedida. Visualícelo en pantalla.
# cd dir1se llama al directorio dir1
# cat >> datos1esta sentencia agrega sobre un archivo que ya cree.
Escriba el mensaje de despedida
CTRL-D
# cat datos1despliega la información contenida en datos1
#ls -l > datos2
Redireccionando a un archivo de texto.
También puede ser redireccionada la entrada estándar usando el símbolo "<" para crear un nuevo archivo.
#cat<>> dato3: redirecciona la información de datos 2 a un archivo nuevo como los es dato3
# cat datos1 datos2 datos3: se visualiza los archivos datos1, datos2 y datos3.Para ver que contiene cada uno de ellos.
Visualizar los datos del archivo con more y con less.
# more datos2, se visualizan todos los datos a la vez
# less datos2 ,
Se visualizan poco a poco.
2. Enlaces Logicos:
# ln datos1 datos4, se enlaza, y se despliega todo lo que tenga datos1 a datos 4
# cat datos4: se muestran los datos que contiende dicho archivo
a. Si usamos #ls-i, veremos que los dos archivos tienen i-nodos diferentes, en efecto.
Pero qué pasa si modificamos el archivo datos4?: se modifican los 2 archivos y se actualizan.
# ls –l(comparé el tamaño de datos1 con datos4)
# cat >> datos3
b. Indique una orden que permita ver el número de enlaces que tiene los archivos "datos1".
#ls -l datos1,se ve el enlace que se creo,rw-rw—r—1 user1 user1 39 jun 21 08:44 datos1
¿Se puede hacer un enlace de un directorio existente? Por ejemplo ln original dir1, pruébelo!
R: No puede hacerse enlaces fuertes para un directorio existente.
Y si el enlace es simbólico ¿Se puede hacer? ¿Qué aspecto tiene?
R: Dice que no procede, ya que entre fichero no se puede, ya que no tiene ficheros (en el caso de ahora si dejo)
c. ¿Qué sucede si se borra el archivo "datos1"? ¿Permanece el enlace simbólico?
R: No permanece el enlace simbólico ya que datos1 ha sido borrado solo queda el archivo datos 4 que tambien habia sido creado.
3. Mover y copiar archivos de texto:
Copie el archivo datos3 en el directorio dir1 con nombre datos4. ¿Qué relación habrá entre datos1 y datos4: copia o enlace lógico? ¿Podría comprobarlo?
Solo se copio, ya que el contenido al listar tiene el mismo tamaño,1 es copia y enlace es más de uno.
# cp datos3 datos4
# mv datos2 ../PRUEBA2 se mueve datos2 al directorio PRUEBA2
Mueva el archivo datos3 al directorio PRUEBA2 con el nombre datos5. ¿Qué relación habrá entre datos1 y datos5: copia o enlace lógico? ¿Podría comprobarlo?
R:La relacion entre ambos es solo una copia.
$ mv datos3 ../PRUEBA2/datos5
# mv datos4 datos6: este formato cambia el nombre de un archivo
Cambie el nombre de datos2 por del PRUEBA2.1 sin cambiarlo de directorio. ¿Qué pasó?
# mv ../PRUBA2/datos2 ../PRUEBA2/PRUEBA2.1:
R: se mando un correo que dice: in/var/sool/mail/root.
Mueva todos los archivos del directorio dir1 que empiecen por datos al directorio
PRUEBA2
# mv datos* ../PRUEBA2: esta sentencia mueve todos los archivos que empiecen con el nombre dato, del directorio dir1, al directorio prueba2.
Añada el contenido del archivo datos1 a datos1. ¿Se puede?:
# cd ~/PRUEBA2
# cat datos1 >> datos1
R: los ficheros de entrada y salidas son iguales
Añada el contenido de datos5 a datos1. ¿Se puede?, si se pueden copiar ya que son diferentes.
4. Realizar búsqueda de caracteres
a) Buscar las líneas que contengan la palabra root del archivo /etc/passwd.
# grep root /etc/passwd, se da la búsqueda del número de líneas del root, de cualquier lado.
b) Liste los datos de aquellos cuyo nombre empiece por "A" y su teléfono acabe por “00”
# grep “^A” agenda1 grep “00$”
Este dato no existe, pero esta sentencia permite obtener todos los datos de agenda que contengan la descripción 00$. Y se buscan los caracteres que cotengan mayúsculas.
c) Liste el número cuentas que no sean de root. :
Salen todos las contraseñas que existen en el sistema.
# grep -v “root” /etc/passwd
d) Liste todos los archivos del directorio /etc que se han “host”
# grep -v “host”
Se buscan todos los datos que tengan la palabra host, se lista el contenido del directorio de esta forma:ls/etc/Grez *cfg/lp, ls/etc > directorio grep-i “host”.
5. Contar el número de líneas, palabras y caracteres
# wc ../PRUEBAS/datos1
#wc -l/etc (número de líneas del directorio etc)
Se contabiliza el número de líneas, palabras y caracteres que estan conectadas a los archivos, datos y directorios. Se obtiene: 942286, el 9 es el número de líneas, 42 es la cantidad de palabra que se tenga, 286 caracteres.
Ls/etc/wc: cuenta la cantidad de directorios
Muestra en pantalla el contenido de datos1 con sus líneas numeradas. Repite la acción anterior redirigiendo la salida al archivo datos1.num
# cat -n datos1
Se cuentan los números de líneas y salieron 9
# cat -n datos1 > datos1.num
Se reciben los datos 1, pero en este caso no aparecen ya que los datos son los mismos.
6. Uso de filtro o pipe ()
¿Cómo podemos visualizar tranquilamente la salida antes de que desaparezcade la pantalla?Use la barra vertical () para entubar comandos. Escriba#ls –al /etc less.
Se muestra poco a poco, línea por línea.Es necesario presionar enter para que se de,poco a poco. Solo se buscan los que el usuario solicita.
Visualizar el directorio actual y del directorio /usr/bin pantalla por pantalla.
# ls more
# ls /usr/bin more.
Se muestran todos de una vez,ademas que se ordenan alfabéticamente.
Búsque los archivos con caracteres host en el directorio /etc.
#ls /etc grep hostmuestra los archivos uno por uno.
Ahora que indique la cantidad de líneas.
#ls /etc grep host wc –l,
Nos da como resultado 4 lineas, se cuents la cantidad de archivos listados en ls/etc.
7. Visualización del inicio y final de un archivo de texto.
- Para ir al inicio de un archivo.
#head .bash_history: indica el inicio del archivo hace el mismo que el less, se danel historial por cada uno de los usuarios.Nos presenta todo los cambios que han sido hecho(borrados,actualizado,creado) en fin el historial de 1 o mas archivos.
- Para ir a las últimas líneas del archivo
#tail -f .bash_history: final del archivo, hace lo mismo que el less
8.- Visualización del inicio y final de un archivo de texto
_
• Para ir al inicio de un archivo: Comando: #head .bash_history. Resultado: cdcd..cd:cd [root@root]cd rootls /ls /usr/binls rootls /root#date
_• Para ir a las últimas líneas del archivo: Comando: #tail -f .bash_history. Resultado: wc etc/wc –l datos1wc –l datos1cat -n datos1
• Repetir la acción anterior redirigiendo la salida al archivo datos1.num.#cat -n datos1 > datos1.numcat -n datos1 > datos1.numcat -n datos1 > datos1.numcat -n datos1 > datos1.num
Práctica Vi No. 1
• Crear un archivo numero.linea que contenga el texto "línea n".
Ejemplo:
línea 1
línea 2
etc.
• La idea es que se llene más de una pantalla
a) Mover el cursor a:
- la primera línea de la pagina --> :0
- la ultima línea de la pagina --> :$
- la primera línea del archivo --> :1G - la ultima línea del archivo --> :G
- línea 15: --> :15G
b) Borrar la palabra línea del renglón 10 --> : 10 d
d) Borrar "ero" de la palabra numero insertada en c)
e) Borrar las líneas 3,4 y 5. Reinsertarlas luego de la línea 12.
f) Copiar la línea 9 después de la línea 2 --> :9 t 2
g) Mover la línea 10 luego de la 13 --> :10 m 13
h) Numerar las líneas --> :set nu
Grabar el archivo y salir --> :wq
Crea en el directorio dir1 un archivo datos1 de 5 líneas de texto con el nombre, apellidos, dirección, teléfono y fecha. Para ello, redireccione la salida estándar a un archivo usando el símbolo ">". Visualízalo en pantalla.
# cat >dir1/datos1(salir con ctrl.-d)
# cat dir1/datos1
Cat: edita un archivoexistente o crea un archivo.
Añade al archivo anterior una sexta línea con un mensaje de despedida. Visualícelo en pantalla.
# cd dir1se llama al directorio dir1
# cat >> datos1esta sentencia agrega sobre un archivo que ya cree.
Escriba el mensaje de despedida
CTRL-D
# cat datos1despliega la información contenida en datos1
#ls -l > datos2
Redireccionando a un archivo de texto.
También puede ser redireccionada la entrada estándar usando el símbolo "<" para crear un nuevo archivo.
#cat<>> dato3: redirecciona la información de datos 2 a un archivo nuevo como los es dato3
# cat datos1 datos2 datos3: se visualiza los archivos datos1, datos2 y datos3.Para ver que contiene cada uno de ellos.
Visualizar los datos del archivo con more y con less.
# more datos2, se visualizan todos los datos a la vez
# less datos2 ,
Se visualizan poco a poco.
2. Enlaces Logicos:
# ln datos1 datos4, se enlaza, y se despliega todo lo que tenga datos1 a datos 4
# cat datos4: se muestran los datos que contiende dicho archivo
a. Si usamos #ls-i, veremos que los dos archivos tienen i-nodos diferentes, en efecto.
Pero qué pasa si modificamos el archivo datos4?: se modifican los 2 archivos y se actualizan.
# ls –l(comparé el tamaño de datos1 con datos4)
# cat >> datos3
b. Indique una orden que permita ver el número de enlaces que tiene los archivos "datos1".
#ls -l datos1,se ve el enlace que se creo,rw-rw—r—1 user1 user1 39 jun 21 08:44 datos1
¿Se puede hacer un enlace de un directorio existente? Por ejemplo ln original dir1, pruébelo!
R: No puede hacerse enlaces fuertes para un directorio existente.
Y si el enlace es simbólico ¿Se puede hacer? ¿Qué aspecto tiene?
R: Dice que no procede, ya que entre fichero no se puede, ya que no tiene ficheros (en el caso de ahora si dejo)
c. ¿Qué sucede si se borra el archivo "datos1"? ¿Permanece el enlace simbólico?
R: No permanece el enlace simbólico ya que datos1 ha sido borrado solo queda el archivo datos 4 que tambien habia sido creado.
3. Mover y copiar archivos de texto:
Copie el archivo datos3 en el directorio dir1 con nombre datos4. ¿Qué relación habrá entre datos1 y datos4: copia o enlace lógico? ¿Podría comprobarlo?
Solo se copio, ya que el contenido al listar tiene el mismo tamaño,1 es copia y enlace es más de uno.
# cp datos3 datos4
# mv datos2 ../PRUEBA2 se mueve datos2 al directorio PRUEBA2
Mueva el archivo datos3 al directorio PRUEBA2 con el nombre datos5. ¿Qué relación habrá entre datos1 y datos5: copia o enlace lógico? ¿Podría comprobarlo?
R:La relacion entre ambos es solo una copia.
$ mv datos3 ../PRUEBA2/datos5
# mv datos4 datos6: este formato cambia el nombre de un archivo
Cambie el nombre de datos2 por del PRUEBA2.1 sin cambiarlo de directorio. ¿Qué pasó?
# mv ../PRUBA2/datos2 ../PRUEBA2/PRUEBA2.1:
R: se mando un correo que dice: in/var/sool/mail/root.
Mueva todos los archivos del directorio dir1 que empiecen por datos al directorio
PRUEBA2
# mv datos* ../PRUEBA2: esta sentencia mueve todos los archivos que empiecen con el nombre dato, del directorio dir1, al directorio prueba2.
Añada el contenido del archivo datos1 a datos1. ¿Se puede?:
# cd ~/PRUEBA2
# cat datos1 >> datos1
R: los ficheros de entrada y salidas son iguales
Añada el contenido de datos5 a datos1. ¿Se puede?, si se pueden copiar ya que son diferentes.
4. Realizar búsqueda de caracteres
a) Buscar las líneas que contengan la palabra root del archivo /etc/passwd.
# grep root /etc/passwd, se da la búsqueda del número de líneas del root, de cualquier lado.
b) Liste los datos de aquellos cuyo nombre empiece por "A" y su teléfono acabe por “00”
# grep “^A” agenda1 grep “00$”
Este dato no existe, pero esta sentencia permite obtener todos los datos de agenda que contengan la descripción 00$. Y se buscan los caracteres que cotengan mayúsculas.
c) Liste el número cuentas que no sean de root. :
Salen todos las contraseñas que existen en el sistema.
# grep -v “root” /etc/passwd
d) Liste todos los archivos del directorio /etc que se han “host”
# grep -v “host”
Se buscan todos los datos que tengan la palabra host, se lista el contenido del directorio de esta forma:ls/etc/Grez *cfg/lp, ls/etc > directorio grep-i “host”.
5. Contar el número de líneas, palabras y caracteres
# wc ../PRUEBAS/datos1
#wc -l/etc (número de líneas del directorio etc)
Se contabiliza el número de líneas, palabras y caracteres que estan conectadas a los archivos, datos y directorios. Se obtiene: 942286, el 9 es el número de líneas, 42 es la cantidad de palabra que se tenga, 286 caracteres.
Ls/etc/wc: cuenta la cantidad de directorios
Muestra en pantalla el contenido de datos1 con sus líneas numeradas. Repite la acción anterior redirigiendo la salida al archivo datos1.num
# cat -n datos1
Se cuentan los números de líneas y salieron 9
# cat -n datos1 > datos1.num
Se reciben los datos 1, pero en este caso no aparecen ya que los datos son los mismos.
6. Uso de filtro o pipe ()
¿Cómo podemos visualizar tranquilamente la salida antes de que desaparezcade la pantalla?Use la barra vertical () para entubar comandos. Escriba#ls –al /etc less.
Se muestra poco a poco, línea por línea.Es necesario presionar enter para que se de,poco a poco. Solo se buscan los que el usuario solicita.
Visualizar el directorio actual y del directorio /usr/bin pantalla por pantalla.
# ls more
# ls /usr/bin more.
Se muestran todos de una vez,ademas que se ordenan alfabéticamente.
Búsque los archivos con caracteres host en el directorio /etc.
#ls /etc grep hostmuestra los archivos uno por uno.
Ahora que indique la cantidad de líneas.
#ls /etc grep host wc –l,
Nos da como resultado 4 lineas, se cuents la cantidad de archivos listados en ls/etc.
7. Visualización del inicio y final de un archivo de texto.
- Para ir al inicio de un archivo.
#head .bash_history: indica el inicio del archivo hace el mismo que el less, se danel historial por cada uno de los usuarios.Nos presenta todo los cambios que han sido hecho(borrados,actualizado,creado) en fin el historial de 1 o mas archivos.
- Para ir a las últimas líneas del archivo
#tail -f .bash_history: final del archivo, hace lo mismo que el less
8.- Visualización del inicio y final de un archivo de texto
_
• Para ir al inicio de un archivo: Comando: #head .bash_history. Resultado: cdcd..cd:cd [root@root]cd rootls /ls /usr/binls rootls /root#date
_• Para ir a las últimas líneas del archivo: Comando: #tail -f .bash_history. Resultado: wc etc/wc –l datos1wc –l datos1cat -n datos1
• Repetir la acción anterior redirigiendo la salida al archivo datos1.num.#cat -n datos1 > datos1.numcat -n datos1 > datos1.numcat -n datos1 > datos1.numcat -n datos1 > datos1.num
Práctica Vi No. 1
• Crear un archivo numero.linea que contenga el texto "línea n".
Ejemplo:
línea 1
línea 2
etc.
• La idea es que se llene más de una pantalla
a) Mover el cursor a:
- la primera línea de la pagina --> :0
- la ultima línea de la pagina --> :$
- la primera línea del archivo --> :1G - la ultima línea del archivo --> :G
- línea 15: --> :15G
b) Borrar la palabra línea del renglón 10 --> : 10 d
d) Borrar "ero" de la palabra numero insertada en c)
e) Borrar las líneas 3,4 y 5. Reinsertarlas luego de la línea 12.
f) Copiar la línea 9 después de la línea 2 --> :9 t 2
g) Mover la línea 10 luego de la 13 --> :10 m 13
h) Numerar las líneas --> :set nu
Grabar el archivo y salir --> :wq
Laboratorio # 3.3
Laboratorio 3.3
1.- Ordenar archivos
Deberá crear un archivo de texto llamado dir1/agenda1, con la siguiente información:
Nombre telefono
Juan 303-3030
Maria 101-3032
Pablo 402-5060
Cesar 506-0394
Judith 796-4044
Patricia 695-4004
derv@algaju:~>cat >dir1/agenda1
juan 303-3030
maria 101-3032
pablo 402-5060c
esar 506-0394
judith 796-4044
patricia695-4004
1.1 Liste por pantalla el número de personas que almacena el archivo "agenda1" sin repeticiones.
derv@algaju:~> sort -u dir1/agenda1
cesar 506-0394
juan 303-3030
judith 796-4044
maria 101-3032
pablo 402-5060
patricia695-4004
1.2 Liste en orden alfabético de nombres el archivo "agenda1".
derv@algaju:~> sort +1 -d dir1/agenda1
patricia695-4004
maria 101-3032
juan 303-3030
pablo 402-5060
cesar 506-0394
judith 796-4044
1.3.- Añade a datos1.num el contenido de datos1 con sus líneas numeradas.
#cat -n agenda1 >> agenda1.num
derv@algaju:~/dir1> cat -n agenda1.num
1 juan 303-30302
maria 101-30323
pablo 402-50604
cesar 506-03945
judith 796-40446
patricia695-4004
Muestra de nuevo agenda1.num con sus líneas numeradas. Crea un archivo agenda1.ord con las líneas de agenda1 ordenados. Visualízalo.
cat -n agenda1.num
derv@algaju:~/dir1> cat -n sort -u agenda1>>agenda1.ord
derv@algaju:~/dir1> cat -n agenda1.ord
1 cesar 506-03942
juan 303-30303
judith 796-40444
maria 101-30325
pablo 402-50606
patricia695-4004
1.4 Cree otro archivo con la estructura de "agenda1" y llámelo "agenda2". Clasifique en orden inverso los archivos "agenda1" y "agenda2", colocando la salida en el archivo"ageninv" y utilizando el segundo campo como clave de clasificación.
derv@algaju:~/dir1> sort +1 -r agenda1 agenda2>ageninv
derv@algaju:~/dir1> cat agenda2
judith 796-4044
cesar 506-0394
pablo 402-5060
juan 303-3030
maria 101-3032
patricia695-4004
derv@algaju:~/dir1> cat agenda1
juan 303-3030
maria 101-3032
pablo 402-5060
cesar 506-0394
judith 796-4044
patricia695-4004
1.5 Visualice las líneas del archivo "agenda2" ordenadas, suprimiendo todas menos la primera ocurrencia de las líneas que tengan el mismo apellido.
derv@algaju:~/dir1> sort -d agenda2 uniq -d
derv@algaju:~/dir1> cat agenda2
judith 796-4044
cesar 506-0394
pablo 402-5060
juan 303-3030
maria 101-3032
patricia695-4004
1.6 Visualice el archivo de cuentas de usuarios, ordenado por identificativo de usuario(Recuerde que se trata del tercer campo y que están separados por ":”).
derv@algaju:~/dir1> sort -d -t: -k3 /etc/passwd
root:x:0:0:root:/root:/bin/bashderv:x:1000:100:derv:/home/derv:/bin/bashmessagebus:x:100:101:User for D-BUS:/var/run/dbus:/bin/falsehaldaemon:x:101:102:User for haldaemon:/var/run/hal:/bin/falseuucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bashsuse-ncc:x:102:104:Novell Customer Center User:/var/lib/YaST2/suse-ncc-fakehome:/bin/bashbeagleindex:x:103:105:User for Beagle indexing:/var/cache/beagle:/bin/bashdhcpd:x:104:65534:DHCP server daemon:/var/lib/dhcp:/bin/falseradiusd:x:105:106:Radius daemon:/var/lib/radiusd:/bin/falseprivoxy:x:106:107:Daemon user for privoxy:/var/lib/privoxy:/bin/falsequagga:x:107:108:Quagga routing daemon:/var/run/quagga:/bin/falsebin:x:1:1:bin:/bin:/bin/bashgames:x:12:100:Games account:/var/games:/bin/bashman:x:13:62:Manual pages viewer:/var/cache/man:/bin/bashdaemon:x:2:2:Daemon:/sbin:/bin/bashat:x:25:25:Batch jobs daemon:/var/spool/atjobs:/bin/bashwwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/falsesquid:x:31:65534:WWW-proxy squid:/var/cache/squid:/bin/falseirc:x:39:65534:IRC daemon:/usr/lib/ircd:/bin/bashftp:x:40:49:FTP account:/srv/ftp:/bin/bashnamed:x:44:44:Name server daemon:/var/lib/named:/bin/falselp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bashpostfix:x:51:51:Postfix Daemon:/var/spool/postfix:/bin/falsemysql:x:60:109:MySQL database admin:/var/lib/mysql:/bin/bashnobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bashpop:x:67:100:POP admin:/var/lib/pop:/bin/falsesshd:x:71:65:SSH daemon:/var/lib/sshd:/bin/falsemailman:x:72:67:GNU mailing list manager:/var/lib/mailman:/bin/bashntp:x:74:103:NTP daemon:/var/lib/ntp:/bin/falseldap:x:76:70:User for OpenLDAP:/var/lib/ldap:/bin/bashmdnsd:x:78:65534:mDNSResponder runtime user:/var/lib/mdnsd:/bin/falsemail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/falsenews:x:9:13:News system:/etc/news:/bin/bash
1.7 Partiendo de "agenda1" y "agenda2", obtenga un archivo llamado "telefonos" cuyo contenido sea la fusión de los dos anteriores sin repetir elementos y clasificado en primer orden por prefijo y en segundo por nombre.
derv@algaju:~/dir1> sort +2 +0 -u agenda1 agenda2>telefonos
derv@algaju:~/dir1> cat telefonos
cesar 506-0394
juan 303-3030
judith 796-4044
maria 101-3032
pablo 402-5060
patricia695-400
1.8 Los siguientes ejemplos deben funcionar con el archivo /etc/passwd. Este nombre en negrita, es el archivo que almacena la información sobre todos los usuarios de una máquina LINUX. Es un archivo de texto con cada línea dividida en 7 campos. Cada campo está separado por el carácter ' : ' . Realiza una copia del mismo y llámale claves(" cp /etc/passwd ~/claves "). Realice ahora los siguientes ejercicios y explique qué hace cada uno de ellos:
derv@algaju:~/dir1> cp /etc/passwd claves
derv@algaju:~/dir1> sort claves (ORDENA EL ARCHIVO ALFABETICAMENTE POR EL PRIMER CAMPO)
at:x:25:25:Batch jobs daemon:/var/spool/atjobs:/bin/bashbeagleindex:x:103:105:User for Beagle indexing:/var/cache/beagle:/bin/bashbin:x:1:1:bin:/bin:/bin/bashdaemon:x:2:2:Daemon:/sbin:/bin/bashderv:x:1000:100:derv:/home/derv:/bin/bashdhcpd:x:104:65534:DHCP server daemon:/var/lib/dhcp:/bin/falseftp:x:40:49:FTP account:/srv/ftp:/bin/bashgames:x:12:100:Games account:/var/games:/bin/bashhaldaemon:x:101:102:User for haldaemon:/var/run/hal:/bin/falseirc:x:39:65534:IRC daemon:/usr/lib/ircd:/bin/bashldap:x:76:70:User for OpenLDAP:/var/lib/ldap:/bin/bashlp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bashmailman:x:72:67:GNU mailing list manager:/var/lib/mailman:/bin/bashmail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/falseman:x:13:62:Manual pages viewer:/var/cache/man:/bin/bashmdnsd:x:78:65534:mDNSResponder runtime user:/var/lib/mdnsd:/bin/falsemessagebus:x:100:101:User for D-BUS:/var/run/dbus:/bin/falsemysql:x:60:109:MySQL database admin:/var/lib/mysql:/bin/bashnamed:x:44:44:Name server daemon:/var/lib/named:/bin/falsenews:x:9:13:News system:/etc/news:/bin/bashnobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bashntp:x:74:103:NTP daemon:/var/lib/ntp:/bin/falsepop:x:67:100:POP admin:/var/lib/pop:/bin/falsepostfix:x:51:51:Postfix Daemon:/var/spool/postfix:/bin/falseprivoxy:x:106:107:Daemon user for privoxy:/var/lib/privoxy:/bin/falsequagga:x:107:108:Quagga routing daemon:/var/run/quagga:/bin/falseradiusd:x:105:106:Radius daemon:/var/lib/radiusd:/bin/falseroot:x:0:0:root:/root:/bin/bashsquid:x:31:65534:WWW-proxy squid:/var/cache/squid:/bin/falsesshd:x:71:65:SSH daemon:/var/lib/sshd:/bin/falsesuse-ncc:x:102:104:Novell Customer Center User:/var/lib/YaST2/suse-ncc-fakehome:/bin/bashuucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bashwwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/false
derv@algaju:~/dir1> sort -r claves (ORDENA ALFABETICAMNETE DE FORMA INVERTIDA)
wwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/falseuucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bashsuse-ncc:x:102:104:Novell Customer Center User:/var/lib/YaST2/suse-ncc-fakehome:/bin/bashsshd:x:71:65:SSH daemon:/var/lib/sshd:/bin/falsesquid:x:31:65534:WWW-proxy squid:/var/cache/squid:/bin/falseroot:x:0:0:root:/root:/bin/bashradiusd:x:105:106:Radius daemon:/var/lib/radiusd:/bin/falsequagga:x:107:108:Quagga routing daemon:/var/run/quagga:/bin/falseprivoxy:x:106:107:Daemon user for privoxy:/var/lib/privoxy:/bin/falsepostfix:x:51:51:Postfix Daemon:/var/spool/postfix:/bin/falsepop:x:67:100:POP admin:/var/lib/pop:/bin/falsentp:x:74:103:NTP daemon:/var/lib/ntp:/bin/falsenobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bashnews:x:9:13:News system:/etc/news:/bin/bashnamed:x:44:44:Name server daemon:/var/lib/named:/bin/falsemysql:x:60:109:MySQL database admin:/var/lib/mysql:/bin/bashmessagebus:x:100:101:User for D-BUS:/var/run/dbus:/bin/falsemdnsd:x:78:65534:mDNSResponder runtime user:/var/lib/mdnsd:/bin/falseman:x:13:62:Manual pages viewer:/var/cache/man:/bin/bashmail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/falsemailman:x:72:67:GNU mailing list manager:/var/lib/mailman:/bin/bashlp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bashldap:x:76:70:User for OpenLDAP:/var/lib/ldap:/bin/bashirc:x:39:65534:IRC daemon:/usr/lib/ircd:/bin/bashhaldaemon:x:101:102:User for haldaemon:/var/run/hal:/bin/falsegames:x:12:100:Games account:/var/games:/bin/bashftp:x:40:49:FTP account:/srv/ftp:/bin/bashdhcpd:x:104:65534:DHCP server daemon:/var/lib/dhcp:/bin/falsederv:x:1000:100:derv:/home/derv:/bin/bashdaemon:x:2:2:Daemon:/sbin:/bin/bashbin:x:1:1:bin:/bin:/bin/bashbeagleindex:x:103:105:User for Beagle indexing:/var/cache/beagle:/bin/bashat:x:25:25:Batch jobs daemon:/var/spool/atjobs:/bin/bash
derv@algaju:~/dir1> sort +2n -t: claves (ORDENA A PARTIR DEL 2DO CAMPO CON LIMTE DE CAMPO )
root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/bin/bashdaemon:x:2:2:Daemon:/sbin:/bin/bashlp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bashmail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/falsenews:x:9:13:News system:/etc/news:/bin/bashuucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bashgames:x:12:100:Games account:/var/games:/bin/bashman:x:13:62:Manual pages viewer:/var/cache/man:/bin/bashat:x:25:25:Batch jobs daemon:/var/spool/atjobs:/bin/bashwwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/falsesquid:x:31:65534:WWW-proxy squid:/var/cache/squid:/bin/falseirc:x:39:65534:IRC daemon:/usr/lib/ircd:/bin/bashftp:x:40:49:FTP account:/srv/ftp:/bin/bashnamed:x:44:44:Name server daemon:/var/lib/named:/bin/falsepostfix:x:51:51:Postfix Daemon:/var/spool/postfix:/bin/falsemysql:x:60:109:MySQL database admin:/var/lib/mysql:/bin/bashpop:x:67:100:POP admin:/var/lib/pop:/bin/falsesshd:x:71:65:SSH daemon:/var/lib/sshd:/bin/falsemailman:x:72:67:GNU mailing list manager:/var/lib/mailman:/bin/bashntp:x:74:103:NTP daemon:/var/lib/ntp:/bin/falseldap:x:76:70:User for OpenLDAP:/var/lib/ldap:/bin/bashmdnsd:x:78:65534:mDNSResponder runtime user:/var/lib/mdnsd:/bin/falsemessagebus:x:100:101:User for D-BUS:/var/run/dbus:/bin/falsehaldaemon:x:101:102:User for haldaemon:/var/run/hal:/bin/falsesuse-ncc:x:102:104:Novell Customer Center User:/var/lib/YaST2/suse-ncc-fakehome:/bin/bashbeagleindex:x:103:105:User for Beagle indexing:/var/cache/beagle:/bin/bashdhcpd:x:104:65534:DHCP server daemon:/var/lib/dhcp:/bin/falseradiusd:x:105:106:Radius daemon:/var/lib/radiusd:/bin/falseprivoxy:x:106:107:Daemon user for privoxy:/var/lib/privoxy:/bin/falsequagga:x:107:108:Quagga routing daemon:/var/run/quagga:/bin/falsederv:x:1000:100:derv:/home/derv:/bin/bashnobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash
derv@algaju:~/dir1> sort +2n -t: -n claves
root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/bin/bashdaemon:x:2:2:Daemon:/sbin:/bin/bashlp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bashmail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/falsenews:x:9:13:News system:/etc/news:/bin/bashuucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bashgames:x:12:100:Games account:/var/games:/bin/bashman:x:13:62:Manual pages viewer:/var/cache/man:/bin/bashat:x:25:25:Batch jobs daemon:/var/spool/atjobs:/bin/bashwwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/falsesquid:x:31:65534:WWW-proxy squid:/var/cache/squid:/bin/falseirc:x:39:65534:IRC daemon:/usr/lib/ircd:/bin/bashftp:x:40:49:FTP account:/srv/ftp:/bin/bashnamed:x:44:44:Name server daemon:/var/lib/named:/bin/falsepostfix:x:51:51:Postfix Daemon:/var/spool/postfix:/bin/falsemysql:x:60:109:MySQL database admin:/var/lib/mysql:/bin/bashpop:x:67:100:POP admin:/var/lib/pop:/bin/falsesshd:x:71:65:SSH daemon:/var/lib/sshd:/bin/falsemailman:x:72:67:GNU mailing list manager:/var/lib/mailman:/bin/bashntp:x:74:103:NTP daemon:/var/lib/ntp:/bin/falseldap:x:76:70:User for OpenLDAP:/var/lib/ldap:/bin/bashmdnsd:x:78:65534:mDNSResponder runtime user:/var/lib/mdnsd:/bin/falsemessagebus:x:100:101:User for D-BUS:/var/run/dbus:/bin/falsehaldaemon:x:101:102:User for haldaemon:/var/run/hal:/bin/falsesuse-ncc:x:102:104:Novell Customer Center User:/var/lib/YaST2/suse-ncc-fakehome:/bin/bashbeagleindex:x:103:105:User for Beagle indexing:/var/cache/beagle:/bin/bashdhcpd:x:104:65534:DHCP server daemon:/var/lib/dhcp:/bin/falseradiusd:x:105:106:Radius daemon:/var/lib/radiusd:/bin/falseprivoxy:x:106:107:Daemon user for privoxy:/var/lib/privoxy:/bin/falsequagga:x:107:108:Quagga routing daemon:/var/run/quagga:/bin/falsederv:x:1000:100:derv:/home/derv:/bin/bashnobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash
2.- Caracteres de sustitución y selección de información.
2.1.- Cree un archivo que esté formado por el identificativo (UID), el nº de usuario y el nº de grupo de los usuarios
derv@algaju:~/dir1> cut -d: -f1,3,4 /etc/passwd>users
derv@algaju:~/dir1> ls
agenda1 agenda1.ord ageninv claves datos5 telefonosagenda1.num agenda2 clases datos1 -o users
derv@algaju:~/dir1> cat users
at:25:25
beagleindex:103:105
bin:1:1
daemon:2:2
dhcpd:104: 65534
ftp:40:49
games:12:100
haldaemon:101:102
irc:39:65534
ldap:76:7
0lp:4:7
mail:8:12
mailman:72:67
man:13:62
mdnsd:78:65534
messagebus:100:101
mysql:60:109
named:44:44
nobody:65534:65533
ntp:74:103
pop:67:100
postfix:51:51
privoxy:106:107
quagga:107:108
radiusd:105:106
root:0:0
squid:31:65534
sshd:71:65
suse-ncc:102:104
uucp:10:14
wwwrun:30:8
derv:1000:100
2.2. Obtenga un listado en el que aparezcan los nombres de los grupos de usuarios en el sistema, así como los usuarios que formen parte de cada grupo.
derv@algaju:~/dir1> cut -d: -f-1,4 /etc/group
at:
audio:
beagleindex:
bin:
daemoncdrom:
console:
daemon:
dialout:
dervdisk:
floppy:
ftp:
lp:
mail:
maildrop:
mailman:
man:
messagebus:
modem:
mysql:
named:
news:
nobody:
nogroup:
nobodyntadmin:
ntp:
postfix:
privoxy:
ncc:
sys:
trusted:
users:
2.3. El comando tr se usa para cambiar ciertos caracteres de un archivo por otros. tr suele ser usado en conjunción con la redirección de entrada/salida. Realice ahora los siguientes ejercicios y explique qué hace cada uno de ellos:
derv@algaju:~/dir1> tr a zzt:x:25:25:Bztch jobs
dzemon:/vzr/spool/ztjobs:/bin/bzshbezgleindex:x:103:105:User for Bezgle indexing:/vzr/czche/bezgle:/bin/bzshbin:x:1:1:bin:/bin:/bin/bzshdzemon:x:2:2:Dzemon:/sbin:/bin/bzshdhcpd:x:104:65534:DHCP server dzemon:/vzr/lib/dhcp:/bin/fzlseftp:x:40:49:FTP zccount:/srv/ftp:/bin/bzshgzmes:x:12:100:Gzmes zccount:/vzr/gzmes:/bin/bzshhzldzemon:x:101:102:User for hzldzemon:/vzr/run/hzl:/bin/fzlseirc:x:39:65534:IRC dzemon:/usr/lib/ircd:/bin/bzshldzp:x:76:70:User for OpenLDAP:/vzr/lib/ldzp:/bin/bzshlp:x:4:7:Printing dzemon:/vzr/spool/lpd:/bin/bzshmzil:x:8:12:Mziler dzemon:/vzr/spool/clientmqueue:/bin/fzlsemzilmzn:x:72:67:GNU mziling list mznzger:/vzr/lib/mzilmzn:/bin/bzshmzn:x:13:62:Mznuzl pzges viewer:/vzr/czche/mzn:/bin/bzshmdnsd:x:78:65534:mDNSResponder runtime user:/vzr/lib/mdnsd:/bin/fzlsemesszgebus:x:100:101:User for D-BUS:/vzr/run/dbus:/bin/fzlsemysql:x:60:109:MySQL dztzbzse zdmin:/vzr/lib/mysql:/bin/bzshnzmed:x:44:44:Nzme server dzemon:/vzr/lib/nzmed:/bin/fzlsenews:x:9:13:News system:/etc/news:/bin/bzshnobody:x:65534:65533:nobody:/vzr/lib/nobody:/bin/bzshntp:x:74:103:NTP dzemon:/vzr/lib/ntp:/bin/fzlsepop:x:67:100:POP zdmin:/vzr/lib/pop:/bin/fzlsepostfix:x:51:51:Postfix Dzemon:/vzr/spool/postfix:/bin/fzlseprivoxy:x:106:107:Dzemon user for privoxy:/vzr/lib/privoxy:/bin/fzlsequzggz:x:107:108:Quzggz routing dzemon:/vzr/run/quzggz:/bin/fzlserzdiusd:x:105:106:Rzdius dzemon:/vzr/lib/rzdiusd:/bin/fzlseroot:x:0:0:root:/root:/bin/bzshsquid:x:31:65534:WWW-proxy squid:/vzr/czche/squid:/bin/fzlsesshd:x:71:65:SSH dzemon:/vzr/lib/sshd:/bin/fzlsesuse-ncc:x:102:104:Novell Customer Center User:/vzr/lib/YzST2/suse-ncc-fzkehome:/bin/bzshuucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bzshwwwrun:x:30:8:WWW dzemon zpzche:/vzr/lib/wwwrun:/bin/fzlsederv:x:1000:100:derv:/home/derv:/bin/bzshderv@algaju:~/dir1> tr [A-Z] [a-z]at:x:25:25:batch jobs daemon:/var/spool/atjobs:/bin/bashbeagleindex:x:103:105:user for beagle indexing:/var/cache/beagle:/bin/bashbin:x:1:1:bin:/bin:/bin/bashdaemon:x:2:2:daemon:/sbin:/bin/bashdhcpd:x:104:65534:dhcp server daemon:/var/lib/dhcp:/bin/falseftp:x:40:49:ftp account:/srv/ftp:/bin/bashgames:x:12:100:games account:/var/games:/bin/bashhaldaemon:x:101:102:user for haldaemon:/var/run/hal:/bin/falseirc:x:39:65534:irc daemon:/usr/lib/ircd:/bin/bashldap:x:76:70:user for openldap:/var/lib/ldap:/bin/bashlp:x:4:7:printing daemon:/var/spool/lpd:/bin/bashmail:x:8:12:mailer daemon:/var/spool/clientmqueue:/bin/falsemailman:x:72:67:gnu mailing list manager:/var/lib/mailman:/bin/bashman:x:13:62:manual pages viewer:/var/cache/man:/bin/bashmdnsd:x:78:65534:mdnsresponder runtime user:/var/lib/mdnsd:/bin/falsemessagebus:x:100:101:user for d-bus:/var/run/dbus:/bin/falsemysql:x:60:109:mysql database admin:/var/lib/mysql:/bin/bashnamed:x:44:44:name server daemon:/var/lib/named:/bin/falsenews:x:9:13:news system:/etc/news:/bin/bashnobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bashntp:x:74:103:ntp daemon:/var/lib/ntp:/bin/falsepop:x:67:100:pop admin:/var/lib/pop:/bin/falsepostfix:x:51:51:postfix daemon:/var/spool/postfix:/bin/falseprivoxy:x:106:107:daemon user for privoxy:/var/lib/privoxy:/bin/falsequagga:x:107:108:quagga routing daemon:/var/run/quagga:/bin/falseradiusd:x:105:106:radius daemon:/var/lib/radiusd:/bin/falseroot:x:0:0:root:/root:/bin/bashsquid:x:31:65534:www-proxy squid:/var/cache/squid:/bin/falsesshd:x:71:65:ssh daemon:/var/lib/sshd:/bin/falsesuse-ncc:x:102:104:novell customer center user:/var/lib/yast2/suse-ncc-fakehome:/bin/bashuucp:x:10:14:unix-to-unix copy system:/etc/uucp:/bin/bashwwwrun:x:30:8:www daemon apache:/var/lib/wwwrun:/bin/falsederv:x:1000:100:derv:/home/derv:/bin/bash
derv@algaju:~/dir1> tr -d ''
2.4. El comando cut nos sirve para extraer campos de un archivo (generalmente columnas). Observa el resultado de los siguientes ejemplos y explique cuál es su comportamiento:
derv@algaju:~/dir1> cut -c1 /etc/passwd (LISTA EL PRIMER CARACTER)a,b,d,f,g,h,i,i,l,m,m,m,n,n,n,n,p,q,q,r,r,s,s,s,u,w,d
derv@algaju:~/dir1> cut -c1,5,10-20 /etc/passwd (LISTA LOS CARACTERES 1,5 Y 10 Y EL 20 DE DER. A IZQ)
a:5:Batch job
blex:x:103:10
bx:bin:/bin:/
do2:2:Daemon:
dd04:65534:DH
fx49:FTP acco
gs2:100:Games
ha:x:101:102
:ix65534:IRC d
l::70:User fo
l:Printing da
m:12:Mailer d
mm:72:67:GNU
mx62:Manual p
md8:65534:mDN
mas:x:100:101
ml0:109:MySQ
s-x:102:104:N
u::14:Unix-to
wu30:8:WWW da
d:00:100:derv
derv@algaju:~/dir1> cut -d: -f3 /etc/passwd (LISTA EL 3ER CAMPO, CON LIMITADOR ‘:’)
23,100,1,2,104,40,12,101,39,76,4,8,72,13,78,100,60,44,9,65534,74,67,51,106,107,105,0,31,1000
3. División y unión de archivos3.1. Divida el archivo /etc/termcap en partes, pero antes debe tener una copia en su directorio de trabajo para poder realizar la acción.
derv@algaju:~/dir1> cp /etc/termcap termcap
derv@algaju:~/dir1> lsagenda1 agenda1.ord ageninv claves datos5 telefonos usersagenda1.num agenda2 clases datos1 -o termcap
derv@algaju:~/dir1> split termcap
derv@algaju:~/dir1> lsagenda1 agenda2 claves -o users xac xaf xai xal xao xaragenda1.num ageninv datos1 telefonos xaa xad xag xaj xam xap xasagenda1.ord clases datos5 termcap xab xae xah xak xan xaq xat
derv@algaju:~/dir1> split -100 termcap
derv@algaju:~/dir1> lsagenda1
xad xat xbj xbz xcp xdf xdv xel xfb xfr xgh xgx xhnagenda1.num xae xau xbk xca xcq xdg xdw xem xfc xfs xgi xgy xhoagenda1.ord xaf xav xbl xcb xcr xdh xdx xen xfd xft xgj xgz xhpagenda2 xag xaw xbm xcc xcs xdi xdy xeo xfe xfu xgk xha xhqageninv xah xax xbn xcd xct xdj xdz xep xff xfv xgl xhb xhrclases xai xay xbo xce xcu xdk xea xeq xfg xfw xgm xhcclaves xaj xaz xbp xcf xcv xdl xeb xer xfh xfx xgn xhddatos1 xak xba xbq xcg xcw xdm xec xes xfi xfy xgo xhedatos5 xal xbb xbr xch xcx xdn xed xet xfj xfz xgp xhf-o xam xbc xbs xci xcy xdo xee xeu xfk xga xgq xhgtelefonos xan xbd xbt xcj xcz xdp xef xev xfl xgb xgr xhhtermcap xao xbe xbu xck xda xdq xeg xew xfm xgc xgs xhiusers xap xbf xbv xcl xdb xdr xeh xex xfn xgd xgt xhjxaa xaq xbg xbw xcm xdc xds xei xey xfo xge xgu xhkxab xar xbh xbx xcn xdd xdt xej xez xfp xgf xgv xhlxac xas xbi xby xco xde xdu xek xfa xfq xgg xgw xhm
3.2. El comando paste realiza exactamente lo contrario que el comando cut. paste enlaza un archivo con otro, de tal manera, que inserta uno al lado del otro y no debajo. Ejemplos a comentar:Sean los siguientes archivos:archivo nombres archivo direccionesgeorge 55 Aim Avenue fred 1005 Marks road david 5 Thompson Street janet 43 Pedwell road
derv@algaju:~/dir1> cat >nombres
george
fred
david
janet
derv@algaju:~/dir1> cat >direcciones
55 aim avenue
1005 marks road
5thompson street
43 pedwell road
derv@algaju:~/dir1> paste nombres direcciones
george 55 aim avenue
fred 1005 marks road
david 5 thompson street
janet 43 pedwell road
3.3. Como ejercicio final de repaso de algunos comandos ya vistos, conteste las siguientes preguntas:Se necesita para todas las preguntas el siguiente archivo, libro.telefonosgeorge!2334234!55 Aim Avenue fred!343423!1005 Marks road david!5838434!5 Thompson Street janet!33343!43 Pedwell road
derv@algaju:~/dir1> cat >libro.telefonos
george!2334234!55 aim avenuefred!43423!1005 marks roaddavid!5838434!43 pedwell road
Observe que el elemento delimitador de los campos para este archivo es el símbolo“!”, y que los campos son el nombre, el número de teléfono y la dirección
¿Qué harían los siguientes comandos LINUX? No ejecute los comandos hasta que no esté seguro de lo que hace. En particular no intente ejecutar el primero de ellos:rmdir (BORRA DIRECTORIOS)cat /etc/passwd (DESPLIEGA EL ARCHIVO)ls ../dir1/agenda1 (LISTA LOS ARCHIVOS CON EL NOMBRE ESPECIFICO)
4. Permisos
4.1 Observe los permisos que el archivo agenda1. Realice una copia del mismo, llamelo temp1. Vamos a quitar a la copia permisos de lectura y escritura para el propietario del archivo, ejecutando los siguientes comandos:#ls temp1 –lQué permisos tiene temp1?
derv@algaju:~/dir1> cp agenda1 temp1
derv@algaju:~/dir1> ls -ltotal 2497-rw-r--r-- 1
derv users 102 2006-07-03 21:08 temp1(TIENE PERMISOS DE LECTURA Y ESCRITURA)Ejecutechmod u-r,u-w temp1 (quita permisos de lectura y escritura al archivo temp1)
derv@algaju:~/dir1> chmod u-r,u-w temp1Permita que el propietario pueda leer, escribir y ejecutar el archivo.chmod o-rwx temp1
derv@algaju:~/dir1> chmod o-rwx temp1Dar a todos los usuarios acceso al archivo.chmod +r temp1
derv@algaju:~/dir1> chmod +r temp1
derv@algaju:~/dir1> ls temp1 -l-r--r--r-- 1
derv users 102 2006-07-03 21:08 temp1Quitar permisos de ejecución a todos los usuarios excepto al propietario.#chmod u+rwx temp1
derv@algaju:~/dir1> chmod u+rwx temp1
Qué sucede con los siguientes comandos?#chmod a+r temp1#chmod og-x temp1
derv@algaju:~/dir1> chmod a+r temp1 (DA PERMISO DE LECTURA A TODOS LOS USUARIOS)
derv@algaju:~/dir1> chmod og-x temp1 (DA PERMISO DE EJECUCION AL GRUPO DEL PROPIETARIOS Y A OTROS USUARIOS)Añadamos los permisos de lectura al grupo y al restochmod g+r agenda1chmod o+r temp1¿Y ahora qué permisos tienen? derv@algaju:~/dir1> chmod g+r agenda1chmod: cambiando los permisos de «agenda1»: Operación no permitida
derv@algaju:~/dir1> chmod o+r temp1
derv@algaju:~/dir1> ls temp1 -l-rwxr--r-- 1
derv users 102 2006-07-03 21:08 temp1 (TODOS LOS PERMISOS PARA EL PROPIETARIO Y DE LECTURA PARA OTROS USUAIOS)
Crearemos un archivo de la siguiente forma:# ls -l > hola derv@algaju:~/dir1> ls -l>hola derv@algaju:~/dir1> ls hola -l-rw-r--r-- 1
derv users 11425 2006-07-03 21:12
Ahora podemos observar que el propietario de este archivo es derv, que pertenece al grupo users, y que sus bits de acceso están de la siguiente forma : -rw-r--r--.
¿Que indica todo esto? SIGNIFICA QUE EL PROPIETARIO TIENE PERMISO DE LECTURA/ESCRITURA Y SU GRUPO DE LECTURAEl cálculo de la máscara de umask se efectúa de la siguiente forma:#umask
derv@algaju:~/dir1> umask0022
Ejercicios de Repaso
Qué comandos utilizaría para:ordenar un archivo por nombres
derv@algaju:~/dir1> sort libro.telefonos
david!5838434!5 thompson street
fred!343423!1005 marks road
george!2334234!55 aim avenue
janet!33343!43 pedwell road
ordenar un archivo en orden descendente por el número de teléfono
derv@algaju:~/dir1> sort -r -t! -k2 libro.telefonos
david!5838434!5 thompson street
fred!343423!1005 marks road
janet!33343!43 pedwell road
george!2334234!55 aim avenue
mostrar sólo la columna de las direcciones
derv@algaju:~/dir1> cut -d! -f3 libro.telefonos
55 aim avenue
1005 marks road
5 thompson street
43 pedwell road
cambiar todos los caracteres delimitadores “!” por “:”
derv@algaju:~/dir1> tr ! : george:2334234:55 aim avenue
fred:343423:1005 marks road
david:5838434:5 thompson street
janet:33343:43 pedwell road
mostrar la primera línea del archivo
derv@algaju:~/dir1> uniq -u1 libro.telefonos
george!2334234!55 aim avenue
mostrar la línea que contiene la información sobre david
derv@algaju:~/dir1> grep david libro.telefonos
david!5838434!5 thompson street
¿Qué efecto tendría el siguiente comando: paste –d: -s libro.telefonos
derv@algaju:~/dir1> paste -d: -s libro.telefonos
george!2334234!55 aim avenue:fred!343423!1005 marks road:david!5838434!5 thompson street:janet!33343!43 pedwell roadderv@algaju:~/dir1>
1.- Ordenar archivos
Deberá crear un archivo de texto llamado dir1/agenda1, con la siguiente información:
Nombre telefono
Juan 303-3030
Maria 101-3032
Pablo 402-5060
Cesar 506-0394
Judith 796-4044
Patricia 695-4004
derv@algaju:~>cat >dir1/agenda1
juan 303-3030
maria 101-3032
pablo 402-5060c
esar 506-0394
judith 796-4044
patricia695-4004
1.1 Liste por pantalla el número de personas que almacena el archivo "agenda1" sin repeticiones.
derv@algaju:~> sort -u dir1/agenda1
cesar 506-0394
juan 303-3030
judith 796-4044
maria 101-3032
pablo 402-5060
patricia695-4004
1.2 Liste en orden alfabético de nombres el archivo "agenda1".
derv@algaju:~> sort +1 -d dir1/agenda1
patricia695-4004
maria 101-3032
juan 303-3030
pablo 402-5060
cesar 506-0394
judith 796-4044
1.3.- Añade a datos1.num el contenido de datos1 con sus líneas numeradas.
#cat -n agenda1 >> agenda1.num
derv@algaju:~/dir1> cat -n agenda1.num
1 juan 303-30302
maria 101-30323
pablo 402-50604
cesar 506-03945
judith 796-40446
patricia695-4004
Muestra de nuevo agenda1.num con sus líneas numeradas. Crea un archivo agenda1.ord con las líneas de agenda1 ordenados. Visualízalo.
cat -n agenda1.num
derv@algaju:~/dir1> cat -n sort -u agenda1>>agenda1.ord
derv@algaju:~/dir1> cat -n agenda1.ord
1 cesar 506-03942
juan 303-30303
judith 796-40444
maria 101-30325
pablo 402-50606
patricia695-4004
1.4 Cree otro archivo con la estructura de "agenda1" y llámelo "agenda2". Clasifique en orden inverso los archivos "agenda1" y "agenda2", colocando la salida en el archivo"ageninv" y utilizando el segundo campo como clave de clasificación.
derv@algaju:~/dir1> sort +1 -r agenda1 agenda2>ageninv
derv@algaju:~/dir1> cat agenda2
judith 796-4044
cesar 506-0394
pablo 402-5060
juan 303-3030
maria 101-3032
patricia695-4004
derv@algaju:~/dir1> cat agenda1
juan 303-3030
maria 101-3032
pablo 402-5060
cesar 506-0394
judith 796-4044
patricia695-4004
1.5 Visualice las líneas del archivo "agenda2" ordenadas, suprimiendo todas menos la primera ocurrencia de las líneas que tengan el mismo apellido.
derv@algaju:~/dir1> sort -d agenda2 uniq -d
derv@algaju:~/dir1> cat agenda2
judith 796-4044
cesar 506-0394
pablo 402-5060
juan 303-3030
maria 101-3032
patricia695-4004
1.6 Visualice el archivo de cuentas de usuarios, ordenado por identificativo de usuario(Recuerde que se trata del tercer campo y que están separados por ":”).
derv@algaju:~/dir1> sort -d -t: -k3 /etc/passwd
root:x:0:0:root:/root:/bin/bashderv:x:1000:100:derv:/home/derv:/bin/bashmessagebus:x:100:101:User for D-BUS:/var/run/dbus:/bin/falsehaldaemon:x:101:102:User for haldaemon:/var/run/hal:/bin/falseuucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bashsuse-ncc:x:102:104:Novell Customer Center User:/var/lib/YaST2/suse-ncc-fakehome:/bin/bashbeagleindex:x:103:105:User for Beagle indexing:/var/cache/beagle:/bin/bashdhcpd:x:104:65534:DHCP server daemon:/var/lib/dhcp:/bin/falseradiusd:x:105:106:Radius daemon:/var/lib/radiusd:/bin/falseprivoxy:x:106:107:Daemon user for privoxy:/var/lib/privoxy:/bin/falsequagga:x:107:108:Quagga routing daemon:/var/run/quagga:/bin/falsebin:x:1:1:bin:/bin:/bin/bashgames:x:12:100:Games account:/var/games:/bin/bashman:x:13:62:Manual pages viewer:/var/cache/man:/bin/bashdaemon:x:2:2:Daemon:/sbin:/bin/bashat:x:25:25:Batch jobs daemon:/var/spool/atjobs:/bin/bashwwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/falsesquid:x:31:65534:WWW-proxy squid:/var/cache/squid:/bin/falseirc:x:39:65534:IRC daemon:/usr/lib/ircd:/bin/bashftp:x:40:49:FTP account:/srv/ftp:/bin/bashnamed:x:44:44:Name server daemon:/var/lib/named:/bin/falselp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bashpostfix:x:51:51:Postfix Daemon:/var/spool/postfix:/bin/falsemysql:x:60:109:MySQL database admin:/var/lib/mysql:/bin/bashnobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bashpop:x:67:100:POP admin:/var/lib/pop:/bin/falsesshd:x:71:65:SSH daemon:/var/lib/sshd:/bin/falsemailman:x:72:67:GNU mailing list manager:/var/lib/mailman:/bin/bashntp:x:74:103:NTP daemon:/var/lib/ntp:/bin/falseldap:x:76:70:User for OpenLDAP:/var/lib/ldap:/bin/bashmdnsd:x:78:65534:mDNSResponder runtime user:/var/lib/mdnsd:/bin/falsemail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/falsenews:x:9:13:News system:/etc/news:/bin/bash
1.7 Partiendo de "agenda1" y "agenda2", obtenga un archivo llamado "telefonos" cuyo contenido sea la fusión de los dos anteriores sin repetir elementos y clasificado en primer orden por prefijo y en segundo por nombre.
derv@algaju:~/dir1> sort +2 +0 -u agenda1 agenda2>telefonos
derv@algaju:~/dir1> cat telefonos
cesar 506-0394
juan 303-3030
judith 796-4044
maria 101-3032
pablo 402-5060
patricia695-400
1.8 Los siguientes ejemplos deben funcionar con el archivo /etc/passwd. Este nombre en negrita, es el archivo que almacena la información sobre todos los usuarios de una máquina LINUX. Es un archivo de texto con cada línea dividida en 7 campos. Cada campo está separado por el carácter ' : ' . Realiza una copia del mismo y llámale claves(" cp /etc/passwd ~/claves "). Realice ahora los siguientes ejercicios y explique qué hace cada uno de ellos:
derv@algaju:~/dir1> cp /etc/passwd claves
derv@algaju:~/dir1> sort claves (ORDENA EL ARCHIVO ALFABETICAMENTE POR EL PRIMER CAMPO)
at:x:25:25:Batch jobs daemon:/var/spool/atjobs:/bin/bashbeagleindex:x:103:105:User for Beagle indexing:/var/cache/beagle:/bin/bashbin:x:1:1:bin:/bin:/bin/bashdaemon:x:2:2:Daemon:/sbin:/bin/bashderv:x:1000:100:derv:/home/derv:/bin/bashdhcpd:x:104:65534:DHCP server daemon:/var/lib/dhcp:/bin/falseftp:x:40:49:FTP account:/srv/ftp:/bin/bashgames:x:12:100:Games account:/var/games:/bin/bashhaldaemon:x:101:102:User for haldaemon:/var/run/hal:/bin/falseirc:x:39:65534:IRC daemon:/usr/lib/ircd:/bin/bashldap:x:76:70:User for OpenLDAP:/var/lib/ldap:/bin/bashlp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bashmailman:x:72:67:GNU mailing list manager:/var/lib/mailman:/bin/bashmail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/falseman:x:13:62:Manual pages viewer:/var/cache/man:/bin/bashmdnsd:x:78:65534:mDNSResponder runtime user:/var/lib/mdnsd:/bin/falsemessagebus:x:100:101:User for D-BUS:/var/run/dbus:/bin/falsemysql:x:60:109:MySQL database admin:/var/lib/mysql:/bin/bashnamed:x:44:44:Name server daemon:/var/lib/named:/bin/falsenews:x:9:13:News system:/etc/news:/bin/bashnobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bashntp:x:74:103:NTP daemon:/var/lib/ntp:/bin/falsepop:x:67:100:POP admin:/var/lib/pop:/bin/falsepostfix:x:51:51:Postfix Daemon:/var/spool/postfix:/bin/falseprivoxy:x:106:107:Daemon user for privoxy:/var/lib/privoxy:/bin/falsequagga:x:107:108:Quagga routing daemon:/var/run/quagga:/bin/falseradiusd:x:105:106:Radius daemon:/var/lib/radiusd:/bin/falseroot:x:0:0:root:/root:/bin/bashsquid:x:31:65534:WWW-proxy squid:/var/cache/squid:/bin/falsesshd:x:71:65:SSH daemon:/var/lib/sshd:/bin/falsesuse-ncc:x:102:104:Novell Customer Center User:/var/lib/YaST2/suse-ncc-fakehome:/bin/bashuucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bashwwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/false
derv@algaju:~/dir1> sort -r claves (ORDENA ALFABETICAMNETE DE FORMA INVERTIDA)
wwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/falseuucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bashsuse-ncc:x:102:104:Novell Customer Center User:/var/lib/YaST2/suse-ncc-fakehome:/bin/bashsshd:x:71:65:SSH daemon:/var/lib/sshd:/bin/falsesquid:x:31:65534:WWW-proxy squid:/var/cache/squid:/bin/falseroot:x:0:0:root:/root:/bin/bashradiusd:x:105:106:Radius daemon:/var/lib/radiusd:/bin/falsequagga:x:107:108:Quagga routing daemon:/var/run/quagga:/bin/falseprivoxy:x:106:107:Daemon user for privoxy:/var/lib/privoxy:/bin/falsepostfix:x:51:51:Postfix Daemon:/var/spool/postfix:/bin/falsepop:x:67:100:POP admin:/var/lib/pop:/bin/falsentp:x:74:103:NTP daemon:/var/lib/ntp:/bin/falsenobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bashnews:x:9:13:News system:/etc/news:/bin/bashnamed:x:44:44:Name server daemon:/var/lib/named:/bin/falsemysql:x:60:109:MySQL database admin:/var/lib/mysql:/bin/bashmessagebus:x:100:101:User for D-BUS:/var/run/dbus:/bin/falsemdnsd:x:78:65534:mDNSResponder runtime user:/var/lib/mdnsd:/bin/falseman:x:13:62:Manual pages viewer:/var/cache/man:/bin/bashmail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/falsemailman:x:72:67:GNU mailing list manager:/var/lib/mailman:/bin/bashlp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bashldap:x:76:70:User for OpenLDAP:/var/lib/ldap:/bin/bashirc:x:39:65534:IRC daemon:/usr/lib/ircd:/bin/bashhaldaemon:x:101:102:User for haldaemon:/var/run/hal:/bin/falsegames:x:12:100:Games account:/var/games:/bin/bashftp:x:40:49:FTP account:/srv/ftp:/bin/bashdhcpd:x:104:65534:DHCP server daemon:/var/lib/dhcp:/bin/falsederv:x:1000:100:derv:/home/derv:/bin/bashdaemon:x:2:2:Daemon:/sbin:/bin/bashbin:x:1:1:bin:/bin:/bin/bashbeagleindex:x:103:105:User for Beagle indexing:/var/cache/beagle:/bin/bashat:x:25:25:Batch jobs daemon:/var/spool/atjobs:/bin/bash
derv@algaju:~/dir1> sort +2n -t: claves (ORDENA A PARTIR DEL 2DO CAMPO CON LIMTE DE CAMPO )
root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/bin/bashdaemon:x:2:2:Daemon:/sbin:/bin/bashlp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bashmail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/falsenews:x:9:13:News system:/etc/news:/bin/bashuucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bashgames:x:12:100:Games account:/var/games:/bin/bashman:x:13:62:Manual pages viewer:/var/cache/man:/bin/bashat:x:25:25:Batch jobs daemon:/var/spool/atjobs:/bin/bashwwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/falsesquid:x:31:65534:WWW-proxy squid:/var/cache/squid:/bin/falseirc:x:39:65534:IRC daemon:/usr/lib/ircd:/bin/bashftp:x:40:49:FTP account:/srv/ftp:/bin/bashnamed:x:44:44:Name server daemon:/var/lib/named:/bin/falsepostfix:x:51:51:Postfix Daemon:/var/spool/postfix:/bin/falsemysql:x:60:109:MySQL database admin:/var/lib/mysql:/bin/bashpop:x:67:100:POP admin:/var/lib/pop:/bin/falsesshd:x:71:65:SSH daemon:/var/lib/sshd:/bin/falsemailman:x:72:67:GNU mailing list manager:/var/lib/mailman:/bin/bashntp:x:74:103:NTP daemon:/var/lib/ntp:/bin/falseldap:x:76:70:User for OpenLDAP:/var/lib/ldap:/bin/bashmdnsd:x:78:65534:mDNSResponder runtime user:/var/lib/mdnsd:/bin/falsemessagebus:x:100:101:User for D-BUS:/var/run/dbus:/bin/falsehaldaemon:x:101:102:User for haldaemon:/var/run/hal:/bin/falsesuse-ncc:x:102:104:Novell Customer Center User:/var/lib/YaST2/suse-ncc-fakehome:/bin/bashbeagleindex:x:103:105:User for Beagle indexing:/var/cache/beagle:/bin/bashdhcpd:x:104:65534:DHCP server daemon:/var/lib/dhcp:/bin/falseradiusd:x:105:106:Radius daemon:/var/lib/radiusd:/bin/falseprivoxy:x:106:107:Daemon user for privoxy:/var/lib/privoxy:/bin/falsequagga:x:107:108:Quagga routing daemon:/var/run/quagga:/bin/falsederv:x:1000:100:derv:/home/derv:/bin/bashnobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash
derv@algaju:~/dir1> sort +2n -t: -n claves
root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/bin/bashdaemon:x:2:2:Daemon:/sbin:/bin/bashlp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bashmail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/falsenews:x:9:13:News system:/etc/news:/bin/bashuucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bashgames:x:12:100:Games account:/var/games:/bin/bashman:x:13:62:Manual pages viewer:/var/cache/man:/bin/bashat:x:25:25:Batch jobs daemon:/var/spool/atjobs:/bin/bashwwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/falsesquid:x:31:65534:WWW-proxy squid:/var/cache/squid:/bin/falseirc:x:39:65534:IRC daemon:/usr/lib/ircd:/bin/bashftp:x:40:49:FTP account:/srv/ftp:/bin/bashnamed:x:44:44:Name server daemon:/var/lib/named:/bin/falsepostfix:x:51:51:Postfix Daemon:/var/spool/postfix:/bin/falsemysql:x:60:109:MySQL database admin:/var/lib/mysql:/bin/bashpop:x:67:100:POP admin:/var/lib/pop:/bin/falsesshd:x:71:65:SSH daemon:/var/lib/sshd:/bin/falsemailman:x:72:67:GNU mailing list manager:/var/lib/mailman:/bin/bashntp:x:74:103:NTP daemon:/var/lib/ntp:/bin/falseldap:x:76:70:User for OpenLDAP:/var/lib/ldap:/bin/bashmdnsd:x:78:65534:mDNSResponder runtime user:/var/lib/mdnsd:/bin/falsemessagebus:x:100:101:User for D-BUS:/var/run/dbus:/bin/falsehaldaemon:x:101:102:User for haldaemon:/var/run/hal:/bin/falsesuse-ncc:x:102:104:Novell Customer Center User:/var/lib/YaST2/suse-ncc-fakehome:/bin/bashbeagleindex:x:103:105:User for Beagle indexing:/var/cache/beagle:/bin/bashdhcpd:x:104:65534:DHCP server daemon:/var/lib/dhcp:/bin/falseradiusd:x:105:106:Radius daemon:/var/lib/radiusd:/bin/falseprivoxy:x:106:107:Daemon user for privoxy:/var/lib/privoxy:/bin/falsequagga:x:107:108:Quagga routing daemon:/var/run/quagga:/bin/falsederv:x:1000:100:derv:/home/derv:/bin/bashnobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash
2.- Caracteres de sustitución y selección de información.
2.1.- Cree un archivo que esté formado por el identificativo (UID), el nº de usuario y el nº de grupo de los usuarios
derv@algaju:~/dir1> cut -d: -f1,3,4 /etc/passwd>users
derv@algaju:~/dir1> ls
agenda1 agenda1.ord ageninv claves datos5 telefonosagenda1.num agenda2 clases datos1 -o users
derv@algaju:~/dir1> cat users
at:25:25
beagleindex:103:105
bin:1:1
daemon:2:2
dhcpd:104: 65534
ftp:40:49
games:12:100
haldaemon:101:102
irc:39:65534
ldap:76:7
0lp:4:7
mail:8:12
mailman:72:67
man:13:62
mdnsd:78:65534
messagebus:100:101
mysql:60:109
named:44:44
nobody:65534:65533
ntp:74:103
pop:67:100
postfix:51:51
privoxy:106:107
quagga:107:108
radiusd:105:106
root:0:0
squid:31:65534
sshd:71:65
suse-ncc:102:104
uucp:10:14
wwwrun:30:8
derv:1000:100
2.2. Obtenga un listado en el que aparezcan los nombres de los grupos de usuarios en el sistema, así como los usuarios que formen parte de cada grupo.
derv@algaju:~/dir1> cut -d: -f-1,4 /etc/group
at:
audio:
beagleindex:
bin:
daemoncdrom:
console:
daemon:
dialout:
dervdisk:
floppy:
ftp:
lp:
mail:
maildrop:
mailman:
man:
messagebus:
modem:
mysql:
named:
news:
nobody:
nogroup:
nobodyntadmin:
ntp:
postfix:
privoxy:
ncc:
sys:
trusted:
users:
2.3. El comando tr se usa para cambiar ciertos caracteres de un archivo por otros. tr suele ser usado en conjunción con la redirección de entrada/salida. Realice ahora los siguientes ejercicios y explique qué hace cada uno de ellos:
derv@algaju:~/dir1> tr a zzt:x:25:25:Bztch jobs
dzemon:/vzr/spool/ztjobs:/bin/bzshbezgleindex:x:103:105:User for Bezgle indexing:/vzr/czche/bezgle:/bin/bzshbin:x:1:1:bin:/bin:/bin/bzshdzemon:x:2:2:Dzemon:/sbin:/bin/bzshdhcpd:x:104:65534:DHCP server dzemon:/vzr/lib/dhcp:/bin/fzlseftp:x:40:49:FTP zccount:/srv/ftp:/bin/bzshgzmes:x:12:100:Gzmes zccount:/vzr/gzmes:/bin/bzshhzldzemon:x:101:102:User for hzldzemon:/vzr/run/hzl:/bin/fzlseirc:x:39:65534:IRC dzemon:/usr/lib/ircd:/bin/bzshldzp:x:76:70:User for OpenLDAP:/vzr/lib/ldzp:/bin/bzshlp:x:4:7:Printing dzemon:/vzr/spool/lpd:/bin/bzshmzil:x:8:12:Mziler dzemon:/vzr/spool/clientmqueue:/bin/fzlsemzilmzn:x:72:67:GNU mziling list mznzger:/vzr/lib/mzilmzn:/bin/bzshmzn:x:13:62:Mznuzl pzges viewer:/vzr/czche/mzn:/bin/bzshmdnsd:x:78:65534:mDNSResponder runtime user:/vzr/lib/mdnsd:/bin/fzlsemesszgebus:x:100:101:User for D-BUS:/vzr/run/dbus:/bin/fzlsemysql:x:60:109:MySQL dztzbzse zdmin:/vzr/lib/mysql:/bin/bzshnzmed:x:44:44:Nzme server dzemon:/vzr/lib/nzmed:/bin/fzlsenews:x:9:13:News system:/etc/news:/bin/bzshnobody:x:65534:65533:nobody:/vzr/lib/nobody:/bin/bzshntp:x:74:103:NTP dzemon:/vzr/lib/ntp:/bin/fzlsepop:x:67:100:POP zdmin:/vzr/lib/pop:/bin/fzlsepostfix:x:51:51:Postfix Dzemon:/vzr/spool/postfix:/bin/fzlseprivoxy:x:106:107:Dzemon user for privoxy:/vzr/lib/privoxy:/bin/fzlsequzggz:x:107:108:Quzggz routing dzemon:/vzr/run/quzggz:/bin/fzlserzdiusd:x:105:106:Rzdius dzemon:/vzr/lib/rzdiusd:/bin/fzlseroot:x:0:0:root:/root:/bin/bzshsquid:x:31:65534:WWW-proxy squid:/vzr/czche/squid:/bin/fzlsesshd:x:71:65:SSH dzemon:/vzr/lib/sshd:/bin/fzlsesuse-ncc:x:102:104:Novell Customer Center User:/vzr/lib/YzST2/suse-ncc-fzkehome:/bin/bzshuucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bzshwwwrun:x:30:8:WWW dzemon zpzche:/vzr/lib/wwwrun:/bin/fzlsederv:x:1000:100:derv:/home/derv:/bin/bzshderv@algaju:~/dir1> tr [A-Z] [a-z]at:x:25:25:batch jobs daemon:/var/spool/atjobs:/bin/bashbeagleindex:x:103:105:user for beagle indexing:/var/cache/beagle:/bin/bashbin:x:1:1:bin:/bin:/bin/bashdaemon:x:2:2:daemon:/sbin:/bin/bashdhcpd:x:104:65534:dhcp server daemon:/var/lib/dhcp:/bin/falseftp:x:40:49:ftp account:/srv/ftp:/bin/bashgames:x:12:100:games account:/var/games:/bin/bashhaldaemon:x:101:102:user for haldaemon:/var/run/hal:/bin/falseirc:x:39:65534:irc daemon:/usr/lib/ircd:/bin/bashldap:x:76:70:user for openldap:/var/lib/ldap:/bin/bashlp:x:4:7:printing daemon:/var/spool/lpd:/bin/bashmail:x:8:12:mailer daemon:/var/spool/clientmqueue:/bin/falsemailman:x:72:67:gnu mailing list manager:/var/lib/mailman:/bin/bashman:x:13:62:manual pages viewer:/var/cache/man:/bin/bashmdnsd:x:78:65534:mdnsresponder runtime user:/var/lib/mdnsd:/bin/falsemessagebus:x:100:101:user for d-bus:/var/run/dbus:/bin/falsemysql:x:60:109:mysql database admin:/var/lib/mysql:/bin/bashnamed:x:44:44:name server daemon:/var/lib/named:/bin/falsenews:x:9:13:news system:/etc/news:/bin/bashnobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bashntp:x:74:103:ntp daemon:/var/lib/ntp:/bin/falsepop:x:67:100:pop admin:/var/lib/pop:/bin/falsepostfix:x:51:51:postfix daemon:/var/spool/postfix:/bin/falseprivoxy:x:106:107:daemon user for privoxy:/var/lib/privoxy:/bin/falsequagga:x:107:108:quagga routing daemon:/var/run/quagga:/bin/falseradiusd:x:105:106:radius daemon:/var/lib/radiusd:/bin/falseroot:x:0:0:root:/root:/bin/bashsquid:x:31:65534:www-proxy squid:/var/cache/squid:/bin/falsesshd:x:71:65:ssh daemon:/var/lib/sshd:/bin/falsesuse-ncc:x:102:104:novell customer center user:/var/lib/yast2/suse-ncc-fakehome:/bin/bashuucp:x:10:14:unix-to-unix copy system:/etc/uucp:/bin/bashwwwrun:x:30:8:www daemon apache:/var/lib/wwwrun:/bin/falsederv:x:1000:100:derv:/home/derv:/bin/bash
derv@algaju:~/dir1> tr -d ''
2.4. El comando cut nos sirve para extraer campos de un archivo (generalmente columnas). Observa el resultado de los siguientes ejemplos y explique cuál es su comportamiento:
derv@algaju:~/dir1> cut -c1 /etc/passwd (LISTA EL PRIMER CARACTER)a,b,d,f,g,h,i,i,l,m,m,m,n,n,n,n,p,q,q,r,r,s,s,s,u,w,d
derv@algaju:~/dir1> cut -c1,5,10-20 /etc/passwd (LISTA LOS CARACTERES 1,5 Y 10 Y EL 20 DE DER. A IZQ)
a:5:Batch job
blex:x:103:10
bx:bin:/bin:/
do2:2:Daemon:
dd04:65534:DH
fx49:FTP acco
gs2:100:Games
ha:x:101:102
:ix65534:IRC d
l::70:User fo
l:Printing da
m:12:Mailer d
mm:72:67:GNU
mx62:Manual p
md8:65534:mDN
mas:x:100:101
ml0:109:MySQ
s-x:102:104:N
u::14:Unix-to
wu30:8:WWW da
d:00:100:derv
derv@algaju:~/dir1> cut -d: -f3 /etc/passwd (LISTA EL 3ER CAMPO, CON LIMITADOR ‘:’)
23,100,1,2,104,40,12,101,39,76,4,8,72,13,78,100,60,44,9,65534,74,67,51,106,107,105,0,31,1000
3. División y unión de archivos3.1. Divida el archivo /etc/termcap en partes, pero antes debe tener una copia en su directorio de trabajo para poder realizar la acción.
derv@algaju:~/dir1> cp /etc/termcap termcap
derv@algaju:~/dir1> lsagenda1 agenda1.ord ageninv claves datos5 telefonos usersagenda1.num agenda2 clases datos1 -o termcap
derv@algaju:~/dir1> split termcap
derv@algaju:~/dir1> lsagenda1 agenda2 claves -o users xac xaf xai xal xao xaragenda1.num ageninv datos1 telefonos xaa xad xag xaj xam xap xasagenda1.ord clases datos5 termcap xab xae xah xak xan xaq xat
derv@algaju:~/dir1> split -100 termcap
derv@algaju:~/dir1> lsagenda1
xad xat xbj xbz xcp xdf xdv xel xfb xfr xgh xgx xhnagenda1.num xae xau xbk xca xcq xdg xdw xem xfc xfs xgi xgy xhoagenda1.ord xaf xav xbl xcb xcr xdh xdx xen xfd xft xgj xgz xhpagenda2 xag xaw xbm xcc xcs xdi xdy xeo xfe xfu xgk xha xhqageninv xah xax xbn xcd xct xdj xdz xep xff xfv xgl xhb xhrclases xai xay xbo xce xcu xdk xea xeq xfg xfw xgm xhcclaves xaj xaz xbp xcf xcv xdl xeb xer xfh xfx xgn xhddatos1 xak xba xbq xcg xcw xdm xec xes xfi xfy xgo xhedatos5 xal xbb xbr xch xcx xdn xed xet xfj xfz xgp xhf-o xam xbc xbs xci xcy xdo xee xeu xfk xga xgq xhgtelefonos xan xbd xbt xcj xcz xdp xef xev xfl xgb xgr xhhtermcap xao xbe xbu xck xda xdq xeg xew xfm xgc xgs xhiusers xap xbf xbv xcl xdb xdr xeh xex xfn xgd xgt xhjxaa xaq xbg xbw xcm xdc xds xei xey xfo xge xgu xhkxab xar xbh xbx xcn xdd xdt xej xez xfp xgf xgv xhlxac xas xbi xby xco xde xdu xek xfa xfq xgg xgw xhm
3.2. El comando paste realiza exactamente lo contrario que el comando cut. paste enlaza un archivo con otro, de tal manera, que inserta uno al lado del otro y no debajo. Ejemplos a comentar:Sean los siguientes archivos:archivo nombres archivo direccionesgeorge 55 Aim Avenue fred 1005 Marks road david 5 Thompson Street janet 43 Pedwell road
derv@algaju:~/dir1> cat >nombres
george
fred
david
janet
derv@algaju:~/dir1> cat >direcciones
55 aim avenue
1005 marks road
5thompson street
43 pedwell road
derv@algaju:~/dir1> paste nombres direcciones
george 55 aim avenue
fred 1005 marks road
david 5 thompson street
janet 43 pedwell road
3.3. Como ejercicio final de repaso de algunos comandos ya vistos, conteste las siguientes preguntas:Se necesita para todas las preguntas el siguiente archivo, libro.telefonosgeorge!2334234!55 Aim Avenue fred!343423!1005 Marks road david!5838434!5 Thompson Street janet!33343!43 Pedwell road
derv@algaju:~/dir1> cat >libro.telefonos
george!2334234!55 aim avenuefred!43423!1005 marks roaddavid!5838434!43 pedwell road
Observe que el elemento delimitador de los campos para este archivo es el símbolo“!”, y que los campos son el nombre, el número de teléfono y la dirección
¿Qué harían los siguientes comandos LINUX? No ejecute los comandos hasta que no esté seguro de lo que hace. En particular no intente ejecutar el primero de ellos:rmdir (BORRA DIRECTORIOS)cat /etc/passwd (DESPLIEGA EL ARCHIVO)ls ../dir1/agenda1 (LISTA LOS ARCHIVOS CON EL NOMBRE ESPECIFICO)
4. Permisos
4.1 Observe los permisos que el archivo agenda1. Realice una copia del mismo, llamelo temp1. Vamos a quitar a la copia permisos de lectura y escritura para el propietario del archivo, ejecutando los siguientes comandos:#ls temp1 –lQué permisos tiene temp1?
derv@algaju:~/dir1> cp agenda1 temp1
derv@algaju:~/dir1> ls -ltotal 2497-rw-r--r-- 1
derv users 102 2006-07-03 21:08 temp1(TIENE PERMISOS DE LECTURA Y ESCRITURA)Ejecutechmod u-r,u-w temp1 (quita permisos de lectura y escritura al archivo temp1)
derv@algaju:~/dir1> chmod u-r,u-w temp1Permita que el propietario pueda leer, escribir y ejecutar el archivo.chmod o-rwx temp1
derv@algaju:~/dir1> chmod o-rwx temp1Dar a todos los usuarios acceso al archivo.chmod +r temp1
derv@algaju:~/dir1> chmod +r temp1
derv@algaju:~/dir1> ls temp1 -l-r--r--r-- 1
derv users 102 2006-07-03 21:08 temp1Quitar permisos de ejecución a todos los usuarios excepto al propietario.#chmod u+rwx temp1
derv@algaju:~/dir1> chmod u+rwx temp1
Qué sucede con los siguientes comandos?#chmod a+r temp1#chmod og-x temp1
derv@algaju:~/dir1> chmod a+r temp1 (DA PERMISO DE LECTURA A TODOS LOS USUARIOS)
derv@algaju:~/dir1> chmod og-x temp1 (DA PERMISO DE EJECUCION AL GRUPO DEL PROPIETARIOS Y A OTROS USUARIOS)Añadamos los permisos de lectura al grupo y al restochmod g+r agenda1chmod o+r temp1¿Y ahora qué permisos tienen? derv@algaju:~/dir1> chmod g+r agenda1chmod: cambiando los permisos de «agenda1»: Operación no permitida
derv@algaju:~/dir1> chmod o+r temp1
derv@algaju:~/dir1> ls temp1 -l-rwxr--r-- 1
derv users 102 2006-07-03 21:08 temp1 (TODOS LOS PERMISOS PARA EL PROPIETARIO Y DE LECTURA PARA OTROS USUAIOS)
Crearemos un archivo de la siguiente forma:# ls -l > hola derv@algaju:~/dir1> ls -l>hola derv@algaju:~/dir1> ls hola -l-rw-r--r-- 1
derv users 11425 2006-07-03 21:12
Ahora podemos observar que el propietario de este archivo es derv, que pertenece al grupo users, y que sus bits de acceso están de la siguiente forma : -rw-r--r--.
¿Que indica todo esto? SIGNIFICA QUE EL PROPIETARIO TIENE PERMISO DE LECTURA/ESCRITURA Y SU GRUPO DE LECTURAEl cálculo de la máscara de umask se efectúa de la siguiente forma:#umask
derv@algaju:~/dir1> umask0022
Ejercicios de Repaso
Qué comandos utilizaría para:ordenar un archivo por nombres
derv@algaju:~/dir1> sort libro.telefonos
david!5838434!5 thompson street
fred!343423!1005 marks road
george!2334234!55 aim avenue
janet!33343!43 pedwell road
ordenar un archivo en orden descendente por el número de teléfono
derv@algaju:~/dir1> sort -r -t! -k2 libro.telefonos
david!5838434!5 thompson street
fred!343423!1005 marks road
janet!33343!43 pedwell road
george!2334234!55 aim avenue
mostrar sólo la columna de las direcciones
derv@algaju:~/dir1> cut -d! -f3 libro.telefonos
55 aim avenue
1005 marks road
5 thompson street
43 pedwell road
cambiar todos los caracteres delimitadores “!” por “:”
derv@algaju:~/dir1> tr ! :
fred:343423:1005 marks road
david:5838434:5 thompson street
janet:33343:43 pedwell road
mostrar la primera línea del archivo
derv@algaju:~/dir1> uniq -u1 libro.telefonos
george!2334234!55 aim avenue
mostrar la línea que contiene la información sobre david
derv@algaju:~/dir1> grep david libro.telefonos
david!5838434!5 thompson street
¿Qué efecto tendría el siguiente comando: paste –d: -s libro.telefonos
derv@algaju:~/dir1> paste -d: -s libro.telefonos
george!2334234!55 aim avenue:fred!343423!1005 marks road:david!5838434!5 thompson street:janet!33343!43 pedwell roadderv@algaju:~/dir1>
Tarea # 4
7.2 Por qué es deseable la capacidad para reubicar procesos?
R. Es deseable porque para cuando se haya descargado un programa en el disco y se quiera cargar nuevamente, no ocurra el problema de situarlo en la misma región de la memoria principal que antes
7.3 Por qué no es posible forzar la protección de la memoria en tiempo de compilación?
R. Es imposible comprobar las direcciones absolutas durante la compilación para asegurar la protección, puesto que se desconoce la ubicación de un programa en la memoria principal.
7.4 Qué razones existen para permitir que dos o mas procesos acceden a una misma región de la memoria?
R. Cualquier mecanismo de protección que se implemente debe tener la flexibilidad de permitir el acceso de varios procesos a la misma zona de la memoria principal, porque por ejemplo es más factible permitir a cada proceso que acceda a la misma copia del programa, en lugar de tener cada uno su propia copia aparte. Por eso se le permite un acceso controlado a las áreas compartidas de la memoria.
7.5 En un esquema de particionamiento fijo, ¿Cuáles son las ventajas de utilizar particiones de distinto tamaño?
R. La ventaja es que los procesos están siempre asignados de forma que se minimiza la memoria desaprovechada dentro de cada partición. También proporciona cierto grado de flexibilidad a las particiones estáticas. Además, ambos tipos de esquema de partición estática son relativamente simples y exigen un software del sistema operativo y una sobrecarga de procesamiento mínimos.
7.6 Cuál es la diferencia entre la fragmentación interna y la externa
R. La diferencia es que la fragmentación externa se produce cuando la memoria se divide en particiones de tamaño variable correspondientes a los bloques de datos asignados de la memoria; y la fragmentación interna se da cuando la memoria se divide en particiones de tamaño fijo.
7.7 Cuáles son las diferencias entre direcciones lógicas, relativas y físicas
R. Una dirección lógica es una referencia a una posición de memoria independiente de la asignación actual de datos a la memoria.
Una dirección relativa es un caso particular de dirección lógica, en el cual la dirección de memoria se expresa como una posición relativa a algún punto conocido, normalmente el principio del programa.
Una dirección física o dirección absoluta, es una posición real en la memoria principal.
7.8 Cuál es la diferencia entre una página y un marco de página
R. Una página es un bloque de longitud fija que dispone de una dirección virtual y que se transfiere como una unidad entre la memoria principal y la memoria secundaria (en el almacenamiento virtual).
Mientras que el marco de página es un bloque de memoria principal contiguo y de longitud fija que se usa para contener una página.
7.9 Cuál es la diferencia entre página y segmento
R. Una página es un bloque de longitud fija que dispone de una dirección virtual (en el almacenamiento virtual).
Mientras que el segmento de un bloque que tiene una dirección virtual, en la memoria virtual, pero dichos bloques pueden ser de longitud desigual y longitud variable dinámicamente.
8.1 ¿Cuál es la diferencia entre paginación sencilla y paginación con memoria virtual?
R. La diferencia es que en la paginación simple, todas las páginas de un proceso tienen que estar en la memoria principal para que el proceso se ejecute, a menos que se use superposición; y en la paginación con memoria virtual, no lo necesitan estar todas (las páginas se pueden leer cuando se necesiten).
8.2 Explique el trasiego o thrashing?
R. El trasiego es un fenómeno de los esquemas de memoria virtual en el que el procesador pasa la mayor parte del tiempo intercambiando trozos de memoria en vez de ejecutar instrucciones. Las formas de evitar el trasiego fueron unas de las áreas de investigación más importantes de los años 70 y llevaron a un buen número de algoritmos complejos pero efectivos. En esencia, el sistema operativo intenta adivinar, en función de la historia reciente, qué fragmentos se usarán con menor probabilidad en un futuro próximo.
8.3 ¿Por qué es el principio de proximidad de referencia es crucial para el uso de la memoria virtual?
R. Ya que la referencia de los datos y al programa dentro de un proceso tienden a agruparse.
8.4 ¿Qué elementos se encuentran típicamente en la entrada de tabla de páginas? Define brevemente cada elemento
R. Los elementos son:
Número de marco de página: Se refiere a un marco en la memoria principal.
Edad: Indica cuánto tiempo ha estado la página en la memoria sin ser referenciada. La longitud y el contenido de este campo son dependientes del procesador.
Copia en escritura: Activo cuando más de un proceso comparte la página. Si uno de los procesos escribe en la página, antes debe hacerse una copia de la página para todos los demás procesos que la comparten. Esta característica permite aplazar la operación de ocpia hasta que sea necesario y evitarla en caso de que no lo sea.
Modificación: Indica que la página ha sido modificada.
Referencia: Indica que la página ha sido referenciada. Este bit se pone a cero cuando la página se carga por primera vez y puede ser restaurado periódicamente por el algoritmo de reemplazo de página.
Validez: Indica que la página está en la memoria principal.
Protección: Indica si está permitida la operación de escritura.
8.5 ¿Cuál es el propósito de la TLB?
R. El buffer de traducción adelantada se usa para evitar que en un esquema sencillo de memoria virtual exista el efecto de doblar el tiempo de acceso a la memoria, uno para obtener la entrada de la tabla de páginas correspondiente y otro para obtener el dato deseado.
8.6 Defina brevemente las alternativas para la política de recuperación?
R. Las dos alternativas más comunes son:
Paginación por demanda: Consiste en la transferencia de una página de memoria secundaria hacia la memoria principal en el momento en que se necesite.
Paginación previa: Consiste en la recuperación de páginas distintas de la solicitada por un fallo de página
8.7 ¿Cuál es la diferencia entre gestión del conjunto residente y política de reemplazo de páginas?
R. En la gestión del conjunto residente, el sistema operativo debe decidir cuánta memoria principal ha de asignar a un proceso en particular cuando se carga. En la política de reemplazo de páginas, cuando la memoria está llena debe tomarse la decisión de qué página o páginas serán reemplazadas.
8.8 ¿Cuál es la relación entre los algoritmos de reemplazo de páginas FIFO y del reloj?
R. La relación es que tratan los marcos asignados a un proceso como un buffer circular y las páginas se suprimen de la memoria según la técnica de turno rotatorio.
8.10 ¿Por qué no es posible combinar una política de reemplazo global y una política de asignación fija?
R. Con una política de asignación fija, cada vez que se produce un fallo de página en la ejecución de un proceso, se debe reemplazar una de las páginas de dicho proceso por la página que se necesite. Una política de reemplazo global se considera todas las páginas de la memoria como candidatas a reemplazar, independientemente del proceso particular al que pertenezcan.
8.11 ¿Cuál es la diferencia entre un conjunto reciente y un conjunto de trabajo?
R. Un conjunto de trabajo es el conjunto de páginas a las que el proceso en un instante virtual t y con un parámetro , ha hecho referencia en las últimas unidades de tiempo virtual. Un conjunto residente es parte de un proceso que está en la memoria principal en un momento dado.
8.12 ¿Cuál es la diferencia entre la limpieza por demanda y la limpieza adelantada?
R. En limpieza por demanda, una página se escribirá en la memoria secundaria sólo cuando haya sido elegida para reemplazarse; y en una política de limpieza adelantada previo, se escriben las páginas modificadas antes de que se necesiten sus marcos, de forma que las páginas puedan escribirse por lotes.
Problemas
8.4 Un proceso tiene asignado 4 marcos de páginas. (Todos los números siguientes son decimales y todo esta numerado empezando por cero). El instante de la ultima carga de paginas en cada marco de pagina, el instante del ultimo acceso a la pagina en cada marco, el numero de pagina virtual de cada marco y los bits de referencia (R) y modificación (M) para cada marco son los dados (los instantes se dan en pulsos del reloj del procesador desde el instante 0 hasta el suceso, no el numero de pulsos desde el suceso hasta el instante actual)

Se ha producido un fallo en la pagina virtual 4. ¿Qué marco reemplazara su contenido para cada una de las siguientes políticas de gestión de memoria? Explíquese por que en cada caso.
R:
FIFO: En FIFO se reemplazara el marco #3 ya a que el instante de carga fue de 20 (el menor de todos) y fue el primero en ingresar.
LRU: En LRU el marco que se reemplazara es el marco #0, ya que el instante de referencia fue de 161, y es el menos usado recientemente.
Reloj: En el Reloj, primero se evalúa el bit de referencia R y luego se elije el primer marco que contenga del bit R en 0. Por lo tanto se reemplazara el marco de página #0.
Dado el estado de memoria anterior, inmediatamente antes del fallo de página, considérese la siguiente serie de referencias a páginas virtuales:
4, 0, 0, 0, 2, 4, 2, 1, 0, 3, 2

FIFO con 4 marcos

8.4 Un proceso contiene 8 páginas virtuales en el disco y se asignan con una ubicación fija de 4 marcos de página en la memoria principal. Se produce la siguiente serie de páginas:
1, 0, 2, 2, 1, 7, 6, 7, 0, 1, 2, 0, 3, 0, 4, 5, 1, 5, 2, 4, 5, 6, 7, 6, 7, 2, 4, 2, 7, 3, 3, 2, 3
a. Muéstrese la sucesión de páginas residentes en los cuatro marcos usando la política de reemplazo de LRU. Calcule la tasa de aciertos en la memoria principal. Considérese que los marcos están inicialmente vacíos.

b. Repita el apartado (a) para la política de reemplazo FIFO
R. Es deseable porque para cuando se haya descargado un programa en el disco y se quiera cargar nuevamente, no ocurra el problema de situarlo en la misma región de la memoria principal que antes
7.3 Por qué no es posible forzar la protección de la memoria en tiempo de compilación?
R. Es imposible comprobar las direcciones absolutas durante la compilación para asegurar la protección, puesto que se desconoce la ubicación de un programa en la memoria principal.
7.4 Qué razones existen para permitir que dos o mas procesos acceden a una misma región de la memoria?
R. Cualquier mecanismo de protección que se implemente debe tener la flexibilidad de permitir el acceso de varios procesos a la misma zona de la memoria principal, porque por ejemplo es más factible permitir a cada proceso que acceda a la misma copia del programa, en lugar de tener cada uno su propia copia aparte. Por eso se le permite un acceso controlado a las áreas compartidas de la memoria.
7.5 En un esquema de particionamiento fijo, ¿Cuáles son las ventajas de utilizar particiones de distinto tamaño?
R. La ventaja es que los procesos están siempre asignados de forma que se minimiza la memoria desaprovechada dentro de cada partición. También proporciona cierto grado de flexibilidad a las particiones estáticas. Además, ambos tipos de esquema de partición estática son relativamente simples y exigen un software del sistema operativo y una sobrecarga de procesamiento mínimos.
7.6 Cuál es la diferencia entre la fragmentación interna y la externa
R. La diferencia es que la fragmentación externa se produce cuando la memoria se divide en particiones de tamaño variable correspondientes a los bloques de datos asignados de la memoria; y la fragmentación interna se da cuando la memoria se divide en particiones de tamaño fijo.
7.7 Cuáles son las diferencias entre direcciones lógicas, relativas y físicas
R. Una dirección lógica es una referencia a una posición de memoria independiente de la asignación actual de datos a la memoria.
Una dirección relativa es un caso particular de dirección lógica, en el cual la dirección de memoria se expresa como una posición relativa a algún punto conocido, normalmente el principio del programa.
Una dirección física o dirección absoluta, es una posición real en la memoria principal.
7.8 Cuál es la diferencia entre una página y un marco de página
R. Una página es un bloque de longitud fija que dispone de una dirección virtual y que se transfiere como una unidad entre la memoria principal y la memoria secundaria (en el almacenamiento virtual).
Mientras que el marco de página es un bloque de memoria principal contiguo y de longitud fija que se usa para contener una página.
7.9 Cuál es la diferencia entre página y segmento
R. Una página es un bloque de longitud fija que dispone de una dirección virtual (en el almacenamiento virtual).
Mientras que el segmento de un bloque que tiene una dirección virtual, en la memoria virtual, pero dichos bloques pueden ser de longitud desigual y longitud variable dinámicamente.
8.1 ¿Cuál es la diferencia entre paginación sencilla y paginación con memoria virtual?
R. La diferencia es que en la paginación simple, todas las páginas de un proceso tienen que estar en la memoria principal para que el proceso se ejecute, a menos que se use superposición; y en la paginación con memoria virtual, no lo necesitan estar todas (las páginas se pueden leer cuando se necesiten).
8.2 Explique el trasiego o thrashing?
R. El trasiego es un fenómeno de los esquemas de memoria virtual en el que el procesador pasa la mayor parte del tiempo intercambiando trozos de memoria en vez de ejecutar instrucciones. Las formas de evitar el trasiego fueron unas de las áreas de investigación más importantes de los años 70 y llevaron a un buen número de algoritmos complejos pero efectivos. En esencia, el sistema operativo intenta adivinar, en función de la historia reciente, qué fragmentos se usarán con menor probabilidad en un futuro próximo.
8.3 ¿Por qué es el principio de proximidad de referencia es crucial para el uso de la memoria virtual?
R. Ya que la referencia de los datos y al programa dentro de un proceso tienden a agruparse.
8.4 ¿Qué elementos se encuentran típicamente en la entrada de tabla de páginas? Define brevemente cada elemento
R. Los elementos son:
Número de marco de página: Se refiere a un marco en la memoria principal.
Edad: Indica cuánto tiempo ha estado la página en la memoria sin ser referenciada. La longitud y el contenido de este campo son dependientes del procesador.
Copia en escritura: Activo cuando más de un proceso comparte la página. Si uno de los procesos escribe en la página, antes debe hacerse una copia de la página para todos los demás procesos que la comparten. Esta característica permite aplazar la operación de ocpia hasta que sea necesario y evitarla en caso de que no lo sea.
Modificación: Indica que la página ha sido modificada.
Referencia: Indica que la página ha sido referenciada. Este bit se pone a cero cuando la página se carga por primera vez y puede ser restaurado periódicamente por el algoritmo de reemplazo de página.
Validez: Indica que la página está en la memoria principal.
Protección: Indica si está permitida la operación de escritura.
8.5 ¿Cuál es el propósito de la TLB?
R. El buffer de traducción adelantada se usa para evitar que en un esquema sencillo de memoria virtual exista el efecto de doblar el tiempo de acceso a la memoria, uno para obtener la entrada de la tabla de páginas correspondiente y otro para obtener el dato deseado.
8.6 Defina brevemente las alternativas para la política de recuperación?
R. Las dos alternativas más comunes son:
Paginación por demanda: Consiste en la transferencia de una página de memoria secundaria hacia la memoria principal en el momento en que se necesite.
Paginación previa: Consiste en la recuperación de páginas distintas de la solicitada por un fallo de página
8.7 ¿Cuál es la diferencia entre gestión del conjunto residente y política de reemplazo de páginas?
R. En la gestión del conjunto residente, el sistema operativo debe decidir cuánta memoria principal ha de asignar a un proceso en particular cuando se carga. En la política de reemplazo de páginas, cuando la memoria está llena debe tomarse la decisión de qué página o páginas serán reemplazadas.
8.8 ¿Cuál es la relación entre los algoritmos de reemplazo de páginas FIFO y del reloj?
R. La relación es que tratan los marcos asignados a un proceso como un buffer circular y las páginas se suprimen de la memoria según la técnica de turno rotatorio.
8.10 ¿Por qué no es posible combinar una política de reemplazo global y una política de asignación fija?
R. Con una política de asignación fija, cada vez que se produce un fallo de página en la ejecución de un proceso, se debe reemplazar una de las páginas de dicho proceso por la página que se necesite. Una política de reemplazo global se considera todas las páginas de la memoria como candidatas a reemplazar, independientemente del proceso particular al que pertenezcan.
8.11 ¿Cuál es la diferencia entre un conjunto reciente y un conjunto de trabajo?
R. Un conjunto de trabajo es el conjunto de páginas a las que el proceso en un instante virtual t y con un parámetro , ha hecho referencia en las últimas unidades de tiempo virtual. Un conjunto residente es parte de un proceso que está en la memoria principal en un momento dado.
8.12 ¿Cuál es la diferencia entre la limpieza por demanda y la limpieza adelantada?
R. En limpieza por demanda, una página se escribirá en la memoria secundaria sólo cuando haya sido elegida para reemplazarse; y en una política de limpieza adelantada previo, se escriben las páginas modificadas antes de que se necesiten sus marcos, de forma que las páginas puedan escribirse por lotes.
Problemas
8.4 Un proceso tiene asignado 4 marcos de páginas. (Todos los números siguientes son decimales y todo esta numerado empezando por cero). El instante de la ultima carga de paginas en cada marco de pagina, el instante del ultimo acceso a la pagina en cada marco, el numero de pagina virtual de cada marco y los bits de referencia (R) y modificación (M) para cada marco son los dados (los instantes se dan en pulsos del reloj del procesador desde el instante 0 hasta el suceso, no el numero de pulsos desde el suceso hasta el instante actual)

Se ha producido un fallo en la pagina virtual 4. ¿Qué marco reemplazara su contenido para cada una de las siguientes políticas de gestión de memoria? Explíquese por que en cada caso.
R:
FIFO: En FIFO se reemplazara el marco #3 ya a que el instante de carga fue de 20 (el menor de todos) y fue el primero en ingresar.
LRU: En LRU el marco que se reemplazara es el marco #0, ya que el instante de referencia fue de 161, y es el menos usado recientemente.
Reloj: En el Reloj, primero se evalúa el bit de referencia R y luego se elije el primer marco que contenga del bit R en 0. Por lo tanto se reemplazara el marco de página #0.
Dado el estado de memoria anterior, inmediatamente antes del fallo de página, considérese la siguiente serie de referencias a páginas virtuales:
4, 0, 0, 0, 2, 4, 2, 1, 0, 3, 2
Cuántos fallos de página se producirán si se emplea la política de conjunto de trabajo con un tamaño de ventana de cuatro en vez de con asignación fija? Muéstrese claramente cuando se produce cada fallo de página.
R: En un tamaño de ventana de 4 se producirán 6 fallos de página.
8.5 Un proceso hace referencia a cinco páginas, A, B, C, D y E, en el siguiente orden:
A; B; C; D; A; B; E; A; B; C; D; E
Supóngase que el algoritmo de reemplazo es del de primera en entrar/primera en salir y determínese el numero de transferencias de paginas durante esta secuencia de referencias, comenzando con la memoria principal vacía con 3 marcos de pagina. Repítase para 4 marcos de página.
FIFO con 3 marcos

FIFO con 4 marcos

8.4 Un proceso contiene 8 páginas virtuales en el disco y se asignan con una ubicación fija de 4 marcos de página en la memoria principal. Se produce la siguiente serie de páginas:
1, 0, 2, 2, 1, 7, 6, 7, 0, 1, 2, 0, 3, 0, 4, 5, 1, 5, 2, 4, 5, 6, 7, 6, 7, 2, 4, 2, 7, 3, 3, 2, 3
a. Muéstrese la sucesión de páginas residentes en los cuatro marcos usando la política de reemplazo de LRU. Calcule la tasa de aciertos en la memoria principal. Considérese que los marcos están inicialmente vacíos.

b. Repita el apartado (a) para la política de reemplazo FIFO
c. Compare las dos tasas de acierto y comente la efectividad del uso FIFO como aproximación LRU con respecto a esta serie particular.
R: Ambas políticas de reemplazo tienen la misma efectividad, LRU como FIFO ya que estas producen 20 fallos, para esta serie de páginas.
R: Ambas políticas de reemplazo tienen la misma efectividad, LRU como FIFO ya que estas producen 20 fallos, para esta serie de páginas.
Tarea # 5
12.1 Cuál es la diferencia entre un campo y un registro
La principal diferencia entre esto es que el campo son los datos básicos contiene un valor único, registro conjunto de campos.
12.2 Cuál es la diferencia entre un archivo y una base de datos
Las bases de datos son muchos datos unidos y relacionados y pueden ser de distintos tipos y contener varios archivos, mientras que por otro lado el archivo tiene contenido de igual similitud
12.3 Qué es un sistema de gestión de archivos
Es aquel encargado de de ofrecer los servicios de de gestión de los archivos brinda a los usuarios la forma de modificar los distintos tipos de archivos por medio de el se accede a dichos los archivos.
12.4 Qué criterios son importantes en la elección de una organización de archivos
Acceso Rápido
Facilidad de actualización
Economía de almacenamiento
Mantenimiento sencillo
12.5 Liste y defina brevemente cinco organizaciones de archivos.
1. Pilas
2. Archivos secuenciales
3. Archivos secuenciales indexados
4. Archivos indexados
5. Archivos directos o de dispersión
12.7 Cuáles son las operaciones típicas que se pueden realizar sobre un directorio
1. Buscar
2. Crear archivo
3. Borrar archivo
4. Enumerar directorio
5. Actualizar directorio
12.8 Cuál es la relación entre un ruta de un fichero y un directorio de trabajo?
La reilación es que la ruta de un fichero es una serie de directorios que podríamos ver como un árbol y un directorio de trabajo es una de las ramas de nuestro árbol, es decir donde el usuario se encuentra en determinado momento.
12.9 Cuáles son los derechos de acceso típicos que se pueden conceder o denegar a un usuario particular sobre un fichero particular sobre un archivo
1. Ejecución
2. Lectura
3. Adición
4. Actualización
5. Cambio de protección
6. Borrado
12.11 Enumere y defina brevemente tres métodos de asignación de fichero?
1. Asignación Contigua
2. Asignación Indexada
3. Asignación Encadenada
Problemas
12.4 Los directorios pueden implementarse como “archivos especiales” a los que solo se puede acceder de manera limitada o como archivos ordinarios de datos ¿Cuáles son las ventajas y desventajas de cada método?
R: Los directorios accesados de manera limitada, comúnmente son directorios en los cuales esta almacenada información referente al sistema operativo, o utilidades necesarias para la correcta ejecución del sistema operativo. Además de los archivos normales de datos, dentro de la estructura de un sistema UNIX existen unos archivos especiales. Los nombres de estos archivos identifican los dispositivos físicos hardware del equipo:
Discos magnéticos
Cintas magnéticas
Terminales
Líneas de comunicaciones
Etc.
Todos los dispositivos tienen un controlador responsable de comunicarse con este dispositivo. Dentro del sistema hay una tabla que apunta a los diferentes controladores de los dispositivos. Todos los dispositivos son tratados como archivos. Existen archivos especiales para cada línea de comunicaciones, disco, unidad de cinta magnética, memoria principal, etc. Estos archivos en realidad están vacíos. Tienen por misión asociar entre sí los dispositivos y sus respectivos drivers. El sistema emplea dos números enteros, denominados número principal (14 bits) y número secundario (18 bits) y almacenados en el i-nodo del archivo, para acceder al dispositivo asociado.
El número principal identifica una clase de dispositivo (en realidad identifica al driver de dicha clase como pueden ser terminales, impresoras, discos, etc.) y el número secundario identifica a un elemento de dicha clase (un terminal específico, un disco concreto,...).
Ventajas de tratar las unidades de entrada/salida de esta forma son:
Los archivos y dispositivos son tratados lo más similarmente posible.
Los nombres de ambos son pasados a los programas de la misma forma.
Los archivos especiales están sujetos al mismo tipo de protección de acceso que los archivos y directorios ordinarios.
Desventajas están:
Como son estandarizados, la ruta de acceso a los mismos, es similar en diversos terminales, lo que crea un riesgo de accesibilidad por programas o utilidades no deseadas.
Puede haber conflictos cuando más de un controlador es asignado al mismo dispositivo y ambos tratan de ejecutarse como controlador actual.
Directorios como archivos ordinarios de datos:
Los directorios que son accesados como archivos ordinarios de datos son los que han sido creados la mayoría de las veces por parte del usuario, o aplicaciones generales, no relativas al sistema operativo, como utilidades.
Entre sus ventajas están:
Son de fácil entendimiento para el usuario, ya que comúnmente los nombres lógicos han sido asignados por el usuario o son entendibles o asociables a las aplicaciones.
Están sujetos a protecciones de acceso por el sistema operativo.
Son de fácil navegación a través de los nombres, y suelen identificar claramente el contenido interno de los mismos.
Entre sus desventajas están:
Son relativos al sistema, y características especiales definidas por el usuario, por lo cual, no es necesariamente entendible por usuarios en otros idiomas.
Puede crear conflicto de referencias cuando una aplicación busca ciertas utilidades bajo un nombre, pero no las encuentra porque el directorio de acceso posee nombres diferentes en otros idiomas (ejemplo, las aplicaciones que buscan “Program Files” en sistemas operativos en español dicho directorio será llamado “Archivos de programa”)
12.5 Algunos sistemas operativos poseen un sistema de archivos estructurado en árbol, pero limitan la profundidad del árbol a un pequeño número de niveles, ¿Qué efecto causa este limite en los usuarios? ¿Cómo simplifica esto el diseño del sistema de archivos (si lo hace)?
R: El sistema operativo UNIX está diseñado para manejar información contenida normalmente en discos. Para que esta manipulación sea realmente efectiva, es necesario que la información esté organizada de alguna forma. La manera estándar de organizar la información es en archivos. Los archivos son localizados dentro del disco porque son apuntados desde un lugar determinado, a este lugar se le denomina directorio.
Por otro lado, en UNIX no se utiliza un único directorio para apuntar a todos los archivos del sistema, sino que se crea una estructura jerárquica de directorios conocida como estructura en árbol.
Aunque en un principio pueda parecer una estructura excesivamente complicada por la amplia ramificación de los directorios, esta organización permite agrupar los archivos de los diferentes usuarios e incluso de las diferentes aplicaciones en directorios separados, con lo que se evita el que se interfieran entre sí. Por otro lado, un mismo usuario puede organizar su propia información separando los archivos en diferentes directorios de acuerdo a su contenido.
Los usuarios comúnmente no notarían el limite de la profundidad de los árboles, pues es mas común que guarden sus archivos dentro del mismo nivel, o creen otros directorios al mismo nivel, mas probable seria que las aplicaciones demandaran mas profundidad, pero tampoco sucede, pues con el objetivo de simplificar las rutas de acceso a los archivos y librerías, se opta por crear dentro de un archivo, varios subdirectorios, pero los mismos no alcanzan una profundidad excesiva.
Esto simplifica el diseño del sistema de archivo, por ejemplo en UNIX, al momento de crear las tablas de i-nodos pues se evita que los i-nodos sean dependientes de una ruta de acceso, creando problemas si se corrompe la lista, por lo cual las locaciones serian mas fáciles de recuperarse si el árbol posee una menor profundidad.
12.6 Considérese un sistema de archivos jerárquico en el que el espacio libre se mantiene mediante una lista de espacio libre:
A-Supóngase que el puntero al espacio libre se pierde. ¿Puede el sistema reconstruir la lista de espacio libre?
R: Si el puntero al espacio libre se pierde, es muy probable que si solo se usaba una técnica indexada, se pierda la lista actual de espacio libre, mas existen muchas y diversas técnicas que permiten la creación de la lista del espacio libre, como por ejemplo el vector bit, que posee una ventaja ya que muchos procesadores cuentan con instrucciones de manipulación de bits, y este método es usado por el MacOS, e Intel a partir del 80386 y Motorola a partir del 68020 tienen instrucciones que ayudan a la creación del vector bit. El único problema es si el vector no se mantiene en memoria, pero como solución, el disco duro puede ser partido en clusters, y muchos sistemas operativos cuentan con utilidades de análisis de unidades fijas, lo que ayuda a reconstruir la lista de espacio libre, así como detectar sectores defectuosos.
Además, en sistemas de archivos como FAT, la administración de espacio libre esta incorporada en la propia estructura de asignación.
B-Sugiérase un esquema que garantice que el puntero nunca se pierde como resultado de un único fallo de memoria.
R: Un esquema que garantice que el puntero no se pierda como resultado de un fallo en memoria puede ser el usado por UNIX, el de mantener los bloques de índice cerca de los bloques de datos, para reducir el tiempo de búsqueda, o usar la técnica de agrupamiento, que es una modificación de la técnica de lista enlazada, en agrupamiento, se aprovecha el espacio de los bloques libres para almacenar las direcciones de estos bloques libres, lo que permite encontrar mas rápidamente las direcciones de los bloques libres, y como las mismas están almacenadas en varios bloques, es mas fácil evitar la perdida del puntero lógico.
La principal diferencia entre esto es que el campo son los datos básicos contiene un valor único, registro conjunto de campos.
12.2 Cuál es la diferencia entre un archivo y una base de datos
Las bases de datos son muchos datos unidos y relacionados y pueden ser de distintos tipos y contener varios archivos, mientras que por otro lado el archivo tiene contenido de igual similitud
12.3 Qué es un sistema de gestión de archivos
Es aquel encargado de de ofrecer los servicios de de gestión de los archivos brinda a los usuarios la forma de modificar los distintos tipos de archivos por medio de el se accede a dichos los archivos.
12.4 Qué criterios son importantes en la elección de una organización de archivos
Acceso Rápido
Facilidad de actualización
Economía de almacenamiento
Mantenimiento sencillo
12.5 Liste y defina brevemente cinco organizaciones de archivos.
1. Pilas
2. Archivos secuenciales
3. Archivos secuenciales indexados
4. Archivos indexados
5. Archivos directos o de dispersión
12.7 Cuáles son las operaciones típicas que se pueden realizar sobre un directorio
1. Buscar
2. Crear archivo
3. Borrar archivo
4. Enumerar directorio
5. Actualizar directorio
12.8 Cuál es la relación entre un ruta de un fichero y un directorio de trabajo?
La reilación es que la ruta de un fichero es una serie de directorios que podríamos ver como un árbol y un directorio de trabajo es una de las ramas de nuestro árbol, es decir donde el usuario se encuentra en determinado momento.
12.9 Cuáles son los derechos de acceso típicos que se pueden conceder o denegar a un usuario particular sobre un fichero particular sobre un archivo
1. Ejecución
2. Lectura
3. Adición
4. Actualización
5. Cambio de protección
6. Borrado
12.11 Enumere y defina brevemente tres métodos de asignación de fichero?
1. Asignación Contigua
2. Asignación Indexada
3. Asignación Encadenada
Problemas
12.4 Los directorios pueden implementarse como “archivos especiales” a los que solo se puede acceder de manera limitada o como archivos ordinarios de datos ¿Cuáles son las ventajas y desventajas de cada método?
R: Los directorios accesados de manera limitada, comúnmente son directorios en los cuales esta almacenada información referente al sistema operativo, o utilidades necesarias para la correcta ejecución del sistema operativo. Además de los archivos normales de datos, dentro de la estructura de un sistema UNIX existen unos archivos especiales. Los nombres de estos archivos identifican los dispositivos físicos hardware del equipo:
Discos magnéticos
Cintas magnéticas
Terminales
Líneas de comunicaciones
Etc.
Todos los dispositivos tienen un controlador responsable de comunicarse con este dispositivo. Dentro del sistema hay una tabla que apunta a los diferentes controladores de los dispositivos. Todos los dispositivos son tratados como archivos. Existen archivos especiales para cada línea de comunicaciones, disco, unidad de cinta magnética, memoria principal, etc. Estos archivos en realidad están vacíos. Tienen por misión asociar entre sí los dispositivos y sus respectivos drivers. El sistema emplea dos números enteros, denominados número principal (14 bits) y número secundario (18 bits) y almacenados en el i-nodo del archivo, para acceder al dispositivo asociado.
El número principal identifica una clase de dispositivo (en realidad identifica al driver de dicha clase como pueden ser terminales, impresoras, discos, etc.) y el número secundario identifica a un elemento de dicha clase (un terminal específico, un disco concreto,...).
Ventajas de tratar las unidades de entrada/salida de esta forma son:
Los archivos y dispositivos son tratados lo más similarmente posible.
Los nombres de ambos son pasados a los programas de la misma forma.
Los archivos especiales están sujetos al mismo tipo de protección de acceso que los archivos y directorios ordinarios.
Desventajas están:
Como son estandarizados, la ruta de acceso a los mismos, es similar en diversos terminales, lo que crea un riesgo de accesibilidad por programas o utilidades no deseadas.
Puede haber conflictos cuando más de un controlador es asignado al mismo dispositivo y ambos tratan de ejecutarse como controlador actual.
Directorios como archivos ordinarios de datos:
Los directorios que son accesados como archivos ordinarios de datos son los que han sido creados la mayoría de las veces por parte del usuario, o aplicaciones generales, no relativas al sistema operativo, como utilidades.
Entre sus ventajas están:
Son de fácil entendimiento para el usuario, ya que comúnmente los nombres lógicos han sido asignados por el usuario o son entendibles o asociables a las aplicaciones.
Están sujetos a protecciones de acceso por el sistema operativo.
Son de fácil navegación a través de los nombres, y suelen identificar claramente el contenido interno de los mismos.
Entre sus desventajas están:
Son relativos al sistema, y características especiales definidas por el usuario, por lo cual, no es necesariamente entendible por usuarios en otros idiomas.
Puede crear conflicto de referencias cuando una aplicación busca ciertas utilidades bajo un nombre, pero no las encuentra porque el directorio de acceso posee nombres diferentes en otros idiomas (ejemplo, las aplicaciones que buscan “Program Files” en sistemas operativos en español dicho directorio será llamado “Archivos de programa”)
12.5 Algunos sistemas operativos poseen un sistema de archivos estructurado en árbol, pero limitan la profundidad del árbol a un pequeño número de niveles, ¿Qué efecto causa este limite en los usuarios? ¿Cómo simplifica esto el diseño del sistema de archivos (si lo hace)?
R: El sistema operativo UNIX está diseñado para manejar información contenida normalmente en discos. Para que esta manipulación sea realmente efectiva, es necesario que la información esté organizada de alguna forma. La manera estándar de organizar la información es en archivos. Los archivos son localizados dentro del disco porque son apuntados desde un lugar determinado, a este lugar se le denomina directorio.
Por otro lado, en UNIX no se utiliza un único directorio para apuntar a todos los archivos del sistema, sino que se crea una estructura jerárquica de directorios conocida como estructura en árbol.
Aunque en un principio pueda parecer una estructura excesivamente complicada por la amplia ramificación de los directorios, esta organización permite agrupar los archivos de los diferentes usuarios e incluso de las diferentes aplicaciones en directorios separados, con lo que se evita el que se interfieran entre sí. Por otro lado, un mismo usuario puede organizar su propia información separando los archivos en diferentes directorios de acuerdo a su contenido.
Los usuarios comúnmente no notarían el limite de la profundidad de los árboles, pues es mas común que guarden sus archivos dentro del mismo nivel, o creen otros directorios al mismo nivel, mas probable seria que las aplicaciones demandaran mas profundidad, pero tampoco sucede, pues con el objetivo de simplificar las rutas de acceso a los archivos y librerías, se opta por crear dentro de un archivo, varios subdirectorios, pero los mismos no alcanzan una profundidad excesiva.
Esto simplifica el diseño del sistema de archivo, por ejemplo en UNIX, al momento de crear las tablas de i-nodos pues se evita que los i-nodos sean dependientes de una ruta de acceso, creando problemas si se corrompe la lista, por lo cual las locaciones serian mas fáciles de recuperarse si el árbol posee una menor profundidad.
12.6 Considérese un sistema de archivos jerárquico en el que el espacio libre se mantiene mediante una lista de espacio libre:
A-Supóngase que el puntero al espacio libre se pierde. ¿Puede el sistema reconstruir la lista de espacio libre?
R: Si el puntero al espacio libre se pierde, es muy probable que si solo se usaba una técnica indexada, se pierda la lista actual de espacio libre, mas existen muchas y diversas técnicas que permiten la creación de la lista del espacio libre, como por ejemplo el vector bit, que posee una ventaja ya que muchos procesadores cuentan con instrucciones de manipulación de bits, y este método es usado por el MacOS, e Intel a partir del 80386 y Motorola a partir del 68020 tienen instrucciones que ayudan a la creación del vector bit. El único problema es si el vector no se mantiene en memoria, pero como solución, el disco duro puede ser partido en clusters, y muchos sistemas operativos cuentan con utilidades de análisis de unidades fijas, lo que ayuda a reconstruir la lista de espacio libre, así como detectar sectores defectuosos.
Además, en sistemas de archivos como FAT, la administración de espacio libre esta incorporada en la propia estructura de asignación.
B-Sugiérase un esquema que garantice que el puntero nunca se pierde como resultado de un único fallo de memoria.
R: Un esquema que garantice que el puntero no se pierda como resultado de un fallo en memoria puede ser el usado por UNIX, el de mantener los bloques de índice cerca de los bloques de datos, para reducir el tiempo de búsqueda, o usar la técnica de agrupamiento, que es una modificación de la técnica de lista enlazada, en agrupamiento, se aprovecha el espacio de los bloques libres para almacenar las direcciones de estos bloques libres, lo que permite encontrar mas rápidamente las direcciones de los bloques libres, y como las mismas están almacenadas en varios bloques, es mas fácil evitar la perdida del puntero lógico.
Tarea # 3
1. La tabla 3.5 enumera los elementos típicos que se encuentran en un bloque de control de proceso de un sistema monohilo. De éstos, ¿cúales deben pertenecer a un bloque de control de hilo y cúales deben pertenecer a un bloque de control de proceso para un sistema multihilo?
- BLOQUE DE CONTROL DE HILO:
Categoría de información.
Registros visibles.
Registro de control.
Registro de estado.
- BLOQUE DE CONTROL DE PROCESO
Idenificacion de proceso.
Información de proceso.
Información de planificación.
Información de estado.
Estructura de datos.
Comunicación entre procesos.
Privilegios de los procesos.
Gestion de memoria.
Propiedad de los recursos y utilización.
2. Enumere las razones por las que un cambio de contexto entre hilos puede ser mas barato que un cambio de contexto entre procesos.
Razones de que un cambio de contexto entre hilos es mas barato que un cambio de contexto entre procesos:
a) Las comunicaciones entre hilos son mas rápidas y sencillas que las de procesos.
b) Los costes a largo plazo será mayores para los procesos que para un hilo, dentro de un proceso entre ellos comparición de la cache
c) Las cargas administrativas de la creación de un proceso suelen ser mayores que la creación de un hilo.
3. ¿Cuáles son las dos caracteristicas diferentes y potencialmente independiente en el concepto de procesos?
Las dos características diferentes y potencialmente independientes que expresa el concepto de proceso son:
a. Unidad de propiedad de los recursos: Un proceso incluye un espacio de direcciones virtuales para mantener la imagen del proceso y, de vez en cuando, al proceso se le puede asignar el control o la propiedad de recursos tales como la memoria principal, canales de E/S, dispositivos de E/S y archivos.
b. Unidad de expedición: La ejecución de un proceso sigue un camino de ejecución (traza) a través de uno o más programas. Esta ejecución puede ser intercalada con la de otros procesos.
4. Dé cuatro ejemplos generales del uso de hilos en un sistema multiprocesador monousuario.
Usos de los hilos en un sistema monousuario y multiproceso
a. Trabajo interactivo y en segundo plano.
b. Procesamiento asíncrono.
c. Aceleración de la ejecución.
d. Estructuración modular de los programas
5. ¿Qué recursos son compartidos normalmente por todos los hilos de un proceso?
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.
6. Enumere tres ventajas de los ULT sobre los KLT.
1.El intercambio de los hilos no necesita los privilegios del modo kernel, porque todas las estructuras de datos están en el espacio de direcciones de usuario de un mismo proceso. Por lo tanto, el proceso no debe cambiar a modo kernel para gestionar hilos. Se evita la sobrecarga de cambio de modo y con esto el sobrecoste.
2.Se puede realizar una planificación específica. Dependiendo de que aplicación sea, se puede decidir por una u otra planificación según sus ventajas.
Los ULT pueden ejecutar en cualquier sistema operativo. La biblioteca de hilos es un conjunto compartido.
7. Enumere dos desventajas de los ULT en comparación con los KLT.
1.En la mayoría de los sistemas operativos las llamadas al sistema son bloqueantes. Cuando un hilo realiza una llamada al sistema, se bloquea el mismo y también el resto de los hilos del proceso.
2.En una estrategia ULT pura, una aplicación multihilo no puede aprovechar las ventajas de los multiprocesadores. El núcleo asigna un solo proceso a un solo procesador, ya que como el núcleo no interviene, ve al conjunto de hilos como un solo proceso.
8. Defina jacketing (revestimiento).
Jacketing es convertir una llamada bloqueante a una no bloqueante
9. Defina brevemente las diversas arquitecturas que se nombran en la Figura 4.8.
PROCESADORES PARALELOS: Dispositivos de un ordenador los cuales ejecutan simultáneamente instrucciones o programas.
SIMD: Instrucción Única para Múltiples Datos. Los repertorios SIMD consisten en instrucciones que aplican una misma operación sobre un conjunto más o menos grande de datos. Es una organización que influye muchas unidades de procesamiento bajo la supervisión de una unidad de control común.
MIMD: Es una técnica empleada en el paralelismo de archivos.
MEMORIA COMPARTIDA: Permite crear segmentos de memoria a los que pueden acceder múltiples procesos, pudiendo definir restricciones de acceso.
MEMORIA DISTRIBUIDA: Los procesadores pueden compartir información solamente enviando mensajes, es decir, si un procesador requiere los datos contenidos en la memoria de otro procesador, deberá enviar un mensaje solicitándolos.
SMP: se trata de que varios procesadores comparten el acceso memoria.
MAESTRO/ESCLAVO: El núcleo del sistema operativo siempre ejecuta en un procesador determinado. El maestro es el responsable de la planificación de procesos e hilos. Una vez que un proceso/hilo está activo, si un esclavo necesita de un servicio del SO, debe enviar una petición al maestro esperar a que se realice dicho servicio.
CLUSTER: Grupos de computadoras completos e interconectados trabajando juntas como un sistema único y que pueden llegar a hacer una sola maquina.
10. Enumere los aspectos principales de diseño de un sistema operativo SMP.
Los aspectos principales de diseño de un sistema operativo SMP son:
a) Hilos o Procesos concurrentes.
b) Planificación.
c) Sincronización.
d) Gestión de memoria.
e) Fiabilidad y Tolerancia a los fallos.
11. Dé ejemplos de servicios y funciones que se encuentran en un sistema operativo monolítico típico que podrían ser subsistemas externos en un sistema operativo micronucleo.
Algunos ejemplos de funciones y servicios son:
a) Los sistemas de archivos.
b) Los Gestores de memoria virtual.
c) Servicios de seguridad.
d) Sistema de ventanas
12. Enumere y explique brevemente siete ventajas potenciales de un diseño micronucleo en comparación con un diseño monolitico.
a) Uniformidad de interfaces: Los procesos no necesitan diferenciar entre servicios de usuario y de núcleo, ya que todos los servicios se utilizan mediante paso de mensajes.
b) Extensibilidad: Se permiten añadir nuevos servicios al conjunto de servicios ya existentes en alguna de las áreas funcionales.
c) Flexibilidad: Se pueden reducir las características actuales del sistema operativo para dar lugar a una implementación más pequeña y más eficiente.
d) Portabilidad: En la arquitectura micronúcleo, todo o al menos la mayoría del código específico del procesador está en el micronúcleo, para que asi los cambios necesarios para portar el sistema a un nuevo procesador son menores y tienden a estar ordenados en agrupaciones lógicas.
e) Fiabilidad: Cuanto mayor es el tamaño de un producto software, más difícil es garantizar su fiabilidad. Aunque el diseño modular ayuda a aumentar la fiabilidad, se pueden obtener aún mayores ganancias con una arquitectura micronúcleo.
f) Soporte a sistemas distribuidos: Cuando un cliente envía un mensaje a un proceso servidor, el mensaje debe incluir un identificador del servicio solicitado
g) Soporte para sistemas operativos orientados a objetos (OOOS): Un enfoque orientado a objetos puede aportar una disciplina al diseño del micronúcleo y al desarrollo de las extensiones modulares del sistema
13. Explique la desventaja potencial de rendimiento de un sistema operativo micronucleo.
La desventaja potencial de un sistema operativo micronucleo es su rendimiento porque se consume mucho tiempo en construir y enviar un mensaje, aceptar o decodificar una respuesta.
14. Enumere cuatro funciones que le gustaria encontrar incluso en un sistema operativo micronucleo minimo.
Las funciones son:
Gestión de memoria a bajo nivel.
Comunicación entre procesos (ICP).
Gestión de interrupciones y E/S.
15. ¿Cuál es la forma basica de comunicación entre procesos o hilos en un sistema operativo micronucleo?
La forma basica de comunicación entre procesos o hilos es por medio de los mensajes ya como sabemos un mensaje consta de un emisor, receptor y en este caso una cabecera que es la identifica los procesos.
- BLOQUE DE CONTROL DE HILO:
Categoría de información.
Registros visibles.
Registro de control.
Registro de estado.
- BLOQUE DE CONTROL DE PROCESO
Idenificacion de proceso.
Información de proceso.
Información de planificación.
Información de estado.
Estructura de datos.
Comunicación entre procesos.
Privilegios de los procesos.
Gestion de memoria.
Propiedad de los recursos y utilización.
2. Enumere las razones por las que un cambio de contexto entre hilos puede ser mas barato que un cambio de contexto entre procesos.
Razones de que un cambio de contexto entre hilos es mas barato que un cambio de contexto entre procesos:
a) Las comunicaciones entre hilos son mas rápidas y sencillas que las de procesos.
b) Los costes a largo plazo será mayores para los procesos que para un hilo, dentro de un proceso entre ellos comparición de la cache
c) Las cargas administrativas de la creación de un proceso suelen ser mayores que la creación de un hilo.
3. ¿Cuáles son las dos caracteristicas diferentes y potencialmente independiente en el concepto de procesos?
Las dos características diferentes y potencialmente independientes que expresa el concepto de proceso son:
a. Unidad de propiedad de los recursos: Un proceso incluye un espacio de direcciones virtuales para mantener la imagen del proceso y, de vez en cuando, al proceso se le puede asignar el control o la propiedad de recursos tales como la memoria principal, canales de E/S, dispositivos de E/S y archivos.
b. Unidad de expedición: La ejecución de un proceso sigue un camino de ejecución (traza) a través de uno o más programas. Esta ejecución puede ser intercalada con la de otros procesos.
4. Dé cuatro ejemplos generales del uso de hilos en un sistema multiprocesador monousuario.
Usos de los hilos en un sistema monousuario y multiproceso
a. Trabajo interactivo y en segundo plano.
b. Procesamiento asíncrono.
c. Aceleración de la ejecución.
d. Estructuración modular de los programas
5. ¿Qué recursos son compartidos normalmente por todos los hilos de un proceso?
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.
6. Enumere tres ventajas de los ULT sobre los KLT.
1.El intercambio de los hilos no necesita los privilegios del modo kernel, porque todas las estructuras de datos están en el espacio de direcciones de usuario de un mismo proceso. Por lo tanto, el proceso no debe cambiar a modo kernel para gestionar hilos. Se evita la sobrecarga de cambio de modo y con esto el sobrecoste.
2.Se puede realizar una planificación específica. Dependiendo de que aplicación sea, se puede decidir por una u otra planificación según sus ventajas.
Los ULT pueden ejecutar en cualquier sistema operativo. La biblioteca de hilos es un conjunto compartido.
7. Enumere dos desventajas de los ULT en comparación con los KLT.
1.En la mayoría de los sistemas operativos las llamadas al sistema son bloqueantes. Cuando un hilo realiza una llamada al sistema, se bloquea el mismo y también el resto de los hilos del proceso.
2.En una estrategia ULT pura, una aplicación multihilo no puede aprovechar las ventajas de los multiprocesadores. El núcleo asigna un solo proceso a un solo procesador, ya que como el núcleo no interviene, ve al conjunto de hilos como un solo proceso.
8. Defina jacketing (revestimiento).
Jacketing es convertir una llamada bloqueante a una no bloqueante
9. Defina brevemente las diversas arquitecturas que se nombran en la Figura 4.8.
PROCESADORES PARALELOS: Dispositivos de un ordenador los cuales ejecutan simultáneamente instrucciones o programas.
SIMD: Instrucción Única para Múltiples Datos. Los repertorios SIMD consisten en instrucciones que aplican una misma operación sobre un conjunto más o menos grande de datos. Es una organización que influye muchas unidades de procesamiento bajo la supervisión de una unidad de control común.
MIMD: Es una técnica empleada en el paralelismo de archivos.
MEMORIA COMPARTIDA: Permite crear segmentos de memoria a los que pueden acceder múltiples procesos, pudiendo definir restricciones de acceso.
MEMORIA DISTRIBUIDA: Los procesadores pueden compartir información solamente enviando mensajes, es decir, si un procesador requiere los datos contenidos en la memoria de otro procesador, deberá enviar un mensaje solicitándolos.
SMP: se trata de que varios procesadores comparten el acceso memoria.
MAESTRO/ESCLAVO: El núcleo del sistema operativo siempre ejecuta en un procesador determinado. El maestro es el responsable de la planificación de procesos e hilos. Una vez que un proceso/hilo está activo, si un esclavo necesita de un servicio del SO, debe enviar una petición al maestro esperar a que se realice dicho servicio.
CLUSTER: Grupos de computadoras completos e interconectados trabajando juntas como un sistema único y que pueden llegar a hacer una sola maquina.
10. Enumere los aspectos principales de diseño de un sistema operativo SMP.
Los aspectos principales de diseño de un sistema operativo SMP son:
a) Hilos o Procesos concurrentes.
b) Planificación.
c) Sincronización.
d) Gestión de memoria.
e) Fiabilidad y Tolerancia a los fallos.
11. Dé ejemplos de servicios y funciones que se encuentran en un sistema operativo monolítico típico que podrían ser subsistemas externos en un sistema operativo micronucleo.
Algunos ejemplos de funciones y servicios son:
a) Los sistemas de archivos.
b) Los Gestores de memoria virtual.
c) Servicios de seguridad.
d) Sistema de ventanas
12. Enumere y explique brevemente siete ventajas potenciales de un diseño micronucleo en comparación con un diseño monolitico.
a) Uniformidad de interfaces: Los procesos no necesitan diferenciar entre servicios de usuario y de núcleo, ya que todos los servicios se utilizan mediante paso de mensajes.
b) Extensibilidad: Se permiten añadir nuevos servicios al conjunto de servicios ya existentes en alguna de las áreas funcionales.
c) Flexibilidad: Se pueden reducir las características actuales del sistema operativo para dar lugar a una implementación más pequeña y más eficiente.
d) Portabilidad: En la arquitectura micronúcleo, todo o al menos la mayoría del código específico del procesador está en el micronúcleo, para que asi los cambios necesarios para portar el sistema a un nuevo procesador son menores y tienden a estar ordenados en agrupaciones lógicas.
e) Fiabilidad: Cuanto mayor es el tamaño de un producto software, más difícil es garantizar su fiabilidad. Aunque el diseño modular ayuda a aumentar la fiabilidad, se pueden obtener aún mayores ganancias con una arquitectura micronúcleo.
f) Soporte a sistemas distribuidos: Cuando un cliente envía un mensaje a un proceso servidor, el mensaje debe incluir un identificador del servicio solicitado
g) Soporte para sistemas operativos orientados a objetos (OOOS): Un enfoque orientado a objetos puede aportar una disciplina al diseño del micronúcleo y al desarrollo de las extensiones modulares del sistema
13. Explique la desventaja potencial de rendimiento de un sistema operativo micronucleo.
La desventaja potencial de un sistema operativo micronucleo es su rendimiento porque se consume mucho tiempo en construir y enviar un mensaje, aceptar o decodificar una respuesta.
14. Enumere cuatro funciones que le gustaria encontrar incluso en un sistema operativo micronucleo minimo.
Las funciones son:
Gestión de memoria a bajo nivel.
Comunicación entre procesos (ICP).
Gestión de interrupciones y E/S.
15. ¿Cuál es la forma basica de comunicación entre procesos o hilos en un sistema operativo micronucleo?
La forma basica de comunicación entre procesos o hilos es por medio de los mensajes ya como sabemos un mensaje consta de un emisor, receptor y en este caso una cabecera que es la identifica los procesos.
viernes, 4 de julio de 2008
Tarea # 2
3.1 ¿En qué consiste una traza de instrucciones?
En si se puede decir que la Traza de instrucciones no es más que una lista de secuencia de instrucciones que son ejecutadas dentro del comportamiento de un proceso individual.
3.2 ¿Cuáles son, normalmente, los sucesos que llevan a la creación de un proceso?
Son cuatro los sucesos que llevan a la creación de un proceso los cuales son los siguientes:
Un nuevo trabajo por lotes, gracias a que el sistema operativo lleva un flujo de control de trabajos por lote, en donde lee próxima secuencia de órdenes de control de trabajos, para acogerlo.
Una conexión interactiva en la que un usuario entra en el sistema desde una Terminal
Creado por el sistema operativo para dar un servicio a un programa de usuario.
Generado por un proceso existente, es decir por un programa de usuario que funciona paralelamente.
3.3 Describa brevemente cada estado del modelo de procesos de la Figura 3.5.
En el proceso de la Figura 3.5, son ejecutadas las seis primeras instrucciones del proceso A, hasta que se vence el plazo que les fue asignado, seguido de la ejecución de un código del distribuidor que ejecuta seis instrucciones del proceso B antes de entregar el control al proceso B. Cuando ha ejecutado cuatro instrucciones del proceso B, se solicita una acción de E/S por la que debe esperar, ante lo cual el procesador detiene la ejecución del proceso B, y avanza por medio del distribuidor, hasta el proceso C. Concluido el plazo, el procesador pasa otra vez al proceso A, y cuando se extinga su plazo, el proceso B continúa esperando a que finalice la operación de entrada/salida, por lo que el distribuidor vuelve al proceso C.
3.4 ¿Qué significa expulsar a un proceso?
Cuando hablamos de la expulsión de un proceso esto consiste en la capacidad por el cual el sistema operativo pone fin al estado de ejecución de un proceso dado, mediante una interrupción de fin de tiempo de ejecución.
3.5 Qué es el intercambio y cuál es su propósito.
El intercambio es mover todo o una parte de un proceso que no está en estado “listo de la memoria principal al disco, y traer un proceso de la cola de “suspendidos” para ejecutarlo o aceptar la solicitud de crear un proceso nuevo. El intercambio tiene el propósito de ejecutar tantos procesos listos para ejecutarse, como sea posible, aprovechando al máximo la capacidad del procesador.
3.6 ¿Por qué la Figura 3.8b tiene dos estados Bloqueado?
Ya que uno de los procesos, al no estar listo, ha sido expulsado para dar cabida a otro proceso, y porque hay otro proceso en la cola de bloqueados y suspendidos, pero que tiene una prioridad mayor que los que están listos y suspendidos.
3.7 Enumere cuatro características de los procesos suspendidos.
Los procesos suspendidos tienen cuatro características:• Es un proceso que inmediatamente no está disponible para su ejecución.• Puede estar esperando o no la ocurrencia de un proceso.• El proceso han sido puesto en estado suspendido por un agente, ya sea propio proceso, el proceso padre o por el propio sistema operativo, para no permitir su ejecución.• El proceso permanecerá en estado suspendido hasta que lo ordene explícitamente el proceso que lo suspendió.
3.8 ¿Para qué tipos de entidades mantiene el sistema operativo tablas de información destinadas a facilitar la administración?
El sistema operativo mantiene tablas de información para los procesos, la memoria, para los archivos y para las entradas/salidas.
3.9 Enumere tres categorías de información generales en un bloque de control de proceso.
Las tres categorías de información generales en un bloque de control de proceso son:
• Identificación del proceso
• Información del estado del procesador
• Información de control del proceso
3.10 ¿Por qué son necesarios dos modos (usuario y núcleo)?
Es necesario estos dos modos por razones de seguridad, ya que el modo usuario es menos privilegiado por cuanto sólo puede ejecutar programas de usuario y no así, tener control completo del procesador y de todas sus instrucciones, lectura o modificación de registros y memoria, instrucciones de entradas/salidas, funciones importantes del sistemas que sólo están reservadas al modo del núcleo.
3.11 ¿Cuáles son los pasos que lleva a cabo un sistema operativo para crear un nuevo proceso?
Los pasos para la creación de un proceso nuevo son los siguientes:
• Asignar un identificador único al nuevo proceso.
• Asignar espacio para el proceso.
• Iniciar el bloque de control del proceso.
• Establecer los enlaces apropiados.
• Ampliar o crear otras estructuras de datos.
3.12 ¿Cuál es la diferencia entre una interrupción y un cepo?
La diferencia consiste en que una interrupción es originada por algún tipo de suceso externo e independiente del proceso que está en ejecución, mientras que el cepo es una especie de interrupción que se produce por una condición de error o de excepción que se genera dentro del proceso que está ejecutándose, como por ejemplo, el intento ilegal de acceso a un archivo.
3.13 Enumere tres ejemplos de interrupción.
Tres ejemplos de interrupción son: interrupción de reloj, interrupción de entrada/salida, e interrupción de memoria.
3.14 ¿Cuál es la diferencia entre cambio de modo y cambio de proceso?
En el cambio de modo, el procesador cambia de modo usuario a modo de núcleo para que el código que procesa una interrupción pueda incluir instrucciones privilegiadas, sin que esto implique cambiar el estado de un proceso que está actualmente en estado de ejecución. Por el contrario, el cambio de proceso implica cambiar el estado de un proceso en ejecución a otro estado, ya sea “listo”, “bloqueado”, “listo y suspendido” o “terminado”.
Problemas:
3.1 Mencione los 5 principales actividades de un sistema operativo en relación con la gestión de procesos y describa brevemente por qué es necesaria cada una de ellas.
Creación de un proceso
Ejecución de un proceso
Suspensión de un proceso
Terminar la ejecución de un proceso.
Cambiar el programa de un proceso
En si se puede decir que la Traza de instrucciones no es más que una lista de secuencia de instrucciones que son ejecutadas dentro del comportamiento de un proceso individual.
3.2 ¿Cuáles son, normalmente, los sucesos que llevan a la creación de un proceso?
Son cuatro los sucesos que llevan a la creación de un proceso los cuales son los siguientes:
Un nuevo trabajo por lotes, gracias a que el sistema operativo lleva un flujo de control de trabajos por lote, en donde lee próxima secuencia de órdenes de control de trabajos, para acogerlo.
Una conexión interactiva en la que un usuario entra en el sistema desde una Terminal
Creado por el sistema operativo para dar un servicio a un programa de usuario.
Generado por un proceso existente, es decir por un programa de usuario que funciona paralelamente.
3.3 Describa brevemente cada estado del modelo de procesos de la Figura 3.5.
En el proceso de la Figura 3.5, son ejecutadas las seis primeras instrucciones del proceso A, hasta que se vence el plazo que les fue asignado, seguido de la ejecución de un código del distribuidor que ejecuta seis instrucciones del proceso B antes de entregar el control al proceso B. Cuando ha ejecutado cuatro instrucciones del proceso B, se solicita una acción de E/S por la que debe esperar, ante lo cual el procesador detiene la ejecución del proceso B, y avanza por medio del distribuidor, hasta el proceso C. Concluido el plazo, el procesador pasa otra vez al proceso A, y cuando se extinga su plazo, el proceso B continúa esperando a que finalice la operación de entrada/salida, por lo que el distribuidor vuelve al proceso C.
3.4 ¿Qué significa expulsar a un proceso?
Cuando hablamos de la expulsión de un proceso esto consiste en la capacidad por el cual el sistema operativo pone fin al estado de ejecución de un proceso dado, mediante una interrupción de fin de tiempo de ejecución.
3.5 Qué es el intercambio y cuál es su propósito.
El intercambio es mover todo o una parte de un proceso que no está en estado “listo de la memoria principal al disco, y traer un proceso de la cola de “suspendidos” para ejecutarlo o aceptar la solicitud de crear un proceso nuevo. El intercambio tiene el propósito de ejecutar tantos procesos listos para ejecutarse, como sea posible, aprovechando al máximo la capacidad del procesador.
3.6 ¿Por qué la Figura 3.8b tiene dos estados Bloqueado?
Ya que uno de los procesos, al no estar listo, ha sido expulsado para dar cabida a otro proceso, y porque hay otro proceso en la cola de bloqueados y suspendidos, pero que tiene una prioridad mayor que los que están listos y suspendidos.
3.7 Enumere cuatro características de los procesos suspendidos.
Los procesos suspendidos tienen cuatro características:• Es un proceso que inmediatamente no está disponible para su ejecución.• Puede estar esperando o no la ocurrencia de un proceso.• El proceso han sido puesto en estado suspendido por un agente, ya sea propio proceso, el proceso padre o por el propio sistema operativo, para no permitir su ejecución.• El proceso permanecerá en estado suspendido hasta que lo ordene explícitamente el proceso que lo suspendió.
3.8 ¿Para qué tipos de entidades mantiene el sistema operativo tablas de información destinadas a facilitar la administración?
El sistema operativo mantiene tablas de información para los procesos, la memoria, para los archivos y para las entradas/salidas.
3.9 Enumere tres categorías de información generales en un bloque de control de proceso.
Las tres categorías de información generales en un bloque de control de proceso son:
• Identificación del proceso
• Información del estado del procesador
• Información de control del proceso
3.10 ¿Por qué son necesarios dos modos (usuario y núcleo)?
Es necesario estos dos modos por razones de seguridad, ya que el modo usuario es menos privilegiado por cuanto sólo puede ejecutar programas de usuario y no así, tener control completo del procesador y de todas sus instrucciones, lectura o modificación de registros y memoria, instrucciones de entradas/salidas, funciones importantes del sistemas que sólo están reservadas al modo del núcleo.
3.11 ¿Cuáles son los pasos que lleva a cabo un sistema operativo para crear un nuevo proceso?
Los pasos para la creación de un proceso nuevo son los siguientes:
• Asignar un identificador único al nuevo proceso.
• Asignar espacio para el proceso.
• Iniciar el bloque de control del proceso.
• Establecer los enlaces apropiados.
• Ampliar o crear otras estructuras de datos.
3.12 ¿Cuál es la diferencia entre una interrupción y un cepo?
La diferencia consiste en que una interrupción es originada por algún tipo de suceso externo e independiente del proceso que está en ejecución, mientras que el cepo es una especie de interrupción que se produce por una condición de error o de excepción que se genera dentro del proceso que está ejecutándose, como por ejemplo, el intento ilegal de acceso a un archivo.
3.13 Enumere tres ejemplos de interrupción.
Tres ejemplos de interrupción son: interrupción de reloj, interrupción de entrada/salida, e interrupción de memoria.
3.14 ¿Cuál es la diferencia entre cambio de modo y cambio de proceso?
En el cambio de modo, el procesador cambia de modo usuario a modo de núcleo para que el código que procesa una interrupción pueda incluir instrucciones privilegiadas, sin que esto implique cambiar el estado de un proceso que está actualmente en estado de ejecución. Por el contrario, el cambio de proceso implica cambiar el estado de un proceso en ejecución a otro estado, ya sea “listo”, “bloqueado”, “listo y suspendido” o “terminado”.
Problemas:
3.1 Mencione los 5 principales actividades de un sistema operativo en relación con la gestión de procesos y describa brevemente por qué es necesaria cada una de ellas.
Creación de un proceso
Ejecución de un proceso
Suspensión de un proceso
Terminar la ejecución de un proceso.
Cambiar el programa de un proceso
Suscribirse a:
Comentarios (Atom)
