You are on page 1of 45

SISTEMAS OPERATIVOS

Conceptos
Introductorios

Septiembre

Gino Barroso

1. Qu es un Sistema Operativo?
Un Sistema Operativo es un
conjunto de programas, de un sistema
informtico, que administra los
recursos del hardware.
Usualmente al trmino Sistema Operativo se lo abrevia SO
(en espaol) u OS (Operating System, en ingls).
Tambin, son reconocidas las abreviaturas Hw (Hardware) y
Sw (Software).

1. Qu es un Sistema Operativo?
Para quines el SO administra?
Para los PROCESOS.

Cules son los recursos del


Sera
bastante largo enumerar todos los recursos
hardware?
del hardware (Hw).
Sin
agruparlos en cinco rubros:

embargo,

podemos

o La CPU. O tambin las CPUs, pues una


computadora puede tener varios procesadores.
o La RAM.
o La Memoria Secundaria. Se refiere a los CD,
DVD, Discos, Memorias flash, etc.
o Los Dispositivos I/O (Entrada/Salida).
Por
ejemplo: impresora, pantalla, teclado, mouse,
tarjeta de vdeo, etc.

1. Qu es un Sistema Operativo?
PROCESOSEl SO presta un

recurso del Hw por


RECURSOS
un tiempo a un proceso. Luego que
el proceso ya no lo necesita, el SO
libera al recurso (es decir, le quita
el recurso al proceso que lo estaba
usando)

warcraft.exe

Tarjeta de Vdeo
Guardar
Imprimir

winword.exe

SO

Imprimir
Disco Duro (HD)
Tu documento se
imprimir, despus
del de Word

2. Qu es un Proceso?

En realidad, en sta presentacin no se


podra dar la definicin exacta de proceso,
dado que el temario abordado aqu es
demasiado superficial. Sin embargo, nos
conformaremos con una definicin informal:

Un proceso, a grandes rasgos, es un


programa en ejecucin (run).

A un programa, usualmente se le llama


aplicacin, aunque es ms conocido por su
abreviatura: App (del ingls, application).
Entonces, simplemente:
Proceso = App corriendo

2. Qu es un Proceso?

Al igual que una imagen o un audio (.jpg,


.mp3, etc), una App es simplemente un
archivo que est almacenado en la memoria
secundaria. A stos archivos que son Apps,
se les llama archivos ejecutables.
En Windows, los archivos ejecutables (Apps)
tienen la extensin .exe.
Dado que Linux no maneja formalmente el
concepto de extensin, las Apps, en ste
SO, Windows
se maneja
pueden
en
archivos
sinSin
Tambin
Apps quealmacenar
se guardan en archivos
con extensin
.bin o .com.
embargo, stos son poco usados actualmente, pues el formato de los mismos data de la dcada de
extensin.
1980.
En Windows, algunas de las Apps ms conocidas, tienen tambin nombres de archivos ejecutables
muy conocidos,
por ejemplo: notepad.exe (Block de Notas),
calc.exe (Calculadora),
winword.exe (Word), excel.exe (Excel).

2. Qu es un Proceso?

Problema 1

En Windows se hizo
una bsqueda de
archivos
ejecutables .exe
(Apps) y se
obtuvieron muchos.

stos archivos
son procesos?

2. Qu es un Proceso?
Respuesta
NO.
Los .exe encontrados son solamente
ARCHIVOS.
Para que un archivo .exe (una App) se convierta en
proceso, se lo debe correr con algunas de estas
rdenes:
o Hacer doble-click sobre l.
o Situar el mouse sobre l, pulsar botn derecho y
escoger la opcin Abrir.
Una vez recibida la orden de correr (run), el SO
carga* el archivo .exe a la RAM y entonces la CPU
* El trmino cargar usualmente es sustituido por la palabra subir, del ingls upload.
empieza a ejecutar su cdigo.

2. Qu es un Proceso?

RAM

Esto es
un archivo

calc.ex
e
dob
le
clic
k

El SO sube
(carga) el
archivo a
la RAM

(proceso)

La CPU ejecuta
(corre) el cdig
del proceso,
que program
su creador.

