Tarea 1

INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS






1-¿Cuáles son las principales funciones de un sistema operativo?

Gestionar los recursos del ordenador.
Dispone de una interfase liberando al usuario del conocimiento del hardware.
"GUI" , permitiendo al usuario interactuar con el hardware de una forma sencilla y rápida.
Sobre el SO funcionan el resto de programas y aplicaciones del software.

2-¿Qué diferencia existe entre un mandato y una llamada al sistema?

Un mandato es una orden dirigida al sistema operativo por medio del usuario.
Una llamada al sistema es el procedimiento en el cual los programas, apoyados en el sistema operativo, acceden a los recursos que necesitan

3-¿Cómo se solicita una llamada al sistema operativo?

La forma en que se realiza una llamada al sistema consiste en colocar una serie de parámetros en un lugar específico, para después ejecutar una instrucción del lenguaje máquina del procesador denominada trap.

4-¿Cómo indica POSIX en un programa C el tipo de error que se ha producido en una llamada al sistema? ¿y Win32?

En caso de error: Las llamadas al sistema devuelven -1 ó NULL.
Deben siempre comprobar después de una llamada si todo es correcto, para ello Linux proporciona una variable error y una función perror()

5-¿Cuál de las siguientes técnicas hardware tiene mayor influencia en la construcción de un sistema operativo? Razone su respuesta

A.- Microprogramación del procesador
B.- Cache de la memoria principal
C.- DMA
D.- RISC

Microprogramación del procesador ya que involucra lo que son las operaciones básicas que un computador debe realizar para propósito general mientras que los demás ya serían los componentes que se le agregan para que las operaciones que vaya a realizar el procesador sea más eficiente.

6-¿El intérprete de mandatos de UNIX es interno o externo? Razone su respuesta con un ejemplo

Es un intérprete de comandos interno, ya que este acerca al usuario todas las posibilidades del sistema convirtiéndose en la interfaz entre el usuario y el nivel de llamadas del sistema.

7-¿Dónde es más compleja una llamada al sistema, en un sistema operativo monolítico o en uno por capas?

En un sistema operativo por capas, debido a que la llamada tiene que pasar por muchos más procedimientos que la simple monolítica

8-¿Qué tipo de sistema operativo es más fácil de modificar, uno monolítico o uno por capas? ¿Cuál es más eficiente?

Los SO de estructura monolítica son más fáciles de cambiar y modificar. Sin embargo, los sistemas operativos por capas son más eficientes, ya que el intérprete de comandos asimila los mandatos, y luego de ellos haber pasado por cada uno de los niveles la orden habrá sido completado.

9-¿Debe ser un sistema operativo multitarea de tiempo compartido? ¿Y viceversa? Razone su respuesta.

Los sistemas operativos de tiempo compartido se caracterizan por realizar n tareas a la vez, dar servicio a n cantidad de usuarios.
Los SO multitareas pueden y deben ser de tiempo compartido, siempre y cuando sean fáciles de entender y operar, seguros y lo suficientemente eficientes como para satisfacer las necesidades de todos los usuarios en el momento.

10-¿Qué ventajas considera que tiene escribir un sistema operativo utilizando un lenguaje de alto nivel?

Independientemente de la complejidad del lenguaje, pienso que un SO debe ser escrito en un lenguaje de programación avanzado, ya que las necesidades, las demandas y la diversidad de aplicaciones de un SO son cada vez mayores, y por tal razón, al momento de programar uno, deben ser aprovechadas las ventajas que ofrece un lenguaje de programación avanzado como por ejemplo una mayor cantidad de funciones.

11-Liste cinco servicios que un sistema operativo presta. Explique cómo cada uno ofrece comodidad a los usuarios, y también en que casos sería imposible que programas en el nivel de usuario proporcionen estos servicios.

Un Sistema Operativo Distribuido tiene que sincronizar los procesos que se están ejecutando en diferentes computadoras cuando estas tratan de accesar concurrentemente un recurso compartido, por ejemplo: un directorio.
El recurso compartido debe ser accesado por un proceso a la vez, a esto se le conoce como mutua exclusión.
Cuando se tiene acceso concurrentemente a un recurso compartido por diversas peticiones no coordinadas de usuarios, estas deben de seriabilizarse para asegurar la integridad del recurso.
Los procesos deben solicitar recursos locales o remotos y posteriormente liberados en cualquier orden que puede ser no conocido.
Si la ausencia de asignación de recursos de los procesos no se controla se puede presentar un " Dead Lock " que degrade al sistema.

HOME

UNIVERSIDAD TECNOLOGICA DE PANAMÁ


FACULTAD DE INGENIERIA EN SISTEMAS COMPUTACIONALES


SISTEMAS OPERATIVOS I


PORTAFOLIO DE TRABAJOS


RICARDO GOTI

8-803-606



PRO: GIOVANA GARRIDO

Laboratorio 3.2 parte C

ORDENES BASICAS


Objetivos.
• Manejar órdenes básicas para ordenar, cortar, extraer y unir archivos.
• Manejar los permisos en archivos y directorios.

Recursos:

Herramientas.
Los comandos a utilizar en esta práctica son:
http://es.tldp.org/Manuales-LuCAS/LIPP/lipp-1.1-html-2/lipp.htm
sort chmod
cut tail
tr paste
paste umask

Procedimiento:

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

1.1 Liste por pantalla el número de personas que almacena el archivo "agenda1" sin
repeticiones.
#sort -u agenda1

1.2 Liste en orden alfabético de apellidos el archivo "agenda1".
#sort +1 -d agenda1

1.3.- Añade a datos1.num el contenido de datos1 con sus líneas numeradas.
#cat -n agenda1 >> agenda1.num
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

#sort datos1 >> agenda1.ord

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.
#sort 1 +1 -r agenda1 agenda2 > ageninv

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.
#sort -d agenda2 | uniq -d -n0

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 ":" ).
#sort -d -t:/etc/passwd

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.
#sort +2 +0 -u agenda1 agenda2 > telefonos

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:
#sort claves: Tomará a los números como una lista de caracteres y el ordenamiento no será el esperado
#sort -r claves : Se invierte el orden de clasificacion de claves

