Sistemas Operativos 2009

88
Escuela Politécnica Nacional Sistemas Operativos 1 SISTEMAS OPERATIVOS

Transcript of Sistemas Operativos 2009

Page 1: Sistemas Operativos 2009

Escuela Politécnica Nacional Sistemas Operativos

1

SISTEMAS OPERATIVOS

Page 2: Sistemas Operativos 2009

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

Page 3: Sistemas Operativos 2009

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

Page 4: Sistemas Operativos 2009

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

Page 5: Sistemas Operativos 2009

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

Page 6: Sistemas Operativos 2009

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

Page 7: Sistemas Operativos 2009

CAPITULO 1

Introducción a la Arquitectura del Computador

7

Escuela Politécnica Nacional Sistemas Operativos

7

Page 8: Sistemas Operativos 2009

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

Page 9: Sistemas Operativos 2009

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

Page 10: Sistemas Operativos 2009

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

Page 11: Sistemas Operativos 2009

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

Page 12: Sistemas Operativos 2009

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

Page 13: Sistemas Operativos 2009

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

Page 14: Sistemas Operativos 2009

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

Page 15: Sistemas Operativos 2009

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

Page 16: Sistemas Operativos 2009

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

Page 17: Sistemas Operativos 2009

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

Page 18: Sistemas Operativos 2009

CAPITULO 2

Introducción a los Sistemas Operativos

Escuela Politécnica Nacional Sistemas Operativos

18

Page 19: Sistemas Operativos 2009

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

Page 20: Sistemas Operativos 2009

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

Page 21: Sistemas Operativos 2009

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

Page 22: Sistemas Operativos 2009

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

Page 23: Sistemas Operativos 2009

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

Page 24: Sistemas Operativos 2009

■ 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

Page 25: Sistemas Operativos 2009

>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

Page 26: Sistemas Operativos 2009

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

Page 27: Sistemas Operativos 2009

-----

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

Page 28: Sistemas Operativos 2009

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

Page 29: Sistemas Operativos 2009

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

Page 30: Sistemas Operativos 2009

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

Page 31: Sistemas Operativos 2009

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

Page 32: Sistemas Operativos 2009

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

Page 33: Sistemas Operativos 2009

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

Page 34: Sistemas Operativos 2009

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

Page 35: Sistemas Operativos 2009

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

Page 36: Sistemas Operativos 2009

CAPITULO 3

Gestión de Procesos

Escuela Politécnica Nacional Sistemas Operativos

36

Page 37: Sistemas Operativos 2009

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

Page 38: Sistemas Operativos 2009

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

Page 39: Sistemas Operativos 2009

-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

Page 40: Sistemas Operativos 2009

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

Page 41: Sistemas Operativos 2009

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

Page 42: Sistemas Operativos 2009

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

Page 43: Sistemas Operativos 2009

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

Page 44: Sistemas Operativos 2009

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

Page 45: Sistemas Operativos 2009

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

Page 46: Sistemas Operativos 2009

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

Page 47: Sistemas Operativos 2009

CAPITULO 4

Gestión de Memoria

Escuela Politécnica Nacional Sistemas Operativos

47

Page 48: Sistemas Operativos 2009

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

Page 49: Sistemas Operativos 2009

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

Page 50: Sistemas Operativos 2009

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

Page 51: Sistemas Operativos 2009

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

Page 52: Sistemas Operativos 2009

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

Page 53: Sistemas Operativos 2009

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

Page 54: Sistemas Operativos 2009

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

Page 55: Sistemas Operativos 2009

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

Page 56: Sistemas Operativos 2009

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

Page 57: Sistemas Operativos 2009

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

Page 58: Sistemas Operativos 2009

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

Page 59: Sistemas Operativos 2009

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

Page 60: Sistemas Operativos 2009

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

Page 61: Sistemas Operativos 2009

# 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

Page 62: Sistemas Operativos 2009

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

Page 63: Sistemas Operativos 2009

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

Page 64: Sistemas Operativos 2009

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

Page 65: Sistemas Operativos 2009

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

Page 66: Sistemas Operativos 2009

CAPITULO 5

Gestión de Archivos y Directorios

Escuela Politécnica Nacional Sistemas Operativos

66

Page 67: Sistemas Operativos 2009

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

Page 68: Sistemas Operativos 2009

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

Page 69: Sistemas Operativos 2009

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

Page 70: Sistemas Operativos 2009

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

Page 71: Sistemas Operativos 2009

/

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

Page 72: Sistemas Operativos 2009

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

Page 73: Sistemas Operativos 2009

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

Page 74: Sistemas Operativos 2009

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

Page 75: Sistemas Operativos 2009

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

Page 76: Sistemas Operativos 2009

★ 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

Page 77: Sistemas Operativos 2009

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

Page 78: Sistemas Operativos 2009

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

Page 79: Sistemas Operativos 2009

CAPITULO 6

Sistemas Operativos Distribuidos

Escuela Politécnica Nacional Sistemas Operativos

79

Page 80: Sistemas Operativos 2009

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

Page 81: Sistemas Operativos 2009

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

Page 82: Sistemas Operativos 2009

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

Page 83: Sistemas Operativos 2009

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

Page 84: Sistemas Operativos 2009

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

Page 85: Sistemas Operativos 2009

}

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

Page 86: Sistemas Operativos 2009

#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

Page 87: Sistemas Operativos 2009

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

Page 88: Sistemas Operativos 2009

6.9 TRANSFERENCIA CON STREAM

Escenario Stream

6.10 TRANSFERENCIA CON DATAGRAMA

Escuela Politécnica Nacional Sistemas Operativos

88