Entonces, para que una App (archivo ejecutable, .exe) se convierta en proceso, la App debe estar
cargada en la RAM y ser ejecutada por la CPU. As :

Proceso = App corriendo (run) = App cargada en la RAM y siendo ejecutada por la CPU

Recuerde:

Todo lo que se procesa debe estar cargado en RAM

3. Tipos de Sistemas Operativos


Segn la gestin del procesamiento, los SO se
dividen en dos tipos:
SO Monoprocesos o Monotarea.
Son
aquellos que son capaces de ejecutar a lo sumo
UN proceso a la vez.
El ms destacado de este tipo de SO, fue el MS-DOS (Micro
Soft-Disk Operating System), creado en 1981 por Microsoft.

SO Multiprocesos o Multitarea. Son aquellos


que tienen la habilidad de mantener en estado
de ejecucin a uno o ms procesos. Los SO mas
conocidos
Windows,
Actualmente, son:
es inconcebible
queLinux,
un SO Android.
no sea multiproceso,
pues la gente est acostumbrada a correr mas de un proceso a
la vez (e.g. escuchar msica y navegar en Internet).

10

3. Tipos de Sistemas Operativos

11

Para entender mejor, supngase que una persona


desea usar la computadora para escribir un
documento y escuchar msica. Para ello escoge las
Apps: Microsoft Word (winword.exe) y el
Reproductor de Windows Media (wmplayer.exe).

Si la computadora tiene un SO Multiproceso (e.g.


Windows), esta persona, podr correr ambas Apps
simultneamente: es decir, mientras escribe su
documento en Word, podr escuchar msica con el
Reproductor (el SO es capaz de ejecutar los procesos
winword.exe y wmplayer.exe a la vez)
Si la computadora tiene un SO Monoproceso, este
individuo, solo podr cargar una App a la vez. Es
decir, si decide escribir su documento en Word, no
podr escuchar msica con el Reproductor (y
viceversa), pues el SO solo puede ejecutar un solo
proceso a la vez (winword.exe o wmplayer.exe, pero

3. Tipos de Sistemas Operativos


Si la computadora tiene un SO
Multiproceso
RAM

wmplayer.exe

winword.exe

Los dos procesos (obviamente) estn cargados en la RAM, y la


CPU con la ayuda del SO, es capaz de ejecutar el cdigo de
ambos, simultneamente. La tcnica que usa el SO para
lograr esto, puede verse en la seccin 3.2

12

3. Tipos de Sistemas Operativos


Si la computadora tiene un
Monoproceso

SO

RAM

RAM
RAM

winwor
d
.exe

La persona ejecuta
Word y se pone a
trabajar con ste
proceso. Pero, luego
desea escuchar
msica

wmpla
yer
.exe

Para
escuchar
msica, no
tiene ms
remedio que
cerrar Word.

Cuando Word
finaliza, el SO lo
saca de la
memoria. Es decir,
le quita el recurso
(RAM) al proceso
winword.exe.

La persona ahora
puede cargar el
Reproductor y
escuchar msica.

13

3. Tipos de Sistemas Operativos


Problema 2

En un Banco hay un solo cajero que


atiende a todos los clientes. Si hacemos la analoga:
cajero CPU, clientes APPs
Este Sistema de atencin es Mono o Multiproceso?
Excel

Proces
o*

Photoshop

Word

ViceCity

calc.exe

Cajer
o
(CPU)

RAM

Clientes
(APPs)
* Es un Proceso, porque sta APP est cargada en la RAM y est siendo
atendida por la CPU.

14

3. Tipos de Sistemas Operativos

15

Respuesta
El Sistema de atencin es Monoproceso, porque el
cajero (CPU) atiende a un cliente (proceso) a la
vez.
Es decir, cada vez que el cajero termina de atender
a un cliente, recin podr atender al prximo. En
ningn momento, el cajero podr atender a dos o
Pero, aunque el Sistema es Monoproceso, la cola muestra el orden de
ms
clientes a la vez.
atencin de las APPs por parte de la CPU*.
As, observando el grfico de la diapositiva anterior podemos deducir que:
luego que calc.exe finalice, la APP Photoshop correr (run); luego que
Photoshop termine su ejecucin, se ejecutar (run) ViceCity;
y as
sucesivamente, hasta completar todas las APPs de la cola.
A esta forma de trabajo, se le llama Procesamiento por lotes o Batch.
* Atencin de una APP por parte de la CPU = Ejecucin de la APP (run)

3.1. Batch

16

En los SO es posible realizar el Procesamiento


por Lotes, ms conocido como batch,
simplemente creando un archivo texto, en la cual
se anoten los nombres de los ejecutables (APPs)
que
Por queremos
ejemplo, encorrer.
Windows para crear un Archivo de
Procesamiento por Lotes:

1) Abrimos un Editor (e.g. el Block de Notas).


