sistemas operativos - linux - electronica - gjoyuela/archivos/linux/presentac... · autor:...

Download Sistemas Operativos - Linux - Electronica - gjoyuela/archivos/linux/Presentac... · Autor: Alejandro

Post on 17-Dec-2018

214 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

Autor: Alejandro Furfaro 1

Sistemas OperativosUniversidad Tecnolgica Nacional - FRBA

Tcnicas Digitales III

Autor: Alejandro Furfaro 2

IntroduccinSistema Operativo Que es?Es un programa de control que se ocupa de:2 Administrar los recursos de la computradora.2 Administrar la ejecucin de los diferentes programas en muchos casos

pueden ser de diferentes usuarios.2 Facilitar la tarea del programador permitiendole acceso a los recursos de

manera independiente del hardware.2 Proveer servicios a los programas de aplicacin a travs de un conjunto de

llamadas standard.Estas acciones se resuelven a travs de una implementacin que puede representarse en capas:

Hardware

Sistema Operativo

Utilidades / Servicios

AplicacionesProgramador de Aplicaciones

Programador de Sistemas

Autor: Alejandro Furfaro 3

Clasificacin de los Sistemas Operativos

Sistemas Real Time:2Se utilizan para sistemas de control industriales, centrales de

conmutacin, instrumentacin cientfica. 2Por lo general tienen una muy pobre capacidad de interfaz con el

usuario, no tienen utilitarios.2Su fortaleza consiste en administrar los recursos de la computadora, de

modo de ejecutar una operacin en particular en la misma cantidad de tiempo cada vez que ocurre el evento que la dispara. Concepto even-driven. 2En el tipo de aplicaciones que resuelven estos sistemas operativo, si una

parte se mueve mas rpido solo porque los recursos estn disponibles puede generar resultados tan catastrficos como si no se mueve porque el recurso est ocupado.2Ejemplos de implementaciones

iQNXi RT-Linux

Autor: Alejandro Furfaro 4

Clasificacin de los Sistemas Operativos

Monotarea - Monousuario2 Estn preparados para ejecutar solo una tarea a la vez. no puede

ejecutar mas de una en forma concurrente. 2 Interfaz para un solo usuario, (una sola sesin de trabajo). 2 Transfiere el control de la mquina a la aplicacin que va a

ejecutarse, y solo interviene a demanda de sta mediante alguna llamada a los servicios de su kernel, o cuando la aplicacin finaliza y devuelve el control.

2 El viejo MS-DOS (sucesor del mas viejo an CPM/86), es el mas difundido de este tipo de sistemas.

2 Un ejemplo muchsimo mas actual, til, y eficiente de este tipo de sistemas es el Palm OS que corre en las computadoras de mano Palm Pilot. Aqu no hay programas residentes y se tiene un sistema operativo con una interfaz de usuario muy cmoda que permite ejecutar aplicaciones de a una por vez.

Autor: Alejandro Furfaro 5

Clasificacin de los Sistemas Operativos

Multitarea Monousuario2 Hoy en da es habitual utilizar estos sistemas operativos en las PC de

escritorio.2 Interfaz para un solo usuario, pero pueden mantener en memoria

mltiples aplicaciones en forma estable y dentro de un entorno de proteccin (algunos con mas suerte que otros...)

2 Es habitual descargar correo de Internet o bajar un archivo extenso durante minutos mientras se trabaja en la redaccin de un documento, o en la escritura de un programa de aplicacin, y hasta se chequea el estado de una unidad de disco , y se realiza un backup de informacin, todo a la vez.

2 Ejemplos habituales de este tipo de sistemas.i Windows XP, i NT Workstation, i 2000 Workstation, i OS/2, i Machintosh, i Linux o cualquier UNIX instalado como Workstation

Autor: Alejandro Furfaro 6

Clasificacin de los Sistemas Operativos

Multiusuario2 Esta es la forma mas avanzada de los sistemas operativos, y curiosamente

la que prim en los sistemas pioneros como UNIX.2 La falta de capacidad del hardware de por entonces (1969) hizo que se

implementasen versiones mas simplificadas para usuarios individuales.2 Aqu la interfaz de usuario soporta mltiples sesiones. Esto por extensin

implica que tiene capacidades multitarea, ya que con solo ejecutarse un proceso por usuario se tiene mas de una tarea en ejecucin en la memoria del sistema.

2 Estos sistemas son los mas poderosos y normalmente los mas eficientes: MVS, para los mainframes, UNIX (o cualquiera de sus versiones free como LINUX, o free BSD, por ejemplo) son los mejores exponentes de este tipo de sistemas.

2 Microsoft tiene versiones denominadas Server de Windows XP 2000, y una evolucin de 2000, denominada 2003 que soporta al procesador Itanium.

Autor: Alejandro Furfaro 7

Funciones de un Sistema OperativoGestin del procesador 2 Gestin del tiempo de procesamiento para cada tarea (scheduling de

procesos).

Gestin de la Memoria.2 Asignacin de memoria RAM para las aplicaciones aplicando

criterios basados en la MMU del procesador.2 Gestin de la Memoria Virtual2 Gestin de la memoria cache

