You are on page 1of 45

SISTEMAS OPERATIVOS

Conceptos
Introductorios

Septiembre Gino Barroso


2
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).
3
1. Qu es un Sistema Operativo?
Para quines el SO administra?
Para los PROCESOS.

Cules son los recursos del


hardware?
Sera bastante largo enumerar todos los recursos
del hardware (Hw). Sin embargo, podemos
agruparlos en cinco rubros:
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.
4
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

SO
Guardar

Imprimir

winword.exe
Imprimir
Disco Duro (HD)
Tu documento se
imprimir, despus
del de Word
2. Qu es un Proceso? 5

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? 6

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
Tambin se maneja
pueden Apps quealmacenar
se guardan en archivos en archivos
con extensin sinSin
.bin o .com.
extensin.
embargo, stos son poco usados actualmente, pues el formato de los mismos data de la dcada de
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? 7

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? 8

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? 9

RAM

Esto es
un archivo

calc.ex
e
La CPU ejecuta
dob El SO sube (proceso) (corre) el cdig
le (carga) el del proceso,
clic archivo a que program
k la RAM 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


10
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
Actualmente, son: Windows,
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).
11
3. Tipos de Sistemas Operativos
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
12
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
13
3. Tipos de Sistemas Operativos
Si la computadora tiene un SO
Monoproceso
RAM RAM

RAM
winwor wmpla
d yer
.exe .exe

La persona ejecuta Para Cuando Word La persona ahora


Word y se pone a escuchar finaliza, el SO lo puede cargar el
trabajar con ste msica, no saca de la Reproductor y
proceso. Pero, luego tiene ms memoria. Es decir, escuchar msica.
desea escuchar remedio que le quita el recurso
msica cerrar Word. (RAM) al proceso
winword.exe.
14
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?
Proces
Photoshop
Excel Word o*
ViceCity
Cajer
o
(CPU)

calc.exe
RAM

Clientes
(APPs)
* Es un Proceso, porque sta APP est cargada en la RAM y est siendo
atendida por la CPU.
15
3. Tipos de Sistemas Operativos
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)
calc.exe
Guardar
chrome.exe Como
wmplayer.exe prueba.bat

Ejecucin del archivo batch


(.bat)
dob
le
clic
k

prueba.bat
1) Corre (Para correr el 2) Luego de (Finalizamos 3) Ahora corre
calc.exe. prox proceso, finalizado chrome.exe) wmplayer.exe
debemos calc.exe, corre
finalizar chrome.exe
calc.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
* De Wikipedia: Una en sao Computadora.
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 21

Por
SO
ejemplo. Multiusua
rio
SO
Multiusuar
io

r
ido
rv
Servidor

Se
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.

Lo que si puedo afirmar, es jose pepe mario carlos

que el SO maneja cuentas


de usuario o user
accounts. As, cada
usuario que usa mi
computadora, tendr su
propio ambiente de trabajo
(escritorio),
*De Wikipedia: En el mbito permiso y informtica, log-in o log-on (ingresar, entrar,
de la seguridad
acceso
iniciar a ciertas
sesin) APPs,
es el proceso mediante el cual se controla el acceso individual a un
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).
25
3. Tipos de Sistemas Operativos

Resumen

o Monoprocesos Monousuarios

Tipos de Sistemas
Operativos
Monousuarios
o Multiprocesos
Multiusuarios
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.
SHEL
Aplicacio APPs
L
nes Administradores
ADM
s S
Kernel
Kernel (Ncleo) O
(Ncleo)

Mquina
desnuda
(Hw sin Sw)
SHELL

Este diagrama es el ms conocido Diagrama Plataforma o Soporte.


de todos y es llamado Diagrama Muestra al SO como sosteniendo a
Cebolla o de Estratos 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.
Tarjet
Kern 10010011
a
el (Cambiar a res.
Vdeo
1366x768)

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
28

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).
4.1. El Kernel
29

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.
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
LEDs. Dispositivo
ACME
En esta grfica, se
Kern 00 observa al Kernel
el (Emitir pitido) envindole al
pip
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

Dispositivo
0 100 ACME2

1 101
Kern Driver de
2 ACME2 110
el
3 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
36

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. Es el
encargado de asignar la(s) CPU(s) a los procesos.

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.
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, Command-Line Interface (solo


texto).
Shell-GUI, Graphical User Interface (con
grficos).
4.3. El Shell
40

Shell CLI (texto) del MS- Shell GUI (grfico) de


DOS. Android.
Ejecutable: cmd.exe Tambin se le llama
launcher.

Shell GUI (grfico) de Shell GUI (grfico) de Linux


Windows. Fedora.
Ejecutable: explorer.exe
41
4.4. Implementacin Monoltica

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.
42
4.4. Implementacin Monoltica

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 Aplicacio
nes
reduce al diagrama de la
derecha, la misma que es
comnmente mostrada en Sistema
asignaturas de Introduccin a la Operativo
Informtica. (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
43
4.4. Implementacin Monoltica

Aplicacio Escrito
nes en
lenguaje
C

Capa de llamadas al Sistema


(API)
Adm Adm
Drivers
Procesos Memoria Esta parte sera
Manejo de Interrupciones I/O el ncleo de un
Monoltico, pues
se escribe en el
lenguaje mquina
del Hw donde el
SO corre.
Hardwa
re
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