2) Escribimos los nombres de los archivos ejecutables, en
el orden en que queremos correrlos (e.g. calc.exe,
chrome.exe, wmplayer.exe)
3) Guardamos este texto con la extensin .bat o .cmd*
Luego, podemos ejecutar este archivo batch, simplemente
haciendo doble-click sobre l.

*Un

archivo .bat o .cmd, en realidad es considerado un programa escrito en un lenguaje


llamado shell-script. Por este motivo, es posible crear archivos .bat o .cmd, con un
contenido ms complejo.

3.1. Batch

17

Creacin de un archivo batch


(.bat)
Guardar
Como

calc.exe
chrome.exe
wmplayer.exe

Ejecucin
dob
(.bat)
le

prueba.bat

del

archivo

batch

clic
k
prueba.bat

1) Corre
calc.exe.

(Para correr el
prox proceso,
debemos
finalizar
calc.exe)

2) Luego de
finalizado
calc.exe, corre
chrome.exe

(Finalizamos
chrome.exe)

3) Ahora corre
wmplayer.exe

Recuerde: El procesamiento batch es monoproceso.

18

3.2. Implementacin del Multiproceso


Cmo la CPU es capaz de ejecutar a ms
de un proceso simultneamente?
Actualmente, la tcnica usada para lograr esto, se
llama Tiempo Compartido o Time-Sharing. Esta
tcnica, consiste en asignar reiteradamente la CPU
a c/u de los procesos, un intervalo de tiempo
llamado quantum (q) o Time-Slice.
Por ejemplo. Supongamos que tenemos tres procesos
cargados en la RAM: p1.exe, p2.exe y p3.exe: La CPU atiende
1q de tiempo a p1; luego 1q a p2; despus 1q a p3; luego 1q
a p1; luego 1q a p2, etc.
La CPU cambia de un proceso a otro tan rpidamente, que
el usuario humano imagina que los tres procesos corren
simultneamente.

(Al cambio de proceso por parte de la CPU, se le llama Cambio


Este ejemplo es animado en la siguiente diapositiva
de Contexto o switch-context)

19

3.2. Implementacin del Multiproceso

Por razones didcticas,


en esta animacin se ha
tomado
quantum=2 segundos
Naturalmente,
este
quantum dista mucho de
la realidad. Por ejemplo,
en el SO Windows:
quantum=1
milisegundo

3.3. SO Mono y Multiusuario


20

SO Monousuarios. Son aquellos que proveen


servicio y procesamiento a un solo usuario a la vez.
SO Multiusuarios. Se le llama multiusuario a la
caracterstica de un SO que permite proveer servicio
y
procesamiento
a
uno
o
ms
usuarios
simultneamente.
En general, si en una instalacin informtica vemos a 1 ms
terminales* conectadas a una sola Computadora, decimos
que estamos en presencia de un Ambiente Multiusuario (es
decir, el SO est en Modo Multiusuario).

La Computadora a la que comnmente se le llama Servidor,


es la que provee los recursos del Hw (CPU, RAM, Tarjeta de
Vdeo, Disco Duro, etc) y por tanto, el SO est instalado y
corriendo
sao Computadora.
* De
Wikipedia: Una en
terminal
consola es un dispositivo electrnico que se utiliza para interactuar con un
computador. Es una mquina que incluye teclado y pantalla (y mouse) y es usada para introducir (input)
u obtener (output) datos, y mostrarlos (print).
Siempre se debe recordar que una terminal no procesa nada, solo recibe/enva datos desde/hacia la
Computadora Servidor.