Gestin de los dispositivos de E/S. 2 Acceso al hardware de manera transparente para las aplicaciones.2 Manejo de la concurrencia de acceso en sistemas multiusuario o

multitarea especialmente

Autor: Alejandro Furfaro 8

Funciones de un Sistema OperativoGestin del storage2 (File Systems en los medios masivos de almacenamiento: discos

rgidos, CD-ROMs, DVDs).

Interfaz para las Aplicaciones.2 Coleccin de llamadas para ejecutarse desde los programas de

aplicacin para acceder a servicios brindados pro cdigo del sistema operativo. Se las conoce como System Calls.

2 En los multitarea se manejan mediante este subsistema, los diferentes niveles de privilegio que posea el Sistema Operativo (y que dependen del procesador utilizado en el sistema)

Interfaz para los usuarios.2 Manejo de interfaces sencillas para usuarios no expertos

iGUIi Textoi Combinacin de ambas

Autor: Alejandro Furfaro 9

Modelo derivado de las funciones

Hardware

DeviceDrivers

Buffe

rsde

E/S

File

Syst

emMa

nage

r

Gest

in

de P

roce

sos

Gestin de Memoria

Interfaz de aplicaciones (API o System Call)

Aplicaciones de usuario Programas de Aplicaciny UtilitariosEjecutan en el menor nivel de privilegio

Capa de interfaz para acceso a los servicios del S.O. Por parte de las aplicaciones

KERNEL

Hardware(lo que golpeamos a causa de los estndares de calidad de algunos S.O.s ....)

Servicios de E/S

Sche

dule

r

Autor: Alejandro Furfaro 10

Caso Prctico

Linux

Autor: Alejandro Furfaro 11

Linux: IntroduccinSistema Operativo Unix-likeBasado en POSIX (Portable OS based on UNIX)Kernel monoltico (programa nico +mdulos)2 Opuesto a los Sistemas MicroKernel que reinaron en los 70s.

Diseado bajo el concepto Lightweight Processes (LWP)Preemptive Kernel2 Hasta la versin 2.4 el kernel no puede intercalar arbitrariamente flujos de ejecucin mientras est

en modo privilegiado (PL=00).2 La versin 2.6, compilada con la opcin Preemptive Kernel, s puede .2 Solaris 2.x y Mac 3.0 son full preemptive

Soporta SMP (Symetric MultiProcessing)Soporta varios File Systems (IBM AIX, SGI Irix, FAT32, etc)Puede ser muy pequeo. Se puede ajustar a un floppy 31/2Puede ejecutarse un web server o proxy server basado en Linux en una PC basada en 80386.Es libre. Podemos intslarlo y modificar su cdigo sin otra limitacin que nuestro hardware.Versiones. Se representan con tres nmeros separados por puntos. Ej: 2.4.18, o 2.5.22. El primero es la Versin. El segundo indica si es un kernel estable (par) o en desarrollo (impar). El tercero es el release.

Autor: Alejandro Furfaro 12

El KernelEs el principal programa del SOActualmente soportado por las siguientes arquitecturas:2 ARM (ARM based Computers)2 ARM262 Alpha (Compaq)2 Intel (ia32 e ia64-Itanium)2 Familia 68K (Motorola)2 Parisc (WS basadas en procesadores RISC HP-9000 de Hewlett Packard)2 MIPS (Silicon Graphics)2 Power PC y PowerPC 642 Sparc y Ultra Sparc (32 y 64 bits Sun Microsystems)2 S390 (IBM)2 SuperH. Lnea SuperH de Procesadores de Hitachi y STMicroelectronics2 V850. Microcontroladores NEC basados en un RISC de 32 bits Arquitectura Harvard.

Aprovecha las capacidades del hardware2 Maneja el acceso a los recursos hardware especficos. A travs de Device Drivers.2 Provee servicios de acceso al hardware a los programas de usuario.Es reentrante2 Mltiples procesos acceden al kernel de manera simultnea.

Ref: Understanding the Linux Kernel 3erd. Ed. D. Bovet. Cap 1

Autor: Alejandro Furfaro 13

El KernelManeja niveles de Proteccin2 Ejecucin en modo Kernel.2 Ejecucin en modo User. 2 Maneja Stacks separados.

Inte

rrup

cin

de

timer

Fallo

de

Pgi

na

Serv

icio

del

Si

stem

a

Req

uerim

ient

o a

un

driv

er/ I

nter

rupc

in

desd

e un

dis

posi

tivo

Modo Usuario

Modo Kernel

System Call Handler

System Call Handler

SchedulerSchedulerException Handler

Exception Handler

Device Driver

Device Driver

Proceso 1 Proceso 2

Proceso 3(Accede a una

pgina de memoria no presente)

Proceso 4

Ref: Understanding the Linux Kernel 3erd. Ed. D. Bovet. Cap 1

Autor: Alejandro Furfaro 14

Manejo de MemoriaModelo:

Unidad dePaginacin

Unidad dePaginacin

Direccin LgicaSegmento:Desplazamiento

Direccin Lineal

Unidad de Segmentacin

Direccin Fsica

Unidad de Segmentacin

Ref: Understanding the Linux Kernel 3erd. Ed. D. Bovet. Cap 2

Autor: Alejandr