#sort +2n -t: /etc/passwd:
#sort +2n -t: -n /etc/passwd

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.
#cut -d -f1,3,4 /etc/passwd > users

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.
#cut -d: -1,4 /etc/group

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:
#tr a z < claves: Redirecciona clave y se le cambia los acarecteres a a-z
#tr '[A-Z]' '[a-z]' < claves: Se hace casi lo mismo que el primero lo unico que aca se especifica que tambien sea para las las mayusculas
#tr -d ' ' < claves

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:
#cut –c1 /etc/passwd
#cut –c1,5,10-20 /etc/passwd
#cut –d: -f3- /etc/passwd

3. División y unión de archivos

3.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.
#split termcap
#split -100 termcap

3.2. El comando
paste
realiza exactamente lo contrario que el comando
cu
t.
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 direcciones
george 55 Aim Avenue
fred 1005 Marks road
david 5 Thompson Street
janet 43 Pedwell road
#paste nombres direcciones
#paste –d: nombres direcciones
#paste –s nombres

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.telefonos

george!2334234!55 Aim Avenue
fred!343423!1005 Marks road
david!5838434!5 Thompson Street
janet!33343!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 ~
cat /etc/passwd
ls ../dir1/agenda1

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 –l
Qué permisos tiene temp1?
Ejecute
#chmod u-r,u-w temp1 (quita permisos de lectura y escritura al archivo temp1)
Permita que el propietario pueda leer, escribir y ejecutar el archivo.
#chmod o-rwx temp1
Dar a todos los usuarios acceso al archivo.
#chmod +r temp1
Quitar permisos de ejecución a todos los usuarios excepto al propietario.
#chmod u+rwx temp1
Qué sucede con los siguientes comandos?
#chmod a+r temp1
#chmod og-x temp1
Añadamos los permisos de lectura al grupo y al resto
chmod g+r agenda1
chmod o+r temp1
¿Y ahora qué permisos tienen?
Crearemos un archivo de la siguiente forma:
# ls -l > hola
Podemos observar que el propietario de este archivo es root, que pertenece al
grupo root, y que sus bits de acceso están de la siguiente forma : rw-r-----. ¿Que
indica todo esto?
El cálculo de la máscara de umask se efectúa de la siguiente forma:
#umask
Ejercicios de Repaso:
Qué comandos utilizaría para:
ordenar un archivo por nombres
ordenar un archivo en orden descendente por el número de teléfono
mostrar sólo la columna de las direcciones
cambiar todos los caracteres delimitadores “!” por “:”

mostrar la primera línea del archivo
mostrar la línea que contiene la información sobre
david
¿Qué efecto tendría el siguiente comando:
paste –d: -s libro.telefonos

Laboratorio 3.1 parte B

COMANDOS BASICO


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 o crea un archivo existente.

Añade al archivo anterior una sexta línea con un mensaje de despedida. Visualícelo en pantalla.
# cat >> datos1

Esto agrego algo sobre el archivo creado previamente.

# cat datos1

Muestra la información en datos1.

#ls -l > datos2

Redirecciona un archivo de texto

#cat<>> datos3

Redirecciona la información de datos 2 a datos3

Utilice uno de los archivos creados anteriormente para mostrar para redireccionar la entrada del archivo.

#cat < dato3

Añade una línea más de texto al archivo datos1.

# cat >> datos1

# cat datos1 datos2 datos3

Se visualiza los archivos datos1, datos2 y datos3.


Visualizar los datos del archivo con more y con less.
# more datos2

se visualizan todos los datos de una.

# less datos2

Se visualizan poco a poco

Enlaces Lógicos

# ln datos1 datos3

se enlaza, y se despliega todo lo que tenga datos1 a datos 3

# cat datos3

se muestran los datos del archivo

Si usamos #ls-i, veremos que los dos archivos tienen i-nodos diferentes, en efecto

Pero qué pasa si modificamos el archivo datos3 ? (salir con ctrl.-d)
# cat >> datos3

compar el tamaño de datos1 con datos3

# ls –l
# cat >> datos3
#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?

No se puede hacer enlaces fuertes para directorio

Y si el enlace es simbólico ¿Se puede hacer? ¿Qué aspecto tiene?

Dice que no procede.

¿Qué sucede si se borra el archivo "datos1"? ¿Permanece el enlace simbólico?

No permanece, ya que datos1 desaparece y queda datos3.
Copie el archivo datos3 en el directorio dir1 con nombre datos5.
#cp datos3 dir1/datos5

¿Qué relación habrá entre datos1 y datos5:copia o enlace lógico? ¿Podría comprobarlo?
# ls -i

Solo se copio ya que ambos tienen el mismo tamaño.

MOVER ARCHIVOS DE TEXTO

# mv datos2 ../PRUEBA2

Se mueve datos2 al directorio PRUEBA2

Mueva el archivo datos3 al directorio PRUEBA2 con el nombre datos6.
• ¿Qué relación habrá entre datos1 y datos6: copia o enlace lógico? ¿Podría comprobarlo?

#mv datos3 ../PRUEBA2/datos6

Solo se da una copia

Cambie el nombre de datos4 por el de datos6.

#mv datos4 datos6

Cambia el nombre de un archivo

Cambie el nombre de datos2 por del PRUEBA2.1 sin cambiarlo de directorio.Qué sucedió?

#mv ../PRUEBA2/datos2 ../PRUEBA2/PRUEBA2.1

se mando un mensaje 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?:
# cat datos1 >> datos1

Los ficheros de entrada y salidas son iguales

Añada el contenido de datos5 a datos1. ¿Se puede?

#cat datos5 >> datos1

Si se puede ya que ambos ficheros son diferentes.


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, peroesta sentencia permite obtener todos los datos de agenda que contengan la descripción 00$. Y se buscan los caracteres mayúsculas.

c) Liste el número cuentas que no sean de root.

salen todos los passwordque 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 ls lista los contenido del directorio de esta forma:ls/etc/Grez *cfg/lp, ls/etc > directorio grep-i “host”.

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: 942258, el 5 es el número de líneas, 60 es la cantidad de palabra que se tenga, 246 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 sale, ya que los datos son los mismos.

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

visualiza poco a poco, línea por línea. Tiene que darle enter para que se de,poco a poco. Solo se buscan los que el usuario indica.

Visualizar el directorio actual y del directorio /usr/bin pantalla por pantalla.

# ls | more
# ls /usr/bin | more