3.3. SO Multiusuario
Por
ejemplo.

21

SO
Multiusua
rio

Se
rv

ido
r

SO
Multiusuar
io

Servidor
Terminal

Terminal

Terminal

Terminal

Un SO Multiusuario cuyo Servidor, Un SO Multiusuario cuyo Servidor


donde est corriendo, atiende a 4 atiende a 2 usuarios con terminales
usuarios.
ms modernas.

3.3. SO Mono y Multiusuario


22

Problema 3
En un pequeo Caf-Internet o Ciber-Caf se tom una
fotografa (mostrada a la izquierda) y se averigu como estaban
conectadas sus computadoras (diagrama de la derecha).
Inter
net

Mdem
e
bl d
Ca Re
de

El ambiente es Monousuario o Multiusuario?

3.3. SO Mono y Multiusuario


23

Respuesta
El ambiente es Monousuario, porque cada
computadora atiende a un y solo un usuario.
En cada una de las tres computadoras, corre
un SO que atiende y procesa los
requerimientos de sus respectivos usuarios.
(Sera Multiusuario si usando una sola
computadora, ms de un usuario se podra
conectar a ella)

3.3. SO Monousuario

24

Problema 4. Tengo una sola computadora. En ella, la


pantalla de Login* me muestra que hay 4 usuarios que usan
sta mquina.
Puedo concluir que mi computadora es
Multiusuario?
Respuesta NO. Porque en
Pantalla de Login (Inicio de Sesin) de Windows 7
mi computadora, solo un
usuario puede trabajar a la
vez.

carlos
pepe
mario
jose
Lo que si puedo afirmar, es
que el SO maneja cuentas
de usuario
o user
accounts.
As, cada
usuario
que
usa
mi
computadora, tendr su
propio ambiente de trabajo
(escritorio),
y informtica, log-in o log-on (ingresar, entrar,
*De
Wikipedia: En el mbito permiso
de la seguridad
iniciar
sesin)
es el proceso
mediante el cual se controla el acceso individual a un
acceso
a ciertas
APPs,
sistema
etc. informtico a travs de la identificacin de los credenciales (Nombre_Usuario +

Contrasea) provistos por el usuario. En contraste, log-out (salir, cerrar sesin) es el


trmino que se emplea, cuando el usuario deja de trabajar con su cuenta (account).

3. Tipos de Sistemas Operativos


Resumen

o Monoprocesos

Tipos de Sistemas
Operativos

Monousuarios

Monousuarios
o Multiprocesos
Multiusuarios

25

4. Arquitectura de un SO

26

Los siguientes dos diagramas, nos muestran que los SO se


divide en dos grandes capas:
El Kernel o ncleo y los
Administradores.
Aplicacio
nes
ADM
s
Kernel
(Ncleo)

SHELL
Este diagrama es el ms conocido
de todos y es llamado Diagrama
Cebolla o de Estratos

SHEL
L
Administradores
APPs

Kernel (Ncleo)

S
O

Mquina
desnuda
(Hw sin Sw)

Diagrama Plataforma o Soporte.


Muestra al SO como sosteniendo a
las APPs y permitiendo que las
mismas se comuniquen con el Hw.
As :

SO = Plataforma de Software

4.1. El Kernel

27

El Kernel (ncleo).

Es aquella parte del SO que


interacta directamente con los componentes del Hardware
(Hw).
Como se sabe, un Hw
solo entiende instrucciones
representadas por nmeros binarios (lenguaje mquina de
se Hw) y es por ste motivo que el Kernel, en su gran
mayora, est escrito en Assembler.
Kern
el

10010011
(Cambiar a res.
1366x768)

Tarjet
a
Vdeo

0101
1100
El usuario ha
movido el mouse
x=3, y=5

En este pequeo ejemplo, el Kernel le dice al vdeo que cambie


la resolucin de pantalla a 1366x768. Tambin, el mouse le
comunica al Kernel que el usuario lo ha movido (as, un
programa mover el cursor
).

