Sistemas Operativos 2009
-
Upload
jorge-eduardo-rivadeneira-munoz -
Category
Documents
-
view
137 -
download
1
Transcript of Sistemas Operativos 2009
Escuela Politécnica Nacional Sistemas Operativos
1
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
Profesor: Ing. Xavier Calderón
Realizado por:
Jorge Eduardo Rivadeneira Muñoz Daniel Alejandro Hidalgo Valencia
Escuela Politécnica Nacional Sistemas Operativos
2
Capítulo 1)
Introducción a la Arquitectura del Computador
1.1 Clasificación
1.2 Elementos de la PC
1.3 Introducción a Linux (Práctica)
Capitulo 2)
Introducción a los Sistemas Operativos
2.1 Funciones
2.2 Capas o Niveles del Sistema Operativo
2.3 API-POSIX y API-WIN32
2.4 Interfaz del Usuario
2.5 Programación en el Shell
2.5.1 IF
2.5.1.1. Estructura 1
2.5.1.2 Estructura 2
2.5.1.3 Estructura 3
2.5.2 UNTIL
2.5.3 WHILE
2.5.4 FOR
2.5.5 Copia de Archivo en Directorio
2.5.6 Estructura SELECT
2.5.7 Estructura CASE
2.5.8 Estructura FUNCIONES
2.5.9 Metacaracteres
2.6 Activación del Sistema Operativo
Escuela Politécnica Nacional Sistemas Operativos
3
Capítulo 3)
Gestión de Procesos
3.1 Entorno de Procesos
3.2 Jerarquía de los Procesos
3.3 Usuarios
3.4 Multitarea
3.5 Multiprogramación
3.6 Estado de un Proceso
3.7 Información de un Proceso
3.7.1 Preparación del código de un Proceso
3.8 Imagen de Memoria de un Proceso
3.9 Bloque de control de Procesos
3.10 Tabla del Sistema Operativo
3.11 INIT
3.12 TUBERIA
3.13 GREP
3.14 PERMISOS
Capítulo 4)
Gestión de Memoria
4.1 Fragmentación
4.2 Tipos de Fragmentación
4.3 Asignación Contigua de Memoria
4.3.1 Multiprogramación con número fijo de tareas
4.3.2 Multiprogramación con número variable de tareas
4.4 Paginación
4.5 Tabla de Páginas
4.5.1 Implementación Tablas de Página
Escuela Politécnica Nacional Sistemas Operativos
4
4.5.2 Tablas de Página Multinivel
4.6 Intercambio(SWAP)
4.7 Memoria Virtual
4.8 Segmentación
4.9 Algoritmos de reemplazo
4.10 Asignación de los Marcos de Página
4.10.1 Asignación Estática
4.10.2 Asignación Dinámica
4.11 Hiperpaginación
4.12 Gestión de SWAP
4.13 Operaciones sobre Regiones
4.14 Archivos Proyectados
4.15 Servicios de Gestión de Memoria
4.16 Modulación de Multiprogramación
Capítulo 5)
Gestión de Archivos y Directorios
5.1 Archivos
5.1.1 Tipos de Archivos
5.1.2 Atributos, Nombre de Archivos
5.1.3 Métodos de Acceso
5.2 Directorios y Estructura
5.3 Nombre Jerárquico
5.3.1 Nombre Absoluto
5.3.2 Nombre Relativo
5.4 Construcciones Jerárquicas
5.5 Archivos de Configuración
5.6 Partición
5.7 Unidades de Almacenamiento
5.8 Servicios Herramientas
Escuela Politécnica Nacional Sistemas Operativos
5
5.9 Servidor de archivos
5.10 Bloque, Funcionamiento
5.11 Redundancia, Tipos de RAID
Capítulo 6)
Sistemas Operativos Distribuidos
6.1 Sistemas Distribuidos Físicos, Características
6.2 Redes de Computadores
6.3 Protocolo de Comunicaciones
6.3.1 Capa Transparente
6.3.2 UDP
6.3.3 TCP
6.4 Sistema Operativos de Red
6.5 Transparencia
6.6 Middleware y entornos distribuidos
6.7 Sockets
6.7.1 Tipos de Sockets
6.7.2 Dirección de Sockets
6.8 Dominios de Comunicación
6.9 Transferencia de datos con stream
6.10 Transferencia de datos con datagrama
Escuela Politécnica Nacional Sistemas Operativos
6
CAPITULO 1
Introducción a la Arquitectura del Computador
7
Escuela Politécnica Nacional Sistemas Operativos
7
1.1 CLASIFICACION
Súper Computadores: Aplicaciones investigativas.
Mainframes: Grandes bases de datos (Empresas).
Minicomputadores: Aplicaciones industriales.
Microcomputadores: Oficina y el hogar.
Los supercomputadores tienen mayor capacidad de almacenamiento y procesamiento.
Microcomputadores es una máquina que nos permite el tratamiento racional de los datos.
Familias:
PC : Personales( IBM) – Windows, Linux
MAC: Macintosh(APPLE)- OS
UNIX orientado a los Mainframes.
• Servidores: Presentan a un servidor a muchos usuarios (HP-AIX).
• Clientes: Solicitan los servicios, uso de aplicaciones de escritorio (Windows).
Servidores más vendidos IBM, HP, SUM
Pocket PC
PDA:
Palm
Laptops:
Toshiba
Escuela Politécnica Nacional Sistemas Operativos
8
HP
1.2 ELEMENTOS DE LA PC
1. Unidad central
2. Periféricos de entrada
3. Periféricos de salida
4. Periféricos de entrada / salida
Unidad Central
Main Board
Buses(cables)
Fuente de poder
Unidades de disco duro
Unidades de CD/ DVD
Main Board:
Tarjeta Electrónica que tiene elementos electrónicos
Los elementos que tiene el CPU son:
Microprocesador –cerebro computador,
procesa datos.
Memoria
Ranura de expansión
Escuela Politécnica Nacional Sistemas Operativos
9
Puertos
Chipset
Microprocesador: Tenemos los chips dentro de ellos los registros.
CPU: Unidad Central Procesamiento.
La velocidad del microprocesador “frecuencia” GHZ
Microprocesadores con tecnología:
RISC: Reducido conjunto instrucciones de computador.
CISC: Completo conjunto instrucciones de computador.
Las PC tienen tecnología CISC.
Los servidores tienen tecnología RISC. (MOV, ADD)
Familias de Microprocesadores:
INTEL, AMD, Motorola
Memoria:
RAM:( Random, Access Memory) cuyas tecnologías son DRAM, SRAM; Mantienen los
datos siempre que tengan energía.
DRAM: (RAM dinámicas) necesitan un refresco continuo de sus datos, sirve para
almacenar el sistema operativo residente.
Tipos de chip:
SIP
DIM
SO DIM
Escuela Politécnica Nacional Sistemas Operativos
10
DIMM
Unidades: tiempo de acceso, capacidad.
Tipos de acceso: es el intervalo de tiempo entre que la dirección de la localidad de MEM es
colocada en el BUS hasta que los datos están disponibles para ser leídos (nanosegundos).
Capacidad: número de bits totales que puede almacenar el dispositivo.
bit: binary digit
Binario:
K 10^3 2^10 102^4
M 10^6 2^20
G 10^9 2^30
T 10^12 2^40
DDR- Memoria DRAM (DOUBLE DATA RATE)
SRAM: No necesita del refresco de la memoria, Estática, unidades de nanosegundos, menor
capacidad que la DRAM. Almacena los datos de las aplicaciones de escritorio que se usan
frecuentemente. En los PC se los llama memoria CACHE en las cuales existen las L1 (nivel
1), L2 (nivel 2), L3(nivel 3)forman parte del chip del microprocesadores, mas rápido
trabajaron la L1 ya que está dentro del chip.
ROM: Memoria de solo lectura, que cuando quiero grabar en esta memoria un proceso
denominada “Programación, se las utiliza no necesita energía para guardar, almacenar la
BIOS del PC, BIOS, Basic input, output system. Rutinas POST (Power onself test) chequeo
de los componentes Básicos del computador. (Teclado)
Tipo: EE-PROM Programable eléctricamente.
UV-PROM Programable rayos ultravioletas.
Escuela Politécnica Nacional Sistemas Operativos
11
Chip-ROM
Ranura de Expansión: Hacer modular el PC para poder añadir funciones personales.
Tipos de ranuras que existen:
ISA
E-ISA
VESA
PCI Mecánicas
PCI Eléctricas
Chipset: Cumple ciertas tareas delegadas por el microprocesador, especialmente con el
control de ciertos elementos de la PC.
Ranuras
Puertos: Conector +tarjetas (Buses) camino de cobres.
Tipo de Puertos:
Serial
Red
USB
DIN/miniDIM
Video
Serial: Se conoce como puerto: RS-232
Mecánicas:
Conector
Escuela Politécnica Nacional Sistemas Operativos
12
Macho- Hembra
Control de Paridad: Control de errores
PAR
Tipo de Paridad
IMPAR
PAR: Se debe tomar un # par de 1 lógico en la TX tomando en cuenta los datos ATX y el
bit de paridad.
Puerto COM Puerto serial
Puerto TCP/IP RED
Linux
Terminal minicom-s
/dev/directorio
/dev/ archivo mejora
Configuración COM hyperterminal
1.3 INTRODUCCION A LINUX (PRACTICA)
GUI (interfaz gráfica de usuario)
SHELL mandatos (comandos)
Se utiliza en servidores
Terminal- Linux
SHELL: gnome-terminal
Escuela Politécnica Nacional Sistemas Operativos
13
Konsole
Interfaces virtuales (ctrl+ alt+f1) Entrar
(Ctrl+ alt+ f7) salir GUI
Comandos
Prompt información inicial
[nombredeusuario@nombrecomputadora ]$
Hostname: nombre por default del computador
Hostname jorge: cambiar nombre
Cal: calendario
Man cal: ayuda para calendario
Q= salir
Date: fecha
ls: espacio de archivo
Pwd: path o camino al archivo.
Escuela Politécnica Nacional Sistemas Operativos
14
Scripts
Conjunto de comandos que se ejecutan en forma automática atreves de un archivo es
periférico.
Ejm:
cat>hda
cal
date
ls-l
ctrl+ d salir al shell
ls-l ver si existe
Cat-hda ver el archivo
Ejecutor el script: ingresar
Sh hda
Editores de texto
Vi
Vi ejercicio
ESC
i ( insertar)
pwd
ls-l
Escuela Politécnica Nacional Sistemas Operativos
15
E S C
+ SHIFT +(:)
Salir wq
Gedit
Kwrite
Oppenoffice
Compilador de C
gcc C
gpp c++
Usando gedit se crea un programa en c y lo guardamos.
:cat hda mundo.c.
:gcc hda mundo.c.
:ls a*
:a.out ejecutable archivo
Para ejecutables
:gcc-c archivo c
:gcc archivo o –o jorge
:./jorge
Hacer un programa que ejecute los primeros números primos usando “vi”
Ejecutable redes exe.
Escuela Politécnica Nacional Sistemas Operativos
16
Puerto red: 1518 bytes
-Ethernet.- Estándar. 10Mbps-100Mbps-16.bps-distancia de 100 m.
-conector RJ-45 asociado a un cable UTP-STP pares de cobre, el RJ-45 8 pines o contactos.
-Tiene una memoria EPROM
-Dirección Física (dirección Mac) 12 dígitos hexadecimales
UNIX :if config commando
Windows: ipconfig commando ipconfig/ all
Puerto USB
Dos Tipos De Conectores
Cada Conector Tiene 4 Pines O Contactos
Transmisión Diferencial
Periféricos
In: ingresa datos al PC , teclado, monitor
Out: muestra datos al PC
Almacenamiento:
Disco duro
Dvd
Memoria flash
Clúster: conjunto de sectores que representan la mínima unidad de almacenamiento para el
dispositivo a través de SO.
Escuela Politécnica Nacional Sistemas Operativos
17
CAPITULO 2
Introducción a los Sistemas Operativos
Escuela Politécnica Nacional Sistemas Operativos
18
Un Sistema Operativo es un programa que sirve de interfaz entre un usuario y el PC
2.1 FUNCIONES
• Gestión de Recursos, microprocesador y memoria
• Trabajar como máquina extendida
• Interfaz de Mandatos o Comandos, y actualmente la interfaz grafica como:
o Shell
2.2 CAPAS O NIVELES DEL SISTEMA OPERATIVO
Escuela Politécnica Nacional Sistemas Operativos
19
SHELL 1 SHELL 2SHELL 1 SHELL 2SHELL 1 SHELL 2 GUIGUIGUIPOSIX “Apis”POSIX “Apis”POSIX “Apis” WIN 32 “Apis”WIN 32 “Apis”WIN 32 “Apis”
PROCESO MEMORIA COMUNICACIÓN Y SINCRONIZACION
SEGURIDAD Y PROTECCION
ARCHIVOS Y DIRECTORIO
IN/OUT
CLASIFICACION
Según su estructura
1. Monolíticos: Sistemas que no tienen una estructura clara
2. Estructurados:
a. Por Capas: Niveles Específicos que conforman el sistema operativo
b. Distribuidos: Distribuido Principalmente los servicios del sistema
Estructura Distribuido
Shell GUIAPI API ServiciosServicios
Micro núcleoMicro núcleoMicro núcleoMicro núcleoMicro núcleoHARDWAREHARDWAREHARDWAREHARDWAREHARDWARE
Escuela Politécnica Nacional Sistemas Operativos
20
Arranque del PC
• Cargan valores predefinidos en los registros (Microprocesador)
• Se cargan en el CP(Contador del programa) la dirección de la ROM(BIOS) CP está
en el Micro
• Se ejecuta el cargador ROM (BIOS y el POST que tiene el computador)
• El cargador realiza:
o Rutinas de Chequeo de los dispositivos
o Lleva el BOOT del O.S a la memoria principal y le da el control del sistema
Arranque Software
1. El cargador ROM le da el control al BOOT
2. Lleva a la memoria principal el O.S. residente
3. Chequeo del Hardware del PC
4. Crea algunos Procesos (Inicialización)
5. Crea las tablas del O.S.
6. Inicia el Proceso de LOGIN(Usuario y Password)
Archivo Linux para arranque: grup.conf
Núcleo:
Encargado de realizar
Kernel (Terminal: uname -a)
2.3 API POSIX y API WIN32
Escuela Politécnica Nacional Sistemas Operativos
21
Interfaz del Programador para las Aplicaciones:
API-POSIX
Interfaz que es un estándar
IEEE en su norma 1003
Tiene un conjunto de Funciones que realizan algunos servicios Ejm:
foulx
Sus funciones están escritas en letra minúsculas y con nombre cortos Ejm:
getpid()
Estas funciones me devuelven el valor de cero en caso de éxito y -1 en caso de
error
Tiene los recursos del PC que se gestionan mediante descriptos
Tiene formas de representación de sus variables Ejm: int a;(a entera);pid_t a;
uid_t x; gid_t y.
Ha sido usado de base para el desarrollo de UNIX y LINUX
API-WIN32
No es un estándar
Tiene funciones que se llaman manejadores que son totalmente diferentes al API-
POSIX Ejm: Get File Attributes()
Funciones escritas con nombres largos y descriptivos Ejm: Create Process()
Maneja tipos de datos predefinidos Ejem: T_CHAR, DWORD, BOOL
Las funciones retornan o devuelven TRUE en caso de exito o FALSE en caso de
error.
Escuela Politécnica Nacional Sistemas Operativos
22
Relación de API-POSIX EN LINUX
Ejemplo:
#include<stdio.h>
#include<sys/types.h>
int main()
{
pid_t a;
a=getpid();
printf(“El proceso es %d\n ”,a);
return 0;
}
2.4 INTERFAZ DEL USUARIO
Tiene las siguiente funciones:
Manipulación de archivos y directorios
Desarrollo de Aplicaciones
Comunicación entre aplicaciones
Instalación de Aplicaciones
Control de Acceso
Clases:
1. Shell de Mandatos
Escuela Politécnica Nacional Sistemas Operativos
23
■ Interno.- Recibe Mandatos o comandos del usuario y todos están
implementados dentro de mismo programa.
■ Externo.- Todos sus mandatos o comandos son implementados
independientemente
2. GUI(Interfaz gráfica del usuario)
La interfaz del usuario está desarrollada usando figuras como comandos, ventanas,
que facilitan la interacción con el usuario
NOTA DE LINUX:
Servidores Gráficos: Xfree86, Servidor (Xorg)
Manejador gráfico: Gnome, KDE, KFCF(Liviano)
Tipos de Shell
AT&T Bourne: sh,bash,ash
Berkeley C Shell: csh;tcsh;kcsh
AT&T KORM: ksh
Puede haber diferencias con la programación (Script)
Prueba en terminal:
Comando 1
>env (visualiza variables de entorno)
Comando 2
>gnome-system-monitor(visualiza el monitor del sistema)
>gnome-terminal(Despliega otra pantalla de Terminal Shell)
Comandos Linux
>who
Escuela Politécnica Nacional Sistemas Operativos
24
>who am i
>touch nombre_archivo
>echo Mi nombre es Jorge
>ls -a
>ls -i
>ls -l
>tac archivo_existente
>head archivo_existente
>tail archivo_existente
>clear (Limpiar la Pantalla)
>locate archivo_existente (Da la ubicacion del archivo)
2.5 PROGRAMACION EN EL SHELL
Variables en el shell
Programa:
>a=3
>echo a:$a (Muestra el valor de “a”)
Ingreso de Datos desde el Teclado
> read in
Jorge Rivadeneira
>echo mi nombre es:$in
mi nombre es: Jorge Rivadeneira (Pantalla)
Escuela Politécnica Nacional Sistemas Operativos
25
2.5.1 IF
2.5.1.1 ESTRUCTURA 1
if [condición]
then
ordenes
-------
-------
fi
2.5.1.2 ESTRUCTURA 2
if [condición]
then
-----
else
---------
fi
2.5.1.3 ESTRUCTURA 3
if [condición]
then
-----
el if [condición]
then
Escuela Politécnica Nacional Sistemas Operativos
26
-----
else
---------
fi
Ejemplo de Script
>cat >script
if test -f a.out
then
echo esto es un archivo
else
echo esto no es un archivo
fi
>(ctrl+d)
>sh script
Escuela Politécnica Nacional Sistemas Operativos
27
2.5.2 UNTIL
until [ condicion ]
do
----
done
Ejemplo Script 2
>cat >script2
contador=20
until [ $contador -lt 10 ]
do
echo contador$contador
let contador=contador-1
done
>(ctrl+d)
>sh script2
Escuela Politécnica Nacional Sistemas Operativos
28
2.5.3 WHILE
while [ condicion ]
do
---
done
Ejemplo Script 3
Nota: “;” separa mandatos
>cat >script3
contador=0
while [ $contador -lt 20 ];do
echo El contador es $contador
let contador+=1
done
>(ctrl+d)
>sh script3
Escuela Politécnica Nacional Sistemas Operativos
29
2.5.4 FOR
for variable in lista
do
----
done
Ejemplo Script 4
> cat>m1.c
Ctrl+d
> cat>m2.c
Ctrl+d
> cat>m3.c
Ctrl+d
> cat>script4
for VAR in m1.c m2.c m3.c
do
test -f $VAR && cp $VAR $VAR.bak
done
>(ctrl+d)
>sh script4
>ls m*
Escuela Politécnica Nacional Sistemas Operativos
30
notas:
cp: copia de archivos
&&: and
//: or
Trabajo en Clase
Realizar un script que ingrese desde el teclado el nombre y la nota de un estudiante sobre
100 puntos en caso de que la nota sea mayor o igual a 70 saque un mensaje de aprobado
caso contrario emita un mensaje de reprobado
> cat>script5
>read name
>read note
if [ $note -gt 70 ]
then
echo nombre:$name
echo nota:$note
Escuela Politécnica Nacional Sistemas Operativos
31
echo estado:"Aprobado"
else
echo nombre:$name
echo nota:$note
echo estado:"Reprobado"
fi
2.5.5 COPIA DE ARCHIVO EN EL DIRECTORIO
Crear el directorio con el comando
> mkdir directorio1
>cat script6
for FILE in m*
do
cp $FILE /home/sisopt/directorio1/$FILE
done
2.5.6 ESTRUCTURA “SELECT”
select variable in (lista)
Escuela Politécnica Nacional Sistemas Operativos
32
do
comandos
done
Ejemplo:
select VAR in 'ls'
do
echo “Cadena escogida $VAR”
echo “Numero de respuestas $REPLY”
break
done
2.5.7 ESTRUCTURA CASE
case $OPCION
patrón 1)
comandos
;;
patrón 2)
comandos
;;
*)
comandos
;;
2.5.8 ESTRUCTURA DE FUNCIONES
sintaxis
nombre_función()
{
comandos
}
nombre_función()
Escuela Politécnica Nacional Sistemas Operativos
33
Ejemplo
función1()
{
pwd
cal
date
}
Shell
TRUE=> 0
FALSE =>1
2.5.9 METACARACTERES
Caracteres que tiene un significado especial para el shell
Ejm:$,”,',\
Metaracteres en Linux
Ejemplo:
var1=7
echo var=$var1
Ejemplo 2
echo var=\$var
2.6 ACTIVACION DEL SISTEMA OPERATIVO
a) Activación al Sistema Operativo por los programas
b) Interrupción generadas por los periféricos
c) Excepciones generadas por algún procedimiento
d) Funciones que llaman a los servicios del sistema operativo
Escuela Politécnica Nacional Sistemas Operativos
34
POSIX (Portable Operating System Interface)
USUARIOUSUARIO SISTEMA OPERATIVOSISTEMA OPERATIVO
Proceso Usuario
Rutina Biblioteca
TRAP Tratamiento de Interrupción
Rutina de servicio
TRAP: Interrumpe algún proceso, luego de la el control al sistema operativo para que este
realice una búsqueda de servicios para dar prioridad una nueva tarea
Escuela Politécnica Nacional Sistemas Operativos
35
CAPITULO 3
Gestión de Procesos
Escuela Politécnica Nacional Sistemas Operativos
36
Proceso es un programa en ejecución , la gestión de procesos comparte los recursos del
microprocesador(procesamiento) de las instrucciones para los diferentes procesos del
computador
Hace un multiplexación temporal de los procesos que depende del numero de
microprocesadores
Información de Procesos se encuentra en los: Registro del Microprocesador
Bloque de Control del Procesos
Imagen de Memoria del Proceso
3.1 ENTORNO DE PROCESO
Son variables que se cargan en la creación de un proceso
Se les llama variables de entorno
Ejem:PATH TERM HOME NOMBRE _VARIABLE=VALOR_VARIABLE
Las variables se cargan en una parte de la memoria llamada PILA
comando Linux: env
3.2 JERARQUIA DE PROCESO
Todo Proceso nace de un proceso anterior.
Todo Proceso tiene como proceso padre al proceso llamado init(linux)
La mayoría de procesos nace del interfaz del usuario(shell,GUI)
Comando Linux: pstree
Escuela Politécnica Nacional Sistemas Operativos
37
3.3 USUARIO
Toda persona que puede tener acceso al sistema.
El usuario necesita autenticarse con el nombre de usuario y la clave o password
Todo sistema operativo generalmente tiene un usuario con todos los privilegios.
Linux: root
Windows: Administrador
Los usuarios tienen un identificador, numero entero y se le llama “uid”
Todo proceso tiene un identificador, el “uid” es similar al numero identificador que tiene
todo el proceso que se llama “pid”
Todo usuario pertenece a un grupo, y el grupo en cuestión tiene un identificador “gid”
comando linux:
pstree -p
id root
root(0)
Comandos:
useradd Usuario “crear usuario”
Escuela Politécnica Nacional Sistemas Operativos
38
-g
-G
-d
-u
usermod Usuario “cambiar modo”
-g
-G
-d
userdel Usuario “Eliminar usuarios”
-r
groupadd grupo
groupdel grupo
passwd usuario
-l
-u
Usuarios:
UID root:0
sistema: 1.......99
comunes: 500
Direct usuario
/home/
GID root:0
sistema:1........99
normales: 500
usuario<=/etc/password
password<=/etc/shadow
grupos<=/etc/group
password<=/etc/gshadow
Escuela Politécnica Nacional Sistemas Operativos
39
Ejercicio en Clase:
Desarrollar un script que cree los usuario llamados alfa y beta que pertenecen al grupo
“diseñador” y además van a crear 2 usuarios llamados gamma y delta perteneciente al
programado cualquier clave
Comandos Linux
top: Información de Procesos
gnome-system-monitor
ps
aux
-eo
3.4 MULTITAREA
Se pueden tener más de un proceso ejecutándose en el sistema
Paralelismo real entre procesos y Entrada y Salida
Alternativa entre la fase de procesamiento y la fase de Entrada y Salida
La memoria puede almacenar varios procesos
Escuela Politécnica Nacional Sistemas Operativos
40
3.5 MULTIPROGRAMACIÓN
Número de Procesos Activos que puede tener el sistema cargados en la MEM. Principal
(Grado de Multiprogramación)SI hay memoria DRAM suficiente el numero de procesos es
mayor y el microprocesador es más eficiente.
3.6 ESTADO DE UN PROCESO
• Estado de Listo Estado de Ejecución Estado de Bloqueo Estado de bloqueo y
suspendido Estado Listo y Suspendido
Escuela Politécnica Nacional Sistemas Operativos
41
Los suspendidos se cargan en un dispositivo de almacenamiento secundario, en el disco
duro, en el SWAP
Comando Linux: >jobs
“muestras los procesos activos”
>top ctrl+c
“mata al proceso”
>ctrl+z
“suspender el proceso”
3.7 INFORMACION DE UN PROCESO
Información cargada en los registros del microprocesador
Registros: General, Banderas, Contador Programa
Cuando un proceso se está ejecutando su estado se carga en los registros del
microprocesador
3.7.1 PREPARACION DEL CODIGO DE UN PROCESO
Archivo
Fuente
Compilación
Archivo
Objeto Montaje o Enlazado Archivo
Ejecutable
Cargado
DRAM
3.8 IMAGEN DE MEMORIA DE UN PROCESO
Información de un proceso que se carga en la Memoria Principal Distribución de la
Memoria
Escuela Politécnica Nacional Sistemas Operativos
42
Código
Datos
Huecos
Pila
3.9 BLOQUE DE CONTROL DE PROCESOS
pid
uid
gid
Estado de Procesados
Recursos Asignados (Ejem: archivos abiertos)
3.10 TABLA DEL SISTEMA OPERATIVO
Tabla BCP
Tabla de los punteros a los archivos
Tabla de información E/S
3.11 INIT
Comandos: cat /etc/initabNiveles
0 Apagado
1 Un solo usuario (root)
2 Normal sin servicios de red
3 Normal; Mantenimiento del servidor gráfico
4 Personalizar
5 Normal+servidor gráfico
6=Reinicio
Escuela Politécnica Nacional Sistemas Operativos
43
3.12 TUBERÍA
Comunicación entre procesos basado en el uso de la entrada y salida estandar
who manda el numero de usuarios del sistema
who > archivo redirecciona
wc -l < archivo redirecciona el numero de usuario
para evitar este trabajo se usa tuberías
who | wc -l
la salida de who es enviada a wc
3.13 GREP
sirve principalmente para filtrar cadenas de caracteres
Ejem 1
Cat > animales
gato
perro
:
ctrl+d para cerrar
grep perro(caden) animales(archivo) busca cadena de caracteres
Ejem 2
cat > números
uno dos tres
dos cuatro cinco
tres uno seis
Escuela Politécnica Nacional Sistemas Operativos
44
ocho nueve siete
uno diez cuatro
ctrl+d
grep uno números devuelve las filas q tienen uno
grep “^uno” números solo las filas que empiezan con uno
^ es un metacaracter q significa principio de linea
grep “^...$” números
$ fin de linea
3.14 PERMISOS DE ARCHIVOS
Existen 3 permisos básicos
r leer
w escribir
x ejecutar
ls -l para ver permiso de los archivos
los procesos se dan por el tipo de usuario
rwx rwx rwx
cada rwx es un grupo
el primero es el creador del archivo
el siguiente es el grupo al que pertenece el usuario
el tercero otros usuarios
chmod trabaja sobre los permisos de los archivos
numeración octal
r = 4
w = 2
Escuela Politécnica Nacional Sistemas Operativos
45
x = 1
chmod 777 archivo(nombre del archivo) da todos los permisos porq 4+2+1=7
chmod 444 archivo solo tienen permisos de lectura
chmod 700 archivo solo tiene permisos el creador
cate > permisos
date ctrl + d
chmod 777 permisos
ls -l
veo todos los permisos
otra forma
chmod g+x archivo
u = usuario
g = grupo
o = otro ususario
+= añade permisos
-= quita permisos
a = todos
Deber hacer un script en windows para el 4 de mayo
desenmascaramiento(umask)
cambia los permisos en la creacion de archivos
touch ejemplo
ls -l ejemplo
rw—rw--r-- permisos
umask 022
cambia a
rw—r--r--
al inicio tiene 666
resto 666-022
y me da 644
entonces 2+4=6 rw
4 = r
Escuela Politécnica Nacional Sistemas Operativos
46
CAPITULO 4
Gestión de Memoria
Escuela Politécnica Nacional Sistemas Operativos
47
4.1 FRAGMENTACION
Es el espacio de la memoria principal que queda sin poder utilizarse
4.2 TIPOS DE FRAGMENTACION
Interna: se da cuando tenemos particiones fijas de la memoria principal, se da cuando un
proceso no ocupa todo el tamaño asignado a una partición lo que sobra es la fragmentación
interna
Externa: Cuando se tiene particiones variables de la memoria principal esto referido al
tamaño de la partición
La memoria principal se divide en n particiones y el tamaño de 1 partición
4.3 ASIGNACION CONTIGUA DE MEMORIA
Escuela Politécnica Nacional Sistemas Operativos
48
4.3.1 MULTIPROGRAMACION CON NUMERO FIJO DE TAREAS
Se refiere a que el numero de las particiones es fijo(si tenemos un giga y con diez
particiones cada una tiene 100 MB y es asignado automáticamente)
Tiene una fragmentación interna
El tamaño de la partición es invariable un vez establecido por el SO incluso si las
particiones tienen diferentes tamaños unas de otras porque ya están establecidos
4.3.2 MULTIPROGRAMACION CON NUMERO VARIABLE DE TAREAS
Se tiene un numero variable de particiones
El tamaño de cada partición también es variable
Tenemos fragmentación externa
Existen algoritmos que permiten ubicar procesos en la memoria principal
ejem:
primer ajuste
en el primer espacio de memoria q pueda calzar el proceso se lo ubica
peor ajuste
mejor ajuste
4.4 PAGINACIÓN
Se divide a los procesos en páginas de igual tamaño
Es necesario cargar todo el proceso en la memoria principal
Escuela Politécnica Nacional Sistemas Operativos
49
Existe una relación entre el numero de pagina del proceso y el numero de marco en el que
esta dividido la memoria principal
No es necesario asignar de forma contigua de las páginas de un proceso
Se da la traducción entre una dirección lógica y una dirección física
Existe una tabla de páginas por cada proceso
La tabla de páginas están construidas por un numero de entradas igual al numero de paginas
del proceso
Cada entrada de cada página es propio de la plataforma(Hardware y software)
Tiene fragmentación interna
El tamaño de cada página esta dado por el SO
K=kbytes
Tamaño de pagina = tamaño de marco
Dirección Lógica
esta constituida por el numero de página y el desplazamiento
Dirección Física
esta constituida por el numero de marco y el desplazamiento
Escuela Politécnica Nacional Sistemas Operativos
50
Ejercicio
1)Estamos trabajando con un sistema operativo que emplea una gestión de memoria
paginada. Cada página tiene un tamaño de 2k; la memoria física disponible para los
procesos es de 8 M primero llega un proceso que necesita 31566 posiciones de memoria y
después llega otro proceso que consume 18432 posiciones cuando se carga en memoria. Se
pide:
a)Que fragmentación interna provoca cada proceso
b)Que fragmentación externa provoca cada proceso
tamaño de página=2k
memoria= 8 M el espacio va de 0 a 8
Proceso 1=necesita 31566(bits o posiciones de memoria)
Proceso=necesita 18432(bits)
solo k = espacios de direcciones
Kbytes = espacio de direcciones + datos
c=2^(NUMERO DE LINEAS)datos
numero de marcos de paginas es igual a 8M/2k=2³ k*k / 2k=4k
Escuela Politécnica Nacional Sistemas Operativos
51
numero de paginas para proceso 1 = 31566/2k=31566/2*1024=15,41
el proceso 1 necesita 16 paginas
el rango de direcciones de cada página
va 0,2k,4k,..........,28k,30k,32k
todas están ocupadas menos la ultima entonces ahí hay fragmentación interna
32k-31566=32*1024-31566=1202
El espacio fragmentado interna es 1202
cero la externa porque en paginación solo hay fragmentación interna
# de paginas para proceso 2=18432/2k=18432/2*1024=9
el proceso necesita 9 páginas
18k-18432=0
No hay fragmentación interna ni externa
2)Supongamos que se tiene un sistema que trabaja con paginación. Cada página tiene un
tamaño de 2k se pide calcular el máximo espacio de direccionamiento lógico sabiendo que
la tabla de páginas tiene un tamaño de 28k y que cada entrada ocupa 16 bits
(Proceso de que tamaño máximo puedo trabajar)
# de entradas=28kB/16bits
=28kB 8 bits / 16 bits
=14K
ESPACIO MAXIMO= 14k * 2k
=28 M
4.5 TABLA DE PÁGINAS
CARACTERÍSTICAS
Escuela Politécnica Nacional Sistemas Operativos
52
Número de marco conocido
Bit de pagina valida / no valida
Protección rwx
Bit de pagina para acceso
Bit de pagina modificada
TAMAÑO DE LA PAGINA
El tamaño es base 2
Depende de la plataforma(ejem: 2k—16k)
Si tenemos tamaño pequeño tengo una gran cantidad de páginas(necesita mucha
memoria)
Si tenemos tamaño grande pocas páginas(el problema es que se produce
fragmentación.
4.5.1 IMPLEMENTACION DE LAS TABLAS DE PÁGINAS
Existen dos formas:
Memoria Principal
TLB(buffer de localización adelantada o traslation look aside buffer)
Memoria del tipo asociativo que tiene información de las ultimas páginas accedidas
especialmente de la memoria cache(carga información de los programas de uso frecuente)
tiene dos formas de ingresar
Escuela Politécnica Nacional Sistemas Operativos
53
Con información del proceso: como el PID
Sin información del Proceso puede ser gestionado
Vía hardware
se usa o administra a través de de la unidad de administración de memoria esta dentro de el
chip del micro a través de tablas de página
Vía software
4.5.2 TABLAS DE PAGINAS MULTINIVEL
Manejo varios niveles de numero de pagina
# Página #Página DESPLAZAMIENTO
4.6 INTERCAMBIO(swap)
Se usa para poder mejorar la utilización de la memoria principal( Multiprogramación:
numero de procesos activos en la memoria principal).
Se lo aplica principalmente cuando la memoria principal esta totalmente usada
Trabaja con la memoria principal y una memoria secundaria.
4.7 MEMORIA VIRTUAL
Hace una transferencia de bloques de un proceso entre la memoria principal y la memoria
secundaria(similar a swap)
Me permite trabajar con procesos cargando parte del proceso en la memoria principal
Escuela Politécnica Nacional Sistemas Operativos
54
Ejercicio
Se tiene un computador que puede trabajar con 16 bits para direccionamiento. Se desea
determinar cual es la dirección física con la cual trabajará el proceso si se conoce que el
tamaño de página es de 4k y que la tabla de páginas tiene la siguiente información. La
dirección lógica que se desea traducir es 20520
Datos:
16 bits direccionamiento
dirección lógica 20520(# pag. y desplazamiento)
T.P = 4k
4.8 SEGMENTACION
Esquema HW que trata dar soporte a las regiones
se usa la generalización de registro base y registro limite, este par de registros se usa por
cada segmento
La dirección lógica = (#segmento+dirección dentro del segmento)
La MMU usa una tabla de segmentos
se tiene una tabla de segmentos por cada proceso
La tabla de segmentos esta constituida por entrada
tenemos una entrada por cada segmento
las entradas tiene información
Registro: base y limite
Protección: RWX
Puede existir fragmentación externa
Se tiene estructuras que mantiene información de espacios libres y segmentos usados
Escuela Politécnica Nacional Sistemas Operativos
55
OTROS ESQUEMAS DE GESTION DE MEMORIA
Segmentación con paginación
Tablas con paginas invertidas
Ejercicio 2
Queremos traducir una dirección lógica o física en un sistema que soporta memoria virtual
paginada. Cada página tiene un tamaño de 2k y adicionalmente se tiene la siguiente
información de la tabla de páginas. Las direcciones virtuales que queremos traducir son a, b
4.9 ALGORITMOS DE REEMPLAZO
Escuela Politécnica Nacional Sistemas Operativos
56
Algoritmos que deciden que imagen del proceso es reemplazada en la memoria principal
Ejemplos:
FIFO
LRU
Reloj (segunda oportunidad)
Más optimo
4.10 ASIGNACION DE LOS MARCOS DE PAGINA
4.10.1 ASIGNACION ESTATICA
Se asigna a cada proceso un grupo de marcos de página que es constante
Puede depender de las características del proceso por ejemplo:prioridad, tamaño, etc.
Existen plataformas (SW y HW)que exigen un numero mínimo de marcos
4.10.2 ASIGNACION DINÁMICA
Número de memorias de página depende del comportamiento del proceso
En la asignación dinámica existe un uso más eficiente de la memoria
4.11 HIPERPAGINACION
Cuando tenemos un numero excesivo de fallos de página en la memoria
Escuela Politécnica Nacional Sistemas Operativos
57
4.12 GESTION DE SWAP
Tipos:
Pre asignación de espacio
Cuando se crea una región también se le asigna un espacio en el swap
Sin Pre asignación
Cuando se crea una región no se asigna un espacio en el swap
En la expulsión de un proceso de la memoria principal se le asigna espacio en el
swap
Mejor aprovechamiento del espacio del swap
4.13 OPERACIONES SOBRE LAS REGIONES
Creación de una región(crear un espacio de memoria para cargar la imagen de mi
proceso)
Liberación de una región
Cambio de tamaño de la región
Escuela Politécnica Nacional Sistemas Operativos
58
Duplicación de la región
4.14 ARCHIVOS PROYECTADOS
Dicen ser una generalización de la mem virtual
Las tablas de páginas apuntan a archivos
Proyectar esos archivos a la memoria principal(los cargo en la mem principal)
4.15 SERVICIOS DE GESTION DE MEMORIA
Posix
mmap() = proyeccion
mummap() = desproyectar
Win 32
Create File Mapping() = proyecta un archivo en la memoria
Map View Of File() = muestra inf proyectada
Un Map View Of File = desproyecta
Cron
ejecuta procesos en un tiempo determinado
crontab -e = crea un archivo crontab
4.16 MODELAMIENTO DE MULTIPROGRAMACION
Aprovechamiento del mp= 1 –p^n
P= fracción de tiempo q se toma hasta que finalice la fase E/S(entrada salida)
Escuela Politécnica Nacional Sistemas Operativos
59
N=# procesos activos en la memoria principal
Ejercicios:
Estamos trabajando con un sistema operativo que emplea una gestión de memoria
paginada. Cada página tiene un tamaño de 2 k; la memoria física disponible para los
programas es de 8 M, y después llega otro proceso que consume 18432 cuando se carga en
la memoria, se pide:
a) Qué fragmentación interna provoca cada proceso.
Supongamos que se tiene un sistema que trabaja con paginación. Cada página tiene un
tamaño de 2 K. Se pide calcular el máximo espacio de almacenamiento lógico sabiendo que
la tabla de páginas tiene un tamaño de 28 k y que cada entrada ocupa 16 bits.
Se tiene un computador que puede trabajar con 16 bits para direccionamiento.
Se desea determinar cual es la dirección física con la cual trabaja el proceso si se conoce
que es tamaño de página es de 4 k y que la tabla de páginas tiene la siguiente información.
La dirección lógica que se desea traducir es 20520.
Escuela Politécnica Nacional Sistemas Operativos
60
# página # marco1 42 53 74 35 26 17 X8 69 X
La dirección lógica 20520 de transforma en la dirección física 40.
Queremos traducir las direcciones virtuales generadas por un proceso a direcciones reales
en un sistema que soporta memoria virtual paginada, cada página tiene un tamaño de 2 k y
adicionalmente se tiene la siguiente información de la tabla de páginas.
Las direcciones que queremos traducir son:
a) 0 x 1873
b) 0 x 2073
c) 0 x 1089
# páginas # marco0 71 42 -3 104 8
Escuela Politécnica Nacional Sistemas Operativos
61
Tenemos un sistema operativo que realiza una gestión de memoria virtual. Se conoce de un
proceso cuyo espacio lógico de direccionamiento está formado por 100 páginas. Cada una
de estas páginas tiene un tamaño de 2 k; también sabemos que el tamaño de la memoria
física es de 1 M. Queremos conocer cuantos bits se cargan la dirección física o real como la
lógica o virtual.
Dirección física = 20 bits (9 bits, 11 bits)
Determinar cuanto tiempo se necesita para ejecutar 4 procesos si estamos con una fase de
entrada y salida determinada por las características del 80% de uso con los dispositivos de
entrada/salida.
Escuela Politécnica Nacional Sistemas Operativos
62
Proceso Hora de inicio Minutos requeridos/MP
1 10:00 42 10:10 33 10:15 24 10:20 2
El sector de arranque de un disco que trabaja con MS-DOS de 64 MB contiene la siguiente
información 512 B por sector, n sectores por cluster. Determinar:
a) El tipo de Fat necesario para gestionar todos los clusters del disco.
b) El número de clusters ocupados por cada tabla Fat.
c) El número máximo de archivos que puede albergar el directorio raiza si ocupa 16
clusters y el tamaño de cada entrada de direcciones es de 32 Bytes.
d) Determinar la posición del primer sector de datos.
a)
b)
Escuela Politécnica Nacional Sistemas Operativos
63
c)
d)
Boot FAT FAT Directorio raíz Datos
8 cl 8 cl 16 cl
Sector sector sector sector
Las direcciones tienen un tamaño de página 2 k, se nos pide calcular la cadena de relación
correspondiente a las siguientes direcciones generadas por el proceso.
0100 0200 0100 0200 0300 0200 0900
dir lógica = (# pag, # despl.)
= 5 bits + 11 bits
= 16 bits
0100 0200
0000 0001 000 0000 0000 0010 0000 0000
#pag #pag
0 0
Escuela Politécnica Nacional Sistemas Operativos
64
0300 0900
0000 0011 0000 0000 0000 1001 0000 0000
#pag #pag
1 1
0 x 3250 3150 3250 3150 3230 4111 5000
Escuela Politécnica Nacional Sistemas Operativos
65
CAPITULO 5
Gestión de Archivos y Directorios
Escuela Politécnica Nacional Sistemas Operativos
66
5.1 ARCHIVO
Es una unidad de almacenamiento lógica no volátil que tienen información relacionada entre
si bajo un mismo nombre
5.1.1 TIPOS DE ARCHIVOS
Según la información almacenada
Archivos ASCII o textuales: Caracteres alfanuméricos
Archivos Binarios: caracteres a dígitos que no podemos manejar directamente (no
textuales) ejemplo archivos ejecutables
Archivos especiales: Modelar los dispositivos de E/S
Ejem: LINUX (ls /dev/)
5.1.2 ATRIBUTOS DE LOS ARCHIVOS
Nombre
Identificador interno (numero con que identifica el S.O.R. al archivo)
Tipo de archivo
Mapa del archivo
Punteros a los dispositivos de E/S
Protección
Tamaño
Información temporal
Ejem: Fecha de creación, fecha de modificación
Información de control
Ejem. Archivos ocultos
Estructura de los archivos
Escuela Politécnica Nacional Sistemas Operativos
67
Cada SO tiene una estructura genérica para el archivo
En las estructuras se tiene información de los atributos de archivo
Nombre de los archivos
Nombres de los archivos aceptan caracteres alfanuméricos
Existen límites para el # de de caracteres q tiene el nombre de un archivo
Ejem. UNIX 4096 caracteres
Depende el sistema operativo para diferenciar entre mayúsculas y minúsculas
Algunos comandos Linux
ls –l= lista de archivos y atributos de un archivo
protección #enlaces Usuario grupo tamaño(bits) fecha
nombre
ls –F si aparece
* es un archivo ejecutable
/ es un directorio
ls –al si aparece
. = nombre del directorio actual
..= nombre del directorio padre
. nombre del archivo =archivo oculto
ls –l /etc. (archivos dentro de etc.)
ls –ld /etc. (características del directorio)
ls –i archivo (nos da el identificador del archivo)
5.1.3 METODOS DE ACCESOS
Secuencia: tiene un acceso de secuencia por ejemplo los ejecutables
Escuela Politécnica Nacional Sistemas Operativos
68
Aleatorio: no se necesita acceder secuencialmente, por ejemplo una base de datos
5.2 DIRECTORIOS Y ESTRUCTURAS
Es un objeto que relaciona en forma unívoca el nombre del usuario de un archivo y el
numero identificador del archivo dado por el SO
Es un elemento que me permite agrupar archivos
Se tiene tantas entradas a los directorios como archivos tenga el mismo
Los directorios están representados por entradas
Una entrada de un directorio es una estructura que tiene información de los elementos del
directorio
Ejem
Puntero al archivo nombre
Entrada de directorio de UNIX (nodo i de UNIX)
ESTRUCTURAS DE DIRECTORIOS
Un nivel (un nivel de directorios)
Dos niveles (2 niveles de directorios)
Árbol:
Todos los directorios, archivos y subdirectorios parten de un directorio raíz
Aquí se trabaja con el concepto de directorio de trabajo (.)
Grafo acíclico:
Aquí se pueden relacionar archivos que se encuentran en diferentes directorios
pero que tienen el mismo contenido
Permite el
Se basa en la estructura de árbol
Ejercicio:
Escuela Politécnica Nacional Sistemas Operativos
69
Creo archivo enlace 1
Ls –l enlace1
Ln enlace1 enlace2(2 se crea solo)
Ls –l enlace1
Cat enlace 1
Cat enlace2
Cat >>enlace2
Ejemplo redes
Ctrl + d
Cat enlace 1
Ls –I enlace 1
Ls –I enlace 2(es el mismo que uno)
5.3 NOMBRES JERÁRQUICOS
5.3.1 NOMBRE ABSOLUTO
Nombre completo de todo el camino (path) hasta llegar al directorio de trabajo actual; desde
el directorio raíz
Ejem: pwd /home/sisopt/archivo
5.3.2 NOMBRE RELATIVO
Es el nombre que maneja una parte del nombre absoluto
Ejem /sisopt/archivo
5.4 CONSTRUCCION JERÁRQUICA
UNIX-LINUX : Se basa en un directorio raíz
Escuela Politécnica Nacional Sistemas Operativos
70
/
WINDOWS: Los nombres dependen del dispositivo lógico o físico con el
Cual trabajamos
Ejem C:/
D:/
LINUX-UNIX
Montaje de dispositivos: me permite ubicar a cualquier elemento del
computador bajo el directorio raíz
Comando mount
Mount –t (se especifica el sistema de archivos con el que trabaja mi
dispositivo) /dev/archivo /directorio montaje
Para el desmontaje umount /directorio montaje
Para montar una flash
Mount –t vfat /dev/sda /sisopt/flash(nombre de la flash)
Umount /directorio montaje
Su –(ingresa súper usuario)
Su –sisopt(ingresa al sisopt)
5.5 ARCHIVO DE CONFIGURACIÓN
fstab
/etc/fstab
cat /etc/fstab
df -i(archivos)
du -s /etc(directorio)
Escuela Politécnica Nacional Sistemas Operativos
71
Realizar un script que cumpla con:
Crear un archivo que se llame redes 2009
Este archivo debe contener toda la información relacionada a los archivos especiales que
están siendo utilizados
Crear un directorio llamado redes bajo el usuario sisopt que tenga un archivo denominado
electrónica y que este enlazado con el archivo redes 2009
cat>redes2009
dmesg |grep eth>redes2009
mkdir /root/redes
cat>/root/redes/electronica
ln redes2009 electronica
5.6 PARTICION
Dividir a un dispositivo de almacenamiento secundario de forma lógica de tal menera que
puedan trabajar como unidades independientes
Tipo de Partición:
a) Primarias
b) Extendidas
c) Lógicas
5.7 UNIDADES DE ALMACENAMIENTO
IDE----HD
Escuela Politécnica Nacional Sistemas Operativos
72
SCOSI----SD
FLOPPY--- fd
ro read only
rw read and write
auto arranca automaticamente
no auto cuando arranca el sistema
5.8 SERVICIOS
ARCHIVOS:
a) Abrir
b) Cerrar
c) Leer
d) Escribir
e) Borrar
DIRECTORIOS:
a) Crear (mkdir)
b) Leer
c) Borrar
SISTEMAS DE ARCHIVOS
Los sistemas de archivos permiten organizar la estructura física o lógica de los
dispositivos de almacenamiento secundario
Ejem:
MS-DOS
FFS
Escuela Politécnica Nacional Sistemas Operativos
73
Ext2(mas usado en linux)
Ext3
/proc
FAT32
NTFS
Inetd (servicios de red)
Se mejoro a Xinetd:
servicios
telnet: permite el acceso remoto aun computador
ftp: para transferencia de archivos
talk: mandar mensajes entre p.c.
date: Información de horarios
sch: acceso remoto de forma segura
5.9 SERVIDOR DE ARCHIVOS Y HERRAMIENTAS
fdisk: particionar discos
mke2fs(extension 2): formatear (sistema de archivos)
fsck: integridad lógica del sistema de archivos
badblocks integridad física del sistema de archivos
ejm: fsck /dev/hda5
swap on: activa swap
swap off: desactiva swap
sync: sincronizar la swap
Escuela Politécnica Nacional Sistemas Operativos
74
mkswap: formatear swap
ESTRUCTURA:
Varias capas software
Cada capa trabaja con los servicios que muestran las capas contiguas
ejemplo:
Todo proceso tiene como base 3 descriptores de archivos
5.10 BLOQUE, FUNCIONAMIENTO
Bloque: Conjunto de sectores que representa la mínima unidad de almacenamiento con la
que trabaja el sistema de archivos, cluster.
read (fd, buffer, tamaño)
realiza una comprobación del sistema de archivos que pertenece
3 4 5 6
1340 1750 840 3000Todo proceso tiene como base 3 descriptores de archivos
fd 0 Entrada Estándar
fd 1 Salida Estándar
fd 2 Errores
5.11 REDUNDANCIA
Escuela Politécnica Nacional Sistemas Operativos
75
★ Puede tener un respaldo de sus datos
★Mayor Rendimiento
★Mayor Capacidad
★Tolerancia a Fallo
★Integridad
★Se usa en la actualidad para redundancia, el concepto de RAID (Arreglo de Discos,
Independientes para Redundancia)
Tipos de RAID
RAID 0
RAID 1
RAID 0+1
RAID 5
RAID 6
RAID 0.- Distribuye sis datos en forma equitativa en los diferentes discos
Se usa para mejorar el rendimiento
No usa control con paridad
RAID 1.- Saca copias exactas de los datos que queremos almacenar, se usa mas para
mejorar el rendimiento de lectura.
Escuela Politécnica Nacional Sistemas Operativos
76
RAID 0+1.- Es combinación del raid 0 y el raid 1
RAID 5.- usa división de datos a nivel de bloques distribuyendo la información de paridad
entre todos los discos miembros del conjunto.
Escuela Politécnica Nacional Sistemas Operativos
77
RAID 6.- Un RAID 6 amplía el nivel RAID 5 añadiendo otro bloque de paridad, por lo que
divide los datos a nivel de bloques y distribuye los dos bloques de paridad entre todos los
miembros del conjunto. El RAID 6 no era uno de los niveles RAID originales.
SAN (Storage Area Network)
Escuela Politécnica Nacional Sistemas Operativos
78
CAPITULO 6
Sistemas Operativos Distribuidos
Escuela Politécnica Nacional Sistemas Operativos
79
6.1 SISTEMAS DISTRIBUIDOS FISICOS
Un conjunto de procesadores que no tienen Memoria ni reloj común que se se encuentran
intercontrolados a través de una red.
Código conjunto de procesos que se ejecutan en uno o más computadores entre si mediante
el envío y recepción de mensajes
Características Compartir Recursos
Capacidad de crecimiento
Alto rendimiento
Fiabilidad y Disponibilidad
6.2 REDES DE COMPUTADORES
Es un subsistema de componentes hardware y software que permiten la comunicación y
proporciona los servicios necesarios para que los procesos que se ejecutan en la diferentes
computadoras puedan comunicarse entre sí
Escuela Politécnica Nacional Sistemas Operativos
80
SWITCH
MICROPROCESADORMEMORIA
MICROPROCESADORMEMORIA
MICROPROCESADORMEMORIA
MICROPROCESADOR
Mensaje:
Es un objeto lógico que se intercambia entre 2 o más procesos
Paquete:
Es la unidad de información que se se intercambia entre dos dispositivos de comunicación.
Modelo de Red:
ISO/OSE .- Basado en 7 capas
TCP/IP.- Basado en 4 Capas
Escuela Politécnica Nacional Sistemas Operativos
81
6.3 PROTOCOLO DE COMUNICACIÓN
Es un conjunto de reglas que gobiernan el intercambio de mensajes y paquetes
Comunicación de Procesos
a) Mecanismos de Bajo Nivel
sockets >>>>Sistema Operativo y configuración de hardware
b) Mecanismos de alto nivel
SW >>>>> JAVA RMI, CORBA, SERVICIOS WEB
6.3.1 CAPA TRANSPARENTE
Se encarga de la transmisión de los mensajes entre los diferente procesos
Tiene dos protocolos:
6.3.2 UDP (Unidad Datagrama Protocolo)
No orientada a conexión
No es fiable
No asegura orden de paquetes
Sockets: datagrama
6.3.3 TCP
Orientada a conexiones
Fiable
Entrega los paquetes ordenados
Sockets: Stream
Escuela Politécnica Nacional Sistemas Operativos
82
6.4 SISTEMA OPERATIVOS RED
El usuario ve un conjunto de máquinas, independientes, no hay transparencias
Se debe acceder de forma explícita a los recursos de otras máquinas
Difíciles de usar para el desarrollo de aplicaciones distribuidas
Se comporta como si fuera un sistema operativo único
Se constituye con micronucleos que ofrecen servicios básicos de comunicación
Ejem: Ameba,Mach
6.5 TRANSPARENCIAS
Acceso a los recursos locales y remotos de igual forma
Acceso a los recursos sin conocer su situación
Escuela Politécnica Nacional Sistemas Operativos
83
Acceso casi simultáneo a los recursos compartidos
Replicación: Acceso a recursos replicados sin conocimiento de que lo son
Fallos: Mantenimiento de servicio en presencia de fallos
Facilidad de crecer sin afectar la estructura del sistema
Migración: Facilidad de mover recursos y objetos son que afecte la operación de los
programas.
6.6 MIDDLEWARE Y ENTORNOS DISTRIBUIDOS
Servicios y protocolos estandarizados
Ofrecen servicios que no están incluidos en el sistema operativo
Facilidad en el desarrollo de aplicaciones
Independientes del hardware y el software en que se instalen
Ejercicio en Java.
//Ejercicio3: escanea los puertos abiertos en una conexion de internet
import java.io.*;
import java.net.*;
public class ejercicio3
{
public static void main (String []args)
{
Socket sck;
System.out.println("Escaneando\n");
for(int port= 1;port<=65535; port++)
{
try
{
sck=new Socket("macbook-de-jorge-eduardo-rivadeneira-munoz.local",port);
System.out.println("Puerto"+port+"abierto");
Escuela Politécnica Nacional Sistemas Operativos
84
}
catch(IOException error)
{
}
}
System.out.println("\nFin del Scaneo");
}
}
6.7 SOCKETS
Fue desarrollado por UNIX
Para incluir TCP /IP en UNIX
Un socket asocia dos direcciones
Un socket es un extremos de comunicación
* Para los sockets del dominio de UNIX con rutas conteniendo 14, o menos caracteres se
puede usar:
#include <sys/socket.h>
...
bind (sd, (struct sockaddr *) &direccion, longitud);
* Si la trayectoria de un socket del dominio de UNIX requieres más caracteres, usar:
#include <sys/un.h>
...
bind (sd, (struct sockaddr_un *) &direccion, longitud);
* Para sockets del dominio de Internet usar:
Escuela Politécnica Nacional Sistemas Operativos
85
#include <net/netinet.h>
...
bind (sd, (struct sockaddr_in *) &direccion, longitud);
6.7.1 TIPOS DE SOCKETS
Stream(Sock_Stream):
Orientado a conexiones
Fiable
Orden de llegada
No mantiene separación entre mensajes
Protocolo TCP
Trabaja en la capa transparente
Datagrama(Sock_Dgram):
sin conexión
No Fiable
No Orden de llegada
Mantiene separación entre mensajes
Protocolo UDP
Trabaja en la capa transparente
6.7.2 DIRECCION DE SOCKETS
Cada socket debe tener una dirección única.
Las direcciones se usan para asignar al socket una dirección local o especificar una
dirección remota
Se usa la estructura genérica Struct Addr
Cada domino tiene su propia estructura Ejem: struct sockaddr_in
Escuela Politécnica Nacional Sistemas Operativos
86
Direcciones de Sockets en PF_INET
Host (32 bits) + Puerto
Una dirección IP se almacena en una estructura del tipo: struct in_addv
Tiene estructura llamada: struct sockaddr -in
sin_family: dominio(HF_INET)
sin:addv: dirección host
6.8 DOMINIOS DE COMUNICACION
Una familia de protocolos
Asociado a su dominio al momento de crear el socket
Solo se pueden comunicar si son del mismo dominio
Los servicios de los sockets son independientes del dominio
Escuela Politécnica Nacional Sistemas Operativos
87
6.9 TRANSFERENCIA CON STREAM
Escenario Stream
6.10 TRANSFERENCIA CON DATAGRAMA
Escuela Politécnica Nacional Sistemas Operativos
88