se visualiza todo de una vez, todos los directorios y .png, y salen todos ordenados 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

la respuesta del mismo son 4 líneas, cuenta la cantidad de archivos listados en ls/etc.

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. Aparece todo lo que se hizo.

- Para ir a las últimas líneas del archivo

#tail -f .bash_history

Final del archivo, hace lo mismo que el less

Laboratorio 3.1 parte B

COMANDOS BASICO


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 o crea un archivo existente.

Añade al archivo anterior una sexta línea con un mensaje de despedida. Visualícelo en pantalla.
# cat >> datos1

Esto agrego algo sobre el archivo creado previamente.

# cat datos1

Muestra la información en datos1.

#ls -l > datos2

Redirecciona un archivo de texto

#cat<>> datos3

Redirecciona la información de datos 2 a datos3

Utilice uno de los archivos creados anteriormente para mostrar para redireccionar la entrada del archivo.

#cat < dato3

Añade una línea más de texto al archivo datos1.

# cat >> datos1

# cat datos1 datos2 datos3

Se visualiza los archivos datos1, datos2 y datos3.


Visualizar los datos del archivo con more y con less.
# more datos2

se visualizan todos los datos de una.

# less datos2

Se visualizan poco a poco

Enlaces Lógicos

# ln datos1 datos3

se enlaza, y se despliega todo lo que tenga datos1 a datos 3

# cat datos3

se muestran los datos del archivo

Si usamos #ls-i, veremos que los dos archivos tienen i-nodos diferentes, en efecto

Pero qué pasa si modificamos el archivo datos3 ? (salir con ctrl.-d)
# cat >> datos3

compar el tamaño de datos1 con datos3

# ls –l
# cat >> datos3
#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?

No se puede hacer enlaces fuertes para directorio

Y si el enlace es simbólico ¿Se puede hacer? ¿Qué aspecto tiene?

Dice que no procede.

¿Qué sucede si se borra el archivo "datos1"? ¿Permanece el enlace simbólico?

No permanece, ya que datos1 desaparece y queda datos3.
Copie el archivo datos3 en el directorio dir1 con nombre datos5.
#cp datos3 dir1/datos5

¿Qué relación habrá entre datos1 y datos5:copia o enlace lógico? ¿Podría comprobarlo?
# ls -i

Solo se copio ya que ambos tienen el mismo tamaño.

MOVER ARCHIVOS DE TEXTO

# mv datos2 ../PRUEBA2

Se mueve datos2 al directorio PRUEBA2

Mueva el archivo datos3 al directorio PRUEBA2 con el nombre datos6.
• ¿Qué relación habrá entre datos1 y datos6: copia o enlace lógico? ¿Podría comprobarlo?

#mv datos3 ../PRUEBA2/datos6

Solo se da una copia

Cambie el nombre de datos4 por el de datos6.

#mv datos4 datos6

Cambia el nombre de un archivo

Cambie el nombre de datos2 por del PRUEBA2.1 sin cambiarlo de directorio.Qué sucedió?

#mv ../PRUEBA2/datos2 ../PRUEBA2/PRUEBA2.1

se mando un mensaje 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?:
# cat datos1 >> datos1

Los ficheros de entrada y salidas son iguales

Añada el contenido de datos5 a datos1. ¿Se puede?

#cat datos5 >> datos1

Si se puede ya que ambos ficheros son diferentes.


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, peroesta sentencia permite obtener todos los datos de agenda que contengan la descripción 00$. Y se buscan los caracteres mayúsculas.

c) Liste el número cuentas que no sean de root.

salen todos los passwordque 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 ls lista los contenido del directorio de esta forma:ls/etc/Grez *cfg/lp, ls/etc > directorio grep-i “host”.

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: 942258, el 5 es el número de líneas, 60 es la cantidad de palabra que se tenga, 246 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 sale, ya que los datos son los mismos.

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

visualiza poco a poco, línea por línea. Tiene que darle enter para que se de,poco a poco. Solo se buscan los que el usuario indica.

Visualizar el directorio actual y del directorio /usr/bin pantalla por pantalla.

# ls | more
# ls /usr/bin | more

se visualiza todo de una vez, todos los directorios y .png, y salen todos ordenados 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

la respuesta del mismo son 4 líneas, cuenta la cantidad de archivos listados en ls/etc.

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. Aparece todo lo que se hizo.

- Para ir a las últimas líneas del archivo

#tail -f .bash_history

Final del archivo, hace lo mismo que el less

Laboratorio 3.1



COMANDOS BASICO




Objetivos.

· Familiarización con el sistema LINUX como usuario, aprendiendo el uso de los comandos más usuales.
· Manejar órdenes básicas para mostrar información por la pantalla, usuarios, gestionar directorios y archivos.
· Aprender a desplazarse por el sistema de archivos.

Recursos:
Herramientas. Los comandos a utilizar en esta práctica son:
http://es.tldp.org/Manuales-LuCAS/LIPP/lipp-1.1-html-2/lipp.htm
uname rm cp pwd
exit date mkdir cd
who cal mv ls
man find rmdir
Procedimiento:
NOTA: DETALLE EN EL INFORME SOLO AQUELLOS PUNTOS DONDE SE HACEN PREGUNTAS... PARA ESO EMPLEE ESTE MISMO DOCUMENTO Y RESALTE EN AZUL O ROJO SUS RESPUESTAS...
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).
{Conectamos al serv: user1>
password:
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?
Al presionar las teclas F3, F4, F5 y F6 se presento el modo de texto.
Retorne al modo gráfico con CTRL-ALT-F7.

1.3 Visualización de su identificativo:

a) Visualizar el nombre.
#who am I
rootpts/0Jun 9 16:50 (:0.0)


b) ¿Qué usuarios están conectados al sistema en este momento?.
[root@localhost root]# who
root:0Jun 9 16:50
rootpts/0Jun 9 16:51 (:0.0)
1.4 Visualice la siguiente información sobre el sistema.
a) nombre

Linux
b) versión del sistema operativo (fecha de entrega al pùblico)
uname -v
#1 Th Mar 13 17:18:24 EST 2003
c) hardware que lo soporta.
uname -a
Linux localhost.localdomain 2.4.20-8 #1 Thu Mar 13 17:18:24 EST 2003 i686 athlon i386 GNU/Linux
1.5 Fechas:
a) Visualice la fecha y hora actual.
# date
lun jun 9 16:52:08 EST 2004

