3. conceptos de sistemas operativos

30
Universidad Veracruzana Sistemas Operativos Conceptos Básicos Ricardo Carrera Hernández

Upload: rcarrerah

Post on 26-Jun-2015

241 views

Category:

Engineering


2 download

TRANSCRIPT

Page 1: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

Sistemas Operativos

Conceptos Básicos

Ricardo Carrera Hernández

Page 2: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

2

Procesos

Un programa en ejecución

Entidad que puede ser asignada a un procesador y ejecutada por él

… yo me lo quería “ejecutar”…

Page 3: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

3

Consta de:

programa ejecutable, datos necesarios para el programa

(variables, espacio de trabajo, buffers, etc.),

contexto de ejecución

Page 4: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

4

Cada proceso tiene asociado un espacio de direcciones

El proceso puede leer y escribir información

Contiene el programa ejecutable, los datos del programa y su pila

Page 5: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

5

Contexto de ejecución

pila del programa, contador del programa, apuntador a la pila,

registros de datos, prioridad del proceso, etc.

EAX

EBX

ECX

EDX

ESI

EDI

EBP

ESP

31 0Registros de propósito general

CS

DS

SS

ES

FS

GS

15 0

Registros de segmentos

EFLAGS

EIP

31 0

31 0

Status del programa y Registro de control

Apuntador a Instrucción

Sistema general y registros para programación de aplicaciones

Y dónde están los monitos!! Esto se

está poniendo muy serio!!

Page 6: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

6

640 Kbytes

Área de sistema

384 Kbytes

Memoria extendida 15 Mbytes en el 80286 o 80386SX

31 Mbytes en el 80386SL/SLC63 Mbytes en el 80386EX4,095 Mbytes en el 80386DX, 80486 y Pentium64 Gbytes en el Pentium Pro

1 Mbyte de memoria real (convencional)

Mapa de memoria de la computadora personal

Page 7: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

7

Vector de interrupciones

Área de comunicación del BIOS

Área de comunicación del DOS

Programa IO.SYS

Programa MSDOS

Drivers tal como MOUSE.SYS

COMMAND.COM

00000

00400

00500

00700

01160

02530

08490

08E30

9FFF0

9FFFF

espacio libre

Programa MSDOS

Mapa de memoria del área de programa de usuario en una PC

00000

10000

20000

30000

40000

50000

60000

70000

80000

90000

A0000

B0000

C0000

D0000

E0000

F0000

FFFFF

Direcciones físicas

Tabla de apuntadores de interrupciones

Área de instrucción de

reincio

00000

003FF

FFFF0

FFFFF

1,048,576 bytes = 1024 MB

Cada bloque es de 64 KB

Page 8: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

8

Vector de interrupciones

Conjunto de posiciones ubicada en la parte baja de la memoria.

Ahí se almacenan las direcciones de las rutinas de atención de las interrupciones.

Page 9: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

9El hardware de una computadora

Registros

Unidad Aritmética

datos

Código

ROM

Memoria principal

Puntero de pila

Registro de instrucción

Contador de programa

EstadoUnidad de

control

Unid

ad d

e E

/S

Page 10: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

10

Interrupciones de Hardware

Page 11: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

11

Page 12: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

12

Page 13: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

13

Page 14: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

14

Page 15: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

15

Llamadas al sistema

Interfaz entre el sistema operativo y un programa ejecutándose

Son piezas de software en lenguaje ensamblador (MS-DOS) o de alto nivel como C

Page 16: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

16

Acciones Descripción

Control de procesosCrear, finalizar, asignar o liberar memoria a un proceso.

Manipulación de archivos

Crear, borrar, renombrar, abrir, cerrar, etc.

Manipulación de dispositivos

Solicitar o liberar.

Mantenimiento de la información

Obtener o modificar hora del sistema, pedir detalles sobre procesos o archivos.

Comunicaciones Con procesos.

ProtecciónConsulta o modificación de información de acceso a objetos en disco.

Clasificación de las llamadas al sistema

Page 17: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

17

Ejecución del proceso…

Llamada al

sistema

Ejecución de la llamada al

sistema

Regresa de la llamada al

sistemaContinúa la ejecución…Entrega ejecución

al núcleo. Entra en modo protegido

Vuelve al flujo normal. Sale de modo protegido

Transición del flujo entre espacio usuario y espacio núcleo en una llamada al sistema

Espacio de usuario

Espacio de núcleo

… y arre!..

Page 18: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

18

Llamadas al sistema, arquitecturas y APIs

Sistema Operativo Nombre API

Windows Win32, Win16

Mac OS X Cocoa, Carbón, POSIX

GNU/Linux, BSDs POSIX

Page 19: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

19

Administración de procesos

Administración de memoria

Sistema de archivos

Control de dispositivo

s

Acceso a redes

Interfaz de llamadas al sistema

Concurrencia, multitarea

Memoria virtual Archivos y dirs: el VFS

Ttys y acceso a dispositivos

Conectividad

Código dependiente

de la arquitectura

Administración de memoria

Tipos de filesys

Block devices

Dispositivos de carácter

Subsistema de redes

IF drivers

CPU

Memoria