4.1. El Kernel
Entonces, claramente, el Kernel (ncleo) es el
mdulo del SO ms difcil
y tedioso de
implementar:
Para cada uno de los
componentes del Hardware (Hw,) se debe
escribir el cdigo binario que recibe/envia datos
desde/hacia se Hw.
Pero, para facilitar su manipulacin, el Kernel se
presenta a los Administradores como una
abstraccin del Hw o como una serie de
abstracciones de c/u de los componentes del Hw.
Es decir, como un Tipo Abstracto de datos,
que se manipula por procedimientos y funciones
(mtodos).

28

4.1. El Kernel
class Kernel{

// operaciones de la pantalla
void setMode(byte modo){ //Cambia la resolucion de la pantalla.
mov ah, 13h
mov al, modo
int 10h
}
byte getMode(){ //Obtiene el nro que indica la resolucin de pantalla.
byte modo;
mov ah, 13h
int 10h
mov modo, al
return modo
}

// operaciones del mouse. Rutina de interrupcin


int getMouseX(){ //Obtiene el desplazamiento horizontal del mouse

Nota. Realmente el Kernel NO es una class. Aqu, con fines didcticos, lo mostramos as.

29

4.1.1. El Kernel y los Drivers


30

Supngase, absurdamente, que la IBM-PC


naci con un dispositivo I/O, llamado ACME,
que tiene dos LEDs (rojo y verde) y un
sintetizador que produce un pitido.
Este dispositivo se conecta (enchufa) en el
Puerto 255 y acepta las siguientes instrucciones
de dos bits: 00=Pitido, 01= blink (parpadear)
LED rojo, 10=blink LED verde, 11=blink ambos
Dispositivo
LEDs.
ACME
Kern
el

00
(Emitir pitido)

pip

En esta grfica, se
observa al Kernel
envindole al
dispositivo la
instruccin 00
=Emitir Pitido.

4.1.1. El Kernel y los Drivers


31

Y, una vez ms, el Kernel proveer procedimientos para


manipular al dispositivo ACME.
class Kernel{

// operaciones del dispositivo ACME


void AcmeBeep(){ //Emitir pitido
out 255, 0
//Enviar 00 al puerto 255
}
void AcmeRedBlink(){ //Hacer parpadear al LED rojo.
out 255, 1
//Enviar 01 al puerto 255
}
void AcmeGreenBlink(){ //Hacer parpadear al LED verde.
out 255, 2
//Enviar 10 al puerto 255
}

void AcmeBothBlink(){//Hacer parpadear a ambos LEDs.


out 255, 3
//Enviar 11 al puerto 255
}

4.1.1. El Kernel y los Drivers


32

Pero, de pronto un fabricante construye un


ACME2. Es decir, un dispositivo ACME mucho ms
mejorado.
An ms, este nuevo ACME2 trae
instrucciones codificadas a tres bits. Estas son:
100=Pitido, 101= blink (parpadear) LED rojo,
110=blink LED verde, 111=blink ambos LEDs.
Para que nuestro SO trabaje con este nuevo
dispositivo, no tenemos ms remedio que
modificar el Kernel (operaciones AcmeBeep(),
AcmeRedBlink(),): Es decir, creamos una nueva
versin de nuestro SO.
As, cada vez que se construya un nuevo
dispositivo (e.g ACME3), debemos modificar el
Kernel, obteniendo as una nueva versin de

4.1.1. El Kernel y los Drivers


33

Wikipedia: Un Device Driver o simplemente Driver


(en Windows: controlador), es un programa
informtico que permite al Kernel interaccionar con
un perifrico, haciendo una abstraccin del
hardware
y
proporcionando
una
interfaz
(posiblemente estandarizada) para utilizar el
dispositivo.
Para entender mejor, supongamos que nuestro
Kernel ahora hace uso de un Driver para acceder
al dispositivo ACME.

Entonces, nuestro
Kernel no se comunica
directamente con el Hw ACME, sino con su Driver:
El Kernel se abstrae, porque imagina que el Driver
es el dispositivo ACME.

4.1.1. El Kernel y los Drivers


34

Si observamos ahora el cdigo Kernel, notaremos que las


operaciones no envan (send) datos al puerto 255, sino que
hacen uso del mtodo send del Driver.
class Kernel{

// operaciones del dispositivo ACME


void AcmeBeep(){ //Emitir pitido
Driver.send(0)
//Enviar 00 a ACME
}
void AcmeRedBlink(){ //Hacer parpadear al LED rojo.
Driver.send(1)
//Enviar 01 a ACME
}
void AcmeGreenBlink(){ //Hacer parpadear al LED verde.
Driver.send(2)
//Enviar 10 a ACME
}

void AcmeBothBlink(){ //Hacer parpadear a ambos LEDs.


Driver.send(3)
//Enviar 11 a ACME
}

4.1.1. El Kernel y los Drivers


35

0
Kern
el

1
2
3

100
Driver de
ACME2

Dispositivo
ACME2

101
110
111

En la grfica de arriba se muestra al Kernel enviando (send)


al Driver de ACME2 los cdigos 0, 1, 2 y 3; y vemos que
ste Driver traduce estos valores
a los cdigos que
entiende el Hw ACME2 (0 lo reemplaza por 100, 1 por 101,
2 por 110 y 3 por 111).
En definitiva, si un fabricante decide crear una versin
diferente de un dispositivo (e.g. un ACME3), este fabricante
deber crear un Driver para este nuevo dispositivo. As, el
Kernel enviar datos al Driver como si fuese el dispositivo de
la primera versin (o versin estndar), y el Driver
convertir estos datos en valores que entiende la nueva

4.2. Los Administradores


Los

Administradores.

Un Administrador
(ADM) es un mdulo que se encarga de gestionar un
tipo de recursos del Hardware (Hw). Idealmente, se
han propuesto cinco administradores:
ADM de PROCESOS o del PROCESADOR.
encargado de asignar la(s) CPU(s) a los procesos.

Es el

ADM de MEMORIA. Gestiona la memoria RAM.


ADM de INFORMACIN. Es el encargado de administrar
los datos de la Memoria Secundaria.
ADM de DISPOSITIVOS I/O. Permite a las APPs trabajar
con los perifricos. Es precisamente este ADM, el que utiliza
las operaciones del Kernel que interactan con los Drivers.
ADM de RED. Gestiona todo lo concerniente a los datos que
transitan por la Red.

36

4.2. Los Administradores

37

Al igual que el Kernel, un Administrador del SO, se


presenta como un conjunto de procedimientos o funciones
que pueden ser usados por las APPs. Por ejemplo:
class DeviceAdm{

//Adm de Dispositivos. En la realidad, un ADM no es

una class.

void setScreenResolution(byte modo){ //Cambia la resolucion de la


pantalla.
if (Kernel.getMode() != modo)
Kernel.setMode(modo);
}
byte getScreenResolution(){ //Obtiene el nro que indica la resolucin de
pantalla.
return Kernel.getMode();
}

}
Aunque
este ejemplo es muy pequeo, en l se puede
apreciar como el ADM implementa sus operaciones,
comunicndose con el Kernel.

4.2. Los Administradores

38

Problema 5.

En general, un usuario de Windows corre


Administradores, para gestionar algn perifrico o
elemento del Sistema
(e.g. El ADM de Tareas, ADM de
Impresin,
etc).
Dnde
se
localizan
stos
Administradores?
Respuesta
En realidad son
Aplicaciones
(APPs)
y
no
Administradores*,
en
el
contexto de un SO.
A stas APPs le suelen llamar
Manager (MGR), que al espaol
lo traducen como Administrador.
Por ejemplo, El ADM de tareas
es una APP, cuyo ejecutable se
llama taskmgr.exe
*Siempre se debe recordar que los Administradores de un SO no tienen ventanas, y por
lo tanto el usuario humano no puede verlos.
Sin embargo, excepcionalmente, un ADM
mostrar un mensaje cuando ocurra un error grave en el Sistema (a esto se le denomina
Panic).
El mensaje de error ms temido en Windows es el emitido por el ADM de
Dispositivos: La pantalla azul.

4.3. El Shell

39

Wikipedia: El shell o intrprete de rdenes o


intrprete de comandos es una App que
provee una interfaz de usuario para acceder
a los servicios de un Sistema Operativo.
Dependiendo del tipo de interfaz que empleen, los
shells pueden ser:
Shell-CLI,
texto).
Shell-GUI,
grficos).

Command-Line
Graphical

User

Interface

(solo

Interface

(con

4.3. El Shell

40

Shell CLI (texto) del MSDOS.


Ejecutable: cmd.exe

Shell GUI (grfico) de


Android.
Tambin se le llama
launcher.

Shell GUI (grfico) de


Windows.
Ejecutable: explorer.exe

Shell GUI (grfico) de Linux


Fedora.

4.4. Implementacin Monoltica

41

Wikipedia: Un Kernel Monoltico* es una


arquitectura de SO donde ste en su totalidad
trabaja en el espacio del ncleo. Difiere de
otras arquitecturas en que solo define una
interfaz virtual (capa) de alto nivel sobre el
hardware del ordenador.

En un Kernel Monoltico, un conjunto primitivo de


llamadas al sistema implementa todos los servicios
propios del SO tales como la Administracin de
procesos, Administracin de memoria, etc.
*La palabra Monoltico, segn la Real Academia Espaola , quiere decir Que
est hecho de una sola piedra. Entonces, en Informtica:
Software Monoltico = Software implementado en un solo mdulo.

4.4. Implementacin Monoltica

42

La implementacin monoltica fue la primera en ser


usada y an se sigue usando (Unix, Linux, Windows
9x, Android).
Por ste motivo, es muy comn
llamarle Kernel a TODO el Sistema Operativo.
As, la visin bsica de un SO se
reduce al diagrama de la
derecha, la misma que es
comnmente
mostrada
en
asignaturas de Introduccin a la
Informtica.

Aplicacio
nes
Sistema
Operativo
(Kernel)

Los
SO
monolticos
son
Hardwa
eficientes y rpidos en su
re
ejecucin
y
gestin,
pero
Este diagrama se ampla en la siguiente diapositiva
carecen de flexibilidad para

4.4. Implementacin Monoltica


Aplicacio
nes

Capa de llamadas al Sistema


(API)
Adm
Adm

Drivers
Procesos Memoria
Manejo de Interrupciones I/O

Hardwa
re

Escrito
en
lenguaje
C

Esta parte sera


el ncleo de un
Monoltico, pues
se escribe en el
lenguaje mquina
del Hw donde el
SO corre.

43

44

Apndice. Trminos muy utilizados


Boot = Es el proceso que inicia el SO cuando se
enciende una computadora.
Se encarga de la
inicializacin del sistema y de los dispositivos.
Por ejemplo, si encendemos una computadora con Windows,
veremos
en la pantalla, y as sabremos que el SO est haciendo el Boot.

Shutdown = Proceso inverso al boot. El SO guarda


datos en el Disco y deja de administrar a la
computadora.
Dado que, generalmente, luego de un shutdown la computadora se
apaga, a sta accin se le suele llamar Apagar (Equipo)

Reboot, Restart o Reiniciar = shutdown + boot.


Kill = Terminar un proceso (en el ADM-Tareas, click a
)
Foreground-Process = Es un Proceso corriendo en

45

Apndice. Trminos muy utilizados


Este programa donde est usted viendo esta diapositiva, es un claro
ejemplo de un Foreground-Process (proceso en primer plano). En
general, un estudiante de Cs. de la Computacin siempre desarrolla
Apps (programas) que corren en primer plano.
En el ADM-Tareas de Windows, a los Foreground-Process se los observa
en la tab (pestaa) Aplicaciones.

Background-Process = Es un Proceso corriendo en


Segundo Plano o detrs de escena. Estos procesos
NO tienen ventanas y corren con poca o ninguna
interaccin con el usuario humano.
En el ADM-Tareas de Windows se los identifica, porque aparecen en la
tab Procesos, pero no en la tab Aplicaciones (e.g. winlogon.exe).

Daemon o Demonio = (Disk And Execution MONitor)


Es un Background-Process que corre continuamente
(nunca finaliza por sus propios medios) y verifica la
ocurrencia de un evento o condicin.
Por ejemplo, en Windows, el daemon llamado ShellHWDetection

You might also like