b) Visualice el calendario completo del año.
#cal 2009

c) Consulte el día de la semana de su cumpleaños en el año 2006.
#cal 11 2008

noviembre de 2008
do lu ma mi ju vi sá
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

¿Qué ocurre si solo escribe en la linea de comando cal...?

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…

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 pudo mostrar en pantalla la dirección en donde se encuentra ubicado /home/user1

3.2 Para movernos en el entorno
#cd /etc (escriba esto y dé enter... )
¿Qué resultado obtuvo?

Esto nos lleva al directorio de etc. Pero al parecer el sistema nos manda un mensaje que indica que esto no existe.

Cambiarse al directorio /dev con el comando correspondiente.
¿Qué comando específico para cambiarse al directorio dev exitosamente?

Luego del uso del comando cd/dev se cambia al directorio dev.

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?

Se nota que son la misma carpeta para ambos casos pero estas se encuentran ordenadas de distinta 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?

Una de las diferencias es que en el primer comando contiene archivos y carpetas con el separador “/”, mientras que el otro comando muestra los archivos sin “/”.

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.
mkdir /root/dir1/tmp
Desde el directorio/tmp:
Ø Ver el contenido del directorio actual.
ls

Ø Ver el contenido del directorio /bin.
ls /bin

Ø 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*
Ø Verificar si del directorio /usr cuelga otro directorio llamado pub. En caso afirmativo, determinar la fecha de su creación.
Aparece que tal directorio no existe
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 ../

Los que hacen los códigos es copiar el archivo en un directorio superior
#cp /etc/shells /home/user1/

Lo que hace es copiar etc/shells en el directorio user1

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

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
Debido a que nos encontrabamos en el root no se reinicio la maquina
Al apretar shutdown –r now la maquina se devio de apagar pero al igual que la anterior no lo realizo debido a que se encontraba en el root.

Salga del sistema utilizando algunos de los comandos aprendidos. ¿Qué comando utilizó?

Usamos CTRL-ALT-DEL y se reinicia la maquina

¿Qué pantalla apareció luego de ejecutar dicho comando?

Aparece una pantalla negra cargando el sistema









Ejercicios Extra

Crear en LINUX la siguiente estructura de directorios:








Creación de un arbol

Ø 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 2

ENTORNO GRÁFICO "GNOME"


· Interactuar con el entorno gráfico que presenta el sistema operativo Fedora Core, incluyendo la barra de tareas, menú principal, el escritorio e íconos principales.

Procedimiento:

· Realice las actividades que se presentan a continuación:


Barra de Tareas
Arranque la PC en Linux. Como cuenta de usuario puede emplear “root” y como clave de acceso utilice “______” (el que indique el profesor).
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.
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.

Accesorios: diccionario, alarma, cámara y calculadora,.
Gráficos: escáner, fax, digikam, show foto
Internet: messenger, mensajería, telefonía, kontac, kopete
Office: Calendario, kmail, alarmas, notas, presentacion,openoffice.
Programming: cervisia, chainsaw, kbabel, kompare, KDbg
Sound and Video: amarok, cd player , kmid , krec
System Tools: bluetooth, desfragmentador de disco, sistema de monitor, buscador de archivos, New login, terminal y system monitor

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 __4__ 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 dè 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 ícono 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… qué conclusiones obtiene de sus observaciones…?

Que cada area podría venir siendo como una sesión diferente ya que lo que se haga en un área de trabajo diferente no se verá en la demás

Escritorio

Liste y describa algunos de los íconos del escritorio.
· Papelera de Reciclaje
· El dispositivo de usb (el mio que conecte )
· User Home

Haga “click” sobre la carpeta de inicio/root/user’s home (verificar si existe en el escritorio) 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.
· Cool
· Private

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?.
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?
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.
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?

Porque al hacer click se pone de un color azul.
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?
Con el comando ls nos indica los documentos del usuario
Con el comando ls -l nos indica la fecha de actualización y acceso al documento.

3. Coloque el apuntador en el menú “Archivo” de la ventana de la terminal. Dar click en nueva ventana (o “Abrir terminal”). ¿Qué pasa?

Cuando presionamos la opción de “nueva ventana”, de igual forma nos permite una terminal nueva, solo que en una ventana diferente a donde hicimos “nueva ventana”

4. ¿Cómo sabes que una de las ventanas está activa?

Porque las ventanas que se encuentran activas el color de la parte superior es de un color azul oscuro.

5. Coloca el apuntador fuera de las ventanas y presiona el botón de la derecha. ¿Qué es lo que aparece?

Aparece un menú con las siguientes opciones:
create folder
create laucher
create document
clean up by nombre
keep aligned
change desktop background

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?

Para consultar no ocurre ninguna opción.
Para cambiar la fecha se requiere la cuenta y el password del administrador.

7. ¿Qué ventajas observa implica disponer y moverse a diferentes espacios de trabajo?

Ya que uno puede trabajar con diversas aplicaciones y mantener de una forma más organizada el escritorio en sí.

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).

No todo se permite ver en la pantalla, no tiene acceso a la ruta

9. Visualice partes perdidas de la ventana Terminal manipulando la barra de rebobinado (scroll) de la derecha de dicha ventana.

Basta con utilizar el scroll de la ventana moviéndolo de arriba hacia abajo

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"…

Bueno a mi parecer uno de los comandos más utilizados permitiéndonos ahorrar tiempo, ya que con utilizar este comando podemos creer una réplica ya sea del texto o imagen o casi cualquier otra cosa sin tener que volver a crearlo manualmente

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 título.

Con esta opción se nos permite ajustar el tamaño de las ventanas a nuestras necesidades o bien colocarlas en alguna posición en particular del monitor para poder observar más de una ventana que este abierta a la vez



12. Cierre y abra ventanas con el ratón dando clic en el elemento correspondiente del gestor de iconos.

Dándole clic al icono en el icono de la ‘x’ nos permite cerrar la ventana de una forma más rápida sin tener que ir hasta archivo y buscar la opción de cerrar.

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).

Se nos despliega un menú con algunas opciones como restaurar maximizar o cerrar las ventanas o bien mover las ventanas mismas.