Discos y CDs Consolas

Interfaces de red

Hardware

Subsistemas del Kernel

Características implementadas

Software de soporte

Características implementadas como módulos

Interfaz de llamadas al sistema GNU/Linux

Page 20: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

20

Servicios de los procesos

Control de procesos

Manipulación de archivos

Manipulación de periféricos

Mantto de la información

Comunicaciones

• Crear proceso

• Cargar• Ejecutar• Abortar• Terminar

• Crear• Abrir• Escribir• Leer• Cerrar• Eliminar

• Solicitar• Escribir• Leer• Liberar

• Obtener hora-fecha

• Establecer hora-fecha

• Obtener datos del sistema

• Crear conexión

• Enviar mensajes

• Recibir mensajes

• Eliminar conexión

A sus órdenes Señor Operativo

Page 21: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

21

UNIX WIN32 DESCRIPCIÓN

fork CreateProcess Crea un nuevo proceso

waitpid WaitForSingleObjetct Puede esperar a que un proceso termine

execve (ninguno) CreateProcess = fork + execve

exit ExitProcess Termina la ejecución

open CreateFile Crea un archivo o abre uno existente

close CloseHandle Cierra un archivo

read ReadFile Lee datos de un archivo

write WriteFile Escribe datos en un archivo

lseek SetFilePointer Desplaza el apuntador del archivo

stat GetFileAttributesEx Obtiene varios atributos de un archivo

mkdir CreateDirectory Crea un directorio nuevo

rmdir RemoveDirectory Elimina un directorio vacío

link (ninguno) Win32 no soporta enlaces

unlink DeleteFile Destruye un archivo existente

mount (ninguno) Win32 no soporta el montaje

umount (ninguno) Win32 no soporta el montaje

chdir SetCurrentDirectory Cambia el directorio de trabajo actual

chmod (ninguno) Win32 no sporta la seguridad (aunque NT sí)

kill (ninguno) Win32 no sporta las señales

time GetLocalTime Obtiene la hora actual

Equivalencia de llamadas Unix-Windows

Page 22: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

22

Ejemplo

#include <sys/types.h>

main(){

int i = 0;

switch (fork()) {case -1:

perror(“Error al crear procesos”);

exit(-1);break;

case 0: /* código para el hijo */while (1<10) {

sleep(1);printf(“\t\tSoy el

proceso hijo: %d\n”, i++);}

break;default: /* código para el padre */

while (i<10) {sleep(2);

}};exit(0);

}

¡cool!

Page 23: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

23

Datos del

proceso

Pila de usuario

del proceso

Archivos abiertos

Directorio actualDirectorio raíz

….Pila del modo

supervisor

Tabla de regiones por proceso

Área de usuario

PROCESO

Page 24: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

24

Creación de un nuevo contexto de proceso mediante

fork

Código compartido

.

.

.

.

.

.

.

.

.

.

.

.

Tabla de archivos

Datos del hijo

Pila de usuario del hijo

Archivos abiertos

Directorio actualDirectorio raíz

….Pila del modo

supervisor

Área de usuario

Tabla de regiones por proceso

PROCESO HIJO

Datos del

padre

Pila de usuario del padre

Archivos abiertos

Directorio actualDirectorio raíz

….Pila del modo

supervisor

Tabla de regiones por proceso

Área de usuario

PROCESO PADRE

Page 25: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

25

Archivos

¡¿Quién se ha llevado mi tarea de mi archivero?!

Page 26: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

26

… mi ventanita es más bonita…

Page 27: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

27

GNU/Linux

/proc/

/root/

/var/

/usr/

/tmp/

/srv/

/sbin/

/opt/

/mnt/

/media/

/lib/

/home/

/etc/

/dev/

/boot/

/bin/

Directorio raíz de toda la jerarquía de archivos del sistema

/

Documentación del sistema de archivos virtual del Kernel y las condiciones de los procesos en archivos de texto

Directorio ‘home’ del usuario root

Utilidades y aplicaciones de (multi) usuarioJerarquía secundaria

Directorios requeridos: bin, include, lib, local, sbin, share

Variables de archivo

Archivos temporales

Datos para los servicios provistos por este sistema

Binarios de sistema

Agregados de paquetes de software y aplicaciones

Punto de montaje temporal para sistemas de archivos

Punto de montaje para medios removibles

Bibliotecas esenciales compartidas y módulos de Kernel

Directorio ‘home’ de usuario

Configuración de sistema de Host específico

Archivos de unidades

Archivos estáticos del selector de arranque

Comandos binarios esenciales de usuario

/usr/local

/usr/local/bin

/usr/local/games

/home/student

/home/student/dir

Page 28: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

28

Actividad:

Instalar de manera individual GNU/Linux en:

Partición Virtual

Page 29: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

29

Investigación

Clasificación de los Sistemas Operativos por su estructura:

1. Sistemas monolíticos2. Sistemas por capas3. Microkernels4. Modelo Cliente-Servidor5. Máquinas virtuales6. Exokernels

¡No! ¡Por favor no!

Page 30: 3. Conceptos de sistemas operativos

UniversidadVeracruzana

30

¡Hasta mañana!