Informe:
Además de las preguntas del laboratorio, conteste las siguientes:

¿Qué elementos están en el panel del escritorio?
Applications, places, system reloj, fecha, nombre del usuario, icono del main menu.
¿Cómo se identifica el menú principal?
Con el símbolo de Fedora en la barra de tareas
¿Qué son los paginadores de espacio o àreas de trabajo? Cómo se identifican?
Se encuentran en la parte inferior con el nombre default de area #, son como unos cuadros de color gris
¿Dónde se encuentra la barra de tareas, cuál es su función?
La barra de tareas se encuentra dependiendo de la configuración de la maquina, en la que me encontraba se localizaba en la parte superior.
¿Existe alguna herramienta semejante al Explorador de disco en Windows (no el Internet Explorer)?
Nautilus
Liste los pasos para cambiar la configuración del escritorio.
Desde la pantalla Empezar aquí, puede seleccionar el icono Preferencias para configurar su escritorio, el cual le presenta una amplia selección de opciones de configuración
Cómo puede usar un intérprete de comandos y qué le permite hacer?
Menú principal => Herramientas del sistema => Terminal.
Permite escribir los comandas de las acciones en vez de utilizar el modo grafico

Cómo puede ver los usuarios y crear nuevos? Explique dònde se localiza esta opciòn en el entorno gráfico…
Para crear una cuenta de usuario en modo gráfico usando el Administrador de usuarios:
1. Haga click en el icono de Empezar aquí en el escritorio. En la nueva ventana que se abrirá, haga click en Configuración del sistema y luega haga click en el icono Usuarios & Grupos. También puede seleccionar Menú principal => Configuración del sistema => Usuarios & Grupos desde el panel.
Puede iniciar el Administrador de usuarios al escribir redhat-config-users en un intérprete de comandos de la shell.
2. Si no se ha conectado como root, se le pedirá que introduzca la contraseña de root.
3. Cuando se abra la herramienta de configuración, haga click en Añadir usuario.
4. Introduzca en la ventana de diálogo Crear nuevo usuario un nombre de usuario (puede ser una abreviación o un apodo corto), el nombre completo del usuario para el que está creando la cuenta y la contraseña (que volverá a introducir para la verificación). El nombre del directorio principal del usuario y el nombre de la shell de login aparecerán por defecto. Para la mayor parte de usuarios, puede aceptar las opciones predeterminadas para las opciones de la configuración. Consulte el Manual de personalización de Red Hat Linux para mayor información sobre las otras opciones.
5. Haga click en OK. Aparecerá el nuevo usuario en la lista de usuarios, indicando que la creación de la cuenta del usuario se ha completado.
Bibliografía recomendada:
Red Hat Linux 9.0: http://www.europe.redhat.com/documentation/rhl9/rhl-gsg-es-9/



Tarea 6

ENTRADA/SALIDA


1. Cite ejemplos de recursos reutilizables y consumibles.

Reutilizables: Cintas, discos extraíbles, cintas magnéticas
Consumibles: memoria, terminales, línea de comunicación


2. Enumere y defina brevemente 3 técnicas para realizar E/S

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.
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.
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?

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 un dispositivo orientado a flujo? De un ejemplo de cada uno de ellos.

Un dispositivo orientado a bloque almacena información bloques que son usualmente de tamaño fijo realizándose la transferencia de bloques en bloques, las cintas son un ejemplo de dispositivo orientado a bloque. Un dispositivo orientado a flujo de caracteres transfieren los datos tanto de entrada como de salida, como un flujo de bytes sin estructuras de bloques.
Los terminales, las impresoras, puertos de comunicación, el ratón y otros dispositivos apuntadores están orientados a flujos de caracteres.

5. Por qué se debería mejorar el rendimiento utilizando para E/S un buffer doble en lugar de un único buffer.

Debería mejorar el rendimiento ya que mientras se transmite datos a un buffer el SO vacía el otro lo que asegura que el proceso no tendrá q esperar la finalización de la E/S.

6. ¿Qué elementos de retardo están involucrados en una lectura o escritura de disco?

Depende del computador, del SO de la naturaleza del hardware del cable de E/S y del controlador del disco, por lo general son:
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.7

Ø FIFO: primero entrar, primero en salir.
Ø SSTF: primero el más cortó.
Ø SCAN: recorre el disco de un lado a otro.
Ø C-SCAN: recorre el disco de un solo sentido.

8. Defina brevemente los 7 niveles RAID.

Ø Nivel 0: no es un verdadero miembro de la familia RAID, puesto que no incluye redundancia para mejorar la fiabilidad, los datos de los usuarios y del sistema están distribuidos a lo largo de todos los discos de vector.

Ø Nivel 1: se logra la redundancia mediante la simple estrategia de duplicar todos los datos. El esquema RAID se puede implementar también sin la distribución de datos, aunque esto sea menos común.

Ø Nivel 2: utilizan una técnica de acceso paralelo. En un vector de acceso paralelo, todos los miembros del disco participan en la ejecución de cada petición de E/S.

Ø Nivel 3: se organiza de una manera similar al usado en RAID 2. la diferencia estriba en que RAID 3 requiere solo un disco redundante, con independencia del tamaño del vector de discos.

Ø Nivel 4: es una técnica de acceso independiente. En un vector de acceso independiente, cada disco del vector opera independientemente, de manera que se pueden servir en paralelo peticiones de E/S independientes.

Ø Nivel 5: distribuye las bandas de paridad a través de todos los disco. La asignación habitual usa un esquema rotatorio.

Ø Nivel 6: se realizan dos cálculos de paridad diferentes, almacenándose en bloques separados de distintos discos. Por tanto, un vector RAID 6, cuyos datos de usuarios requieran N discos, necesitara N+2 discos.


PROBLEMAS

Problemas:
11.3 Realice el mismo tipo de análisis de la Tabla 11.2 para la siguiente secuencia de peticiones de pistas: 27, 129, 110, 186, 147, 41, 10, 64,120. Supóngase que la cabeza del disco esta ubicada inicialmente sobre la pista de 100 y se esta moviendo en direcciones decrecientes de números de pista. Haga el mismo análisis, pero suponga ahora que la cabeza del disco esta moviéndose en direcciones crecientes de números de pista.






11.9 Calcule cuanto espacio de disco (en sectores, pistas y superficie) se requiere para almacenar los registros lógicos leídos en el Problema 11.8b si el disco tiene sectores de tamaño fijo de 512 bytes/sector, 96 sector/pista, 110 pistas por superficie y 8 superficies útiles. Ignore cualquier tipo de registro de cabecera de fichero o de índice de pista, y suponga que un registro no se puede extender sobre dos sectores.

11.10. Considérese el sistema de disco descrito en el Problema 11.7 y suponga que el disco gira a 360 rpm. El procesador lee un sector del disco mediante E/S dirigida por interrupciones, con una interrupción por cada byte. Si se tardan 2.5 microsegundos en procesar cada interrupción ¿que porcentaje del tiempo gastara el procesador en gestionar la E/S?

% T = b / rN * 100%

% T = 1600 / 9*360 *100%

%T = 49.38%

11.11 Repita el Problema 11.10 usando DMA y suponiendo una interrupción por sector.

11.12 Un computador de 32 bits tiene dos canales selectores y un canal multiplexor. Cada canal selector gestiona dos unidades de disco magnético y dos de cinta magnética. El canal multiplexor tiene conectados dos impresoras de líneas, dos lectores de tarjetas y diez terminales VDT. Suponga las siguientes velocidades de transferencia:
Dispositivo de disco 800 KB/s
Dispositivo de cinta magnética 200 KB/s
Impresora de líneas 6,6 KB/s
Lector de tarjetas 1,2 KB/s
VDT 1 KB/s

Tarea 5

Archivos





12.1 Cuál es la diferencia entre un campo y un registro



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


Archivo conjunto de datos similares.
Las bases de datos son muchos datos unidos y relacionados y pueden ser de distintos tipos y contener varios archivos
.



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 Enumere y defina brevemente cinco organizaciones de archivos.


Ø Pilas
Ø Archivos secuenciales
Ø Archivos secuenciales indexados
Ø Archivos indexados
Ø Archivos directos o de dispersión

12.6 Por qué es el tiempo medio de búsqueda de un registro menor en un archivo secuencial indexado que en un archivo secuencial


Porque en los archivos secuenciales indexados reducen enormemente el tiempo necesario para acceder a un solo registro sin sacrificar la naturaleza secuencial del archivo. Esto se da porque para procesar secuencialmente el archivo completo, los registros del archivo principal se procesarán en secuencia hasta encontrar un puntero el archivo de desbordamiento

12.7 Cuáles son las operaciones típicas que se pueden realizar sobre un directorio


Ø Buscar
Ø Crear archivo
Ø Borrar archivo
Ø Enumerar directorio
Ø Actualizar directorio


12.8 Cuál es la relación entre un nombre de ruta y un directorio de trabajo


Nombre de ruta 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 sobre un archivo


Ø Ejecución
Ø Lectura
Ø Adición
Ø Actualización
Ø Cambio de protección
Ø Borrado

12.10 Enumere y defina brevemente tres métodos de agrupamiento.

Bloques fijos: Se usan registros de longitud guardándose en cada bloque un número entero de registros
Bloques de longitud variable con tramos: Se usan registros de longitud variable que se agrupan en bloques sin dejar espacio sin usar
Bloques de longitud variable sin tramos: Se usan registros de longitud variable pero no se dividen en tramos


12.11 Enumere y defina brevemente tres métodos de asignación de archivos.


Ø Asignación Contigua
Ø Asignación Indexada
Ø Asignación Encadenada

Tarea 4

MEMORIA



7.2 Por qué es deseable la capacidad para reubicar procesos?


Al reubicar el proceso en otra área se puede utilizar el espacio que quedo libre.


7.3 Por qué no es posible forzar la protección de la memoria en tiempo de compilación?

Porque lo realiza el procesador y debido a eso no se puede realizar.


7.4 Qué razones existen para permitir que dos o más procesos accedan a una misma región de la memoria?



Para compartir datos.


7.5 En un esquema de partición fijo, Cuáles son las ventajas de utilizar particiones de distinto tamaño



  • Sencilla de implementar



  • No sobrecarga el SO

7.6 Cuál es la diferencia entre la fragmentación interna y la externa




  • Fragmentación interna cuando la memoria se divide en particiones de tamaño fijo.


  • Fragmentación externa se divide en particiones de tamaño variable.

7.7 Cuáles son las diferencias entre direcciones lógicas, relativas y físicas



  • Direcciones lógicas son las direcciones que utilizan los programas.


  • Direcciones relativas son direcciones calculadas.


  • Direcciones físicas es la dirección final de un dato.

7.8 Cuál es la diferencia entre una página y un marco?




  • Pagina es la forma de guardar información de manera virtual.


  • Marco contiene una página y es un bloque de memoria.

7.9 Cuál es la diferencia entre página y segmento




  • Pagina es la forma de guardar información de manera virtual.


  • Segmento en la memoria virtual, un bloque que tiene una dirección virtual.

8.1 Cuál es la diferencia entre paginación sencilla y la paginación con memoria virtual


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


8.2 Explique la hiperpaginación


La hiperpaginación 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 la hiperpaginación 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 Porque el principio de proximidad de referencia es crucial para el uso de la memoria virtual?


Porque afirma que las referencias a los datos y al programa dentro de un proceso tienden a agruparse


8.4 Qué elementos se encuentran, normalmente, en una entrada de tabla de páginas Defina brevemente cada uno de ellos




  • 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 copia 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 del buffer de traducción adelantada


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 en políticas de lectura de páginas




  • 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 pagina


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 paginas FIFO y del reloj


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.9 Cuál es la ventaja del almacenamiento intermedio de páginas




  • Mejora el rendimiento de la paginación.


  • Permite el uso de una política de reemplazo de paginas mas sencilla

8.10 Por qué no es posible combinar una política de reemplazo global y una política de asignación fija


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.11Cuál es la diferencia entre un conjunto residente y un conjunto de trabajo


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 A 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 vaciado por demanda y la limpieza adelantada?


En vaciado 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 vaciado 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 cuatro marcos reservados para el uso (los siguientes números están en formato decimal, y todas las numeraciones comienzan desde 0). La siguiente tabla muestra el instante de tiempo en el que se cargó la ultima página en cada marco, el instante de tiempo del ultimo acceso a cada página, el numero de página virtual, los bits de referencia (R) y modificada (M) para cada uno de los marcos de página (los instantes de tiempo están expresados en ticks de reloj desde el comienzo del proceso).





Se ha producido un fallo en la página virtual 4 en el instante 164. ¿Qué marco de pagina reemplazara su contenido para cada una de las siguientes políticas de gestión de memoria? Explíquese por qué en cada uno de los casos.
a). FIFO
b). LRU
C. Reloj
d). Óptimo (usar la serie cadena de referencia).
e). Cuantos fallos de pagina ocurrirían si se usase la política del conjunto de trabajo con LRU tomando una ventana de tamaño 4 en lugar de asignación fija?

a) FIFO reemplazará 2 (porque reemplaza el primero en entrar)
b) LRU reemplazará 2 (porque reemplaza el que ha sido usada menos recientemente)
c) Reloj reemplazará 1 (porque reemplaza el que tiene el primer bit de referencia 0)
d) Óptimo reemplazará 3 (porque reemplaza el que tiene la mayor referencia)
e)




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

Asuma que el algoritmo de reemplazo es FIFO y encuentre el número de transferencias de páginas durante la anterior secuencia de referencias, que comienza con la memoria principal vacía con 3 marcos de página. Repítase para 4 marcos de página.

Logaritmo FIFO:
(3 marcos)







8.6 Un proceso contiene 8 páginas virtuales en el disco y se asignan con una ubicación fija de cuatro marcos de página en la memoria principal. La traza de paginas es la siguiente:
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 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.

a. LRU



(13 FALLOS)

b. FIFO




(13 FALLOS)

c. Ocurren 13 Fallos.

Tarea 3

HILOS


4.1 La tabla 3.5 enumera los elementos más habituales de un bloque de control de proceso para un sistema operativo sin hilos. De ellos, cuáles deberían pertenecer a un bloque de control de hilo y cuáles a un bloque de control de proceso en un sistema multihilo.

Bloque de control de hilo:
Ø Espacio de memoria
Ø Procesos hijos
Ø Temporizadores
Ø Señales y semáforos
Ø Contabilidad
Ø Variables globales
Ø Archivos abiertos

Bloque de control de proceso en un sistema multihilo:
Ø Espacio de direcciones virtuales, que contiene la imagen del proceso.
Ø Acceso protegido a los procesadores, otros procesos (para la comunicación entre procesos), archivos y recursos de E/S (dispositivos y canales).
Ø El contexto del procesador, que se salva cuando no está ejecutando; una forma de ver el hilo es como un contador de programa independiente operando dentro de un proceso.
Ø Una pila de ejecución.
Ø Almacenamiento estático para las variables locales.
Ø Acceso a la memoria y a los recursos del proceso, compartidos con todos los otros hilos del mismo.
Ø El estado de ejecución del hilo (ejecución, listo, etc.)

4.2 Indique razonadamente por qué un cambio de modo entre hilos puede ser menos costoso que un cambio de modo entre procesos.

Un cambio de modo entre hilos puede ser menos costoso que un cambio de modo entre procesos ya que en cada cambio de proceso se produce mucha más sobrecarga.

4.3 Cuáles son las dos características diferentes y potencialmente independientes que expresa el concepto de proceso

Ø Unidad de propiedad de los recursos
Ø Unidad de expedición

4.4 Indique 4 ejemplos generales del uso de hilos en un sistema monousuario multiprogramado.

Ø Trabajo interactivo y en segundo plano.
Ø Procesamiento asíncrono.
Ø Aceleración de la ejecución
Ø Estructuración modular de los programas

4.5 Qué recursos comparten, normalmente, los hilos de un proceso

El espacio de direcciones y otros recursos, como los archivos abiertos. Cualquier modificación de un recurso desde un hilo afecta al entorno del resto de los hilos del mismo proceso.

4.6 Enumere tres ventajas de los ULT frente a las KLT.

Ø El intercambio de hilos no necesita los privilegios del modo de núcleo.
Ø Se puede realizar una planificación específica.
Ø Los ULT pueden ejecutar en cualquier sistema operativo.

4.7 Enumere dos desventajas de los ULT frente a los KLT.

Ø La mayoría de las llamadas al sistema son bloqueadoras
Ø No se puede aprovechar las ventajas de los multiprocesadores

4.8 Defina Recubrimiento

Manera de superar el problema de bloqueo de hilos y su propósito es convertir una llamada bloqueadora al sistema en otra no bloqueadora

4.9 Defina brevemente las distintas arquitecturas nombradas en la figura 4.8

Ø Flujo de instrucción simple/dato múltiples (SIMD): es una única instrucción de máquina controla la ejecución simultánea de varios elementos del proceso según una secuencia de bloqueos.
Ø Flujo de instrucción múltiple/datos múltiples (MIMD): es un conjunto de procesadores ejecuta simultáneamente varias secuencias de instrucciones sobre distintos conjuntos de datos.
Ø Memoria compartida: es cuando los procesadores comparten una memoria común con lo que puede acceder a programas y datos almacenados en esa memoria común.
Ø Agrupaciones: es cuando cada procesador tiene una memoria dedicada donde cada elemento del proceso es un computador auto contenido.
Ø Maestro/Esclavo: es el núcleo del sistema operativo siempre ejecuta en un procesador determinado. El resto de los procesadores solamente pueden ejecutar programas de usuario y, en ocasiones, utilidades del sistema operativo.
Ø Multiproceso Simétrico: es el núcleo puede ejecutar en cualquier procesador y, normalmente, cada procesador se auto planifica a partir de una cola de procesos o hilos libres

4.10 Enumere los elementos clave de diseño para un sistema operativo SMP.

Ø Procesos o hilos concurrentes.
Ø Planificación.
Ø Sincronización.
Ø Gestión de memoria.
Ø Fiabilidad y tolerancia a los fallos

4.11 Indique ejemplos de funciones y servicios de un sistema operativo monolítico convencional que puedan ser subsistemas externos en un sistema operativo con micronúcleo.

Ø Cesión: el propietario de un espacio de direcciones puede ceder varias de sus páginas a otro proceso.
Ø Asociación: un proceso puede asociar cualquiera de sus páginas al espacio de direcciones de otro, de forma que ambos procesos tiene accesos a estas páginas.
Ø Rellenado: un proceso puede reclamar cualquier página concedida o asociada a otro.

4.12 Enumere y explique brevemente siete ventajas potenciales de un diseño con micronúcleo frente a un diseño monolítico.

Ø Uniformidad de interfaces: los procesos no necesitan diferenciar entre servicios de usuario y núcleo, ya que todos los servicios se utilizan mediante pasos de mensajes.
Ø Fiabilidad: aumenta la probabilidad de producir código de calidad para los servicios del sistema operativo externos al núcleo.
Ø Portabilidad: los cambios necesarios para portar el sistema a un nuevo procesador son menores y tienden a estar ordenados en agrupaciones lógicas.
Ø Extensibilidad: permiten añadir nuevos servicios al conjunto de servicios ya existentes en alguna de las áreas funcionales.
Ø Flexibilidad: se pueden reducir las características actuales para dar lugar a una implementación más pequeña y eficiente.
Ø Soporte a los sistemas distribuidos: se incluyen agrupaciones controladas por un sistema operativo distribuido.
Ø Soporte para sistemas operativos orientados a objetos: aporta una disciplina al diseño del micro núcleo y al desarrollo de las extensiones modulares del sistema operativo

4.13 Explique la desventaja potencial del rendimiento de un sistema operativo con micronúcleo.

Consume más tiempo construir y enviar un mensaje, o aceptar y descodificar la respuesta, a través del micronúcleo que mediante una simple llamada al sistema.

4.14 Enumere tres funciones que esperaría encontrar incluso en un sistema operativo con un micronúcleo mínimo.

Ø Gestión de memoria a bajo nivel.
Ø Comunicación entre procesos.
Ø Gestión de interrupciones y E/S

4.15 Cuál es la forma básica de comunicación entre procesos o hilos en un sistema operativo con micronúcleo

Su forma básica de comunicación son los mensajes.

Tarea 2

DESCRIPCIÓN Y CONTROL DE PROCESO


Que es una traza de instrucciones?

Una traza de instrucciones es la lista de la secuencia de instrucciones que se ejecutan para un proceso

Cuales son los eventos comunes que llevan a la creación de un proceso?




  • Nuevo Proceso de lotes


  • Sesión Interactiva


  • Creado por el sistema operativo para proporcionar un servicio


  • Creado por un proceso existente


Para el modelo de procesamiento de la figura 3.6, defina brevemente cada estado.




  • Ejecutando


  • Ejecutando: es el proceso que esta actualmente en ejecución


  • Listo: Un proceso que se prepara para ejecutar cuando tenga oportunidad


  • Bloqueado: un proceso que no puede ejecutar hasta que se cumpla un evento determinado o se complete un operación E/S


  • Nuevo: Un proceso que se acaba de crear y que aún no ha sido admitido en el grupo de procesos ejecutables por el SO


  • Saliente: Un proceso que ha sido liberado del grupo de procesos ejecutable por el SO


Que significa la expulsión de un proceso

Se define como la reclamación de un recurso por parte de un proceso antes de que el proceso que lo poseía finalice su uso.

Que es el swapping y cuál es su objetivo?

Es mover parte o todo el proceso de memoria principal al disco. Ya que la E/S en disco es habitualmente mas rápida que en otros sistemas esto mejora el rendimiento.

Por qué la figura 3.9 tiene dos estados bloqueados?

Esto se debe a que cuando un proceso termina, libera memoria principal, y como se requiere conocer a cual proceso se le debe dar prioridad para ser transferido a memoria principal.

Indique cuatro características de un proceso suspendido.




  • El proceso no está inmediatamente disponible para su ejecución.


  • El proceso puede estar o no a la espera de un evento


  • El proceso fue puesto en estado suspendido por un agente


  • El Proceso no puede ser recuperado de este estado hasta que el agente explícitamente así lo indique


Para que tipo de entidades el sistema operativo mantiene tablas de información por motivos de gestión?

El SO mantiene tablas de: Memoria, Dispositivos , Ficheros y Procesos

Indique tres categorías generales de información que hay en el Bloque de control de proceso.




  • Identificación del proceso


  • Información de estado del procesador


  • Información de control del proceso


Por que se necesitan dos modos usuario y núcleo)?

Para proteger al sistema operativo y a las tablas clave del sistema, por ejemplo los bloques de control de proceso, de la interferencia con programas de usuario.

Cuales son los pasos que realiza el sistema operativo para la creación de un proceso?




  • Asignar un identificador de proceso único al proceso


  • Reservar espacio para proceso


  • Inicialización del bloque de control de proceso


  • Establecer los enlaces apropiados


  • Creación o expansión de otras estructuras de datos


Cuál es la diferencia entre interrupción y trap?

La interrupción: son producidas a causa de algún tipo de evento que es externo e independiente al proceso actualmente en ejecución.
Las traps: son asociadas a una condición de error o excepción generada dentro del proceso que esta ejecutando, como un intento de acceso no permitido a un fichero.

Dé tres ejemplos de interrupción




  • Interrupción de reloj


  • Interrupción de E/S


  • Fallo de memoria


Cuál es la diferencia entre cambio de modo y cambio de proceso



Un cambio de modo puede ocurrir sin que se cambie el estado del proceso actualmente en estado ejecutando, sin embargo si el proceso actualmente en estado ejecutando, se va a mover a cualquier otro estado, entonces el SO debe realizar cambios sustanciales en su entorno.

Nombre cinco actividades principales del Sistema Operativo respecto a la gestión de proceso.




  • Creación y terminación de procesos Ya que los procesos en los SO no son eternos siempre se a de creer nuevos y terminar los inactivos


  • Planificación y activación de procesos
    Ya que un proceso no se va a crear de la nada este debe llevar una planificación


  • Intercambio de procesos
    Ya que como existen procesos que en ese momento no se están ejecutando, se pueden intercambiar para dar paso a la ejecución de uno que requiera demanda


  • Sincronización de procesos y soporte para comunicación entre procesos
    Si se llega a dar e caso de que dos procesos se tengan que ejecutar al unísono estos primero deben de sincronizarse y de comunicarse para que puedan ser atendidos por el procesador


  • Gestión de los bloques de control de proceso
    Lleva la información de cada proceso de una manera muy detallada


Para el modelo de siete estados de la figura 3.9b, dibuje un diagrama de colas similar al de la figura3.8b