Sie sind auf Seite 1von 110

Programacin de sistemas operativos

Programa desarrollado
Carrera:
Desarrollo de Software
Cuarto cuatrimestre
Programa de la asignatura:
Programacin de Sistemas Operativos
Clave:
1609201! " 1!09201!
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 1
Programacin de sistemas operativos
Programa desarrollado
+ndice
&, &-.O/01C&2- 3#-#/14 D# 41 1S&3-1)5/1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 6
a, .ic7a de identificacin,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 7
8, Descripcin,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 7
c, .undamentacin terica de la asignatura,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 8
d, Propsito,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 9
e, Competencia9s: a desarrollar,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 9
f, )emario,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 10
g, 0etodolog'a de tra8a;o,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 11
7, #valuacin,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 12
i, .uentes de consulta,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 13
&&, D#S1//O44O D# CO-)#-&DOS PO/ 5-&D1D,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 1
5-&D1D 1, 1D0&-&S)/1C&2- D# P/OC#S1DO/% 0#0O/&1 <
D&SPOS&)&=OS #"S,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 1
Propsito,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 15
Competencia espec'fica,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 15
Presentacin de la unidad,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 15
1ctividad 1, Presentacin,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 16
1,1, Procesador,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 16
1,1,1, Definicin ( conceptos,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,18
1,1,2, Procesos e 7ilos,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 19
1,1,>, 0ultiprocesamiento,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 24
1,1,, Paralelismo,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 24
1ctividad 2, 1dministracin del Procesador,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25
1,2, 0emoria,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 26
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 2
Programacin de sistemas operativos
Programa desarrollado
1,2,1, 1dministracin de la memoria,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,26
1,2,2, ?erar@u'a de la memoria,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 28
1,2,>, 0ultiprogramacin con particiones fi;as ( varia8les,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,28
1,2,, 0emoria real,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 30
1,2,!, 0emoria virtual,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 32
1ctividad >, 0apa conceptual del mane;o de la memoria,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,33
1,>, #ntrada " Salida,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 34
1,>,1, Principios de 7ardware ( software de & " O,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35
1,>,2, Dispositivos ( mane;adores de dispositivos,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,36
1,>,>, 0ecanismos ( funciones de mane;adores de dispositivos,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,38
1,>,, #structura de datos en el mane;o de dispositivos,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,41
1,>,!, Operaciones de # " S,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,43
1ctividad , Dispositivos de #ntrada ( Salida,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,45
1utoevaluacin,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 46
#videncia de aprendiAa;e, 1dministracin del procesador% memoria ( los dispositivos de
entrada ( salida,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 46
Cierre de la unidad,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 47
Para sa8er mBs,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 47
.uentes de consulta,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 48
5-&D1D 2, 1D0&-&S)/1DO/ D# S&S)#01S D# 1/CC&=OS,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 9
Presentacin de la unidad,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 49
Propsito,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 49
Competencia espec'fica,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 50
2,1, Sistemas de 1rc7ivos,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 50
2,1,1, Concepto,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 52
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software >
Programacin de sistemas operativos
Programa desarrollado
2,1,2, ?erar@u'a de datos,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 53
1ctividad 1, Sistema de arc7ivo,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 56
2,2, )ipo de 1rc7ivos,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 56
2,2,1, /eal,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 58
2,2,2, =irtual,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 58
2,2,>, Componentes,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 59
1ctividad 2, )ipos de arc7ivos mBs comunes en sistema operativo,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,60
2,>, OrganiAacin del sistema de arc7ivos% lgica ( f'sica,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,61
2,>,1, Operaciones con arc7ivos,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,63
2,>,2, &mplementacin de arc7ivos,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,64
1ctividad >, 0apa conceptual de la organiAacin del sistema de arc7ivos,,,,,,,,,,,,,,,,,,,,,,67
1utoevaluacin,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 68
#videncia de aprendiAa;e, 0ane;o de arc7ivos en 4inu$ 9de8'an% fedora% 58untu: (
Dindows,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 68
Cierre de la unidad,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 69
Para sa8er mBs,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 69
.uentes de consulta,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 69
5-&D1D >, S#35/&D1D < P/O)#CC&2-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 61
Presentacin de la unidad,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 71
Propsito,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 71
Competencia espec'fica,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 71
>,1, #ntorno de Seguridad,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 72
1ctividad 1, Seguridad ( proteccin dentro del diseEo de un sistema operativo,,,,,,,,,,,,,,77
>,1,1, Clasificaciones de la seguridad,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,77
>,1,2, =erificacin de autenticidad de usuarios,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,78
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software
Programacin de sistemas operativos
Programa desarrollado
>,1,>, =alidacin ( amenaAas al sistema,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,79
1ctividad 2 )a8la de elementos @ue afectan la seguridad de un sistema,,,,,,,,,,,,,,,,,,,,,,,,,80
>,2, Concepto ( o8;etivos de proteccin,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,81
>,2,1, 0ecanismos de proteccin,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,82
>,2,2, .unciones del sistema de proteccin,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,83
>,2,>, &mplementacin de matrices de acceso,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,84
1ctividad >, Cuadro sinptico de los mecanismos de proteccin,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,85
1utoevaluacin,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 85
#videncia de aprendiAa;e, Diagrama de flu;o del sistema operativo,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,86
Cierre de la unidad,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 86
Para sa8er mBs,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 87
.uentes de consulta,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 87
5-&D1D , D&S#FO D# S&S)#01S OP#/1)&=OS,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, GG
Presentacin de la unidad,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 88
Propsito,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 88
Competencia espec'fica,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 88
,1, Hase del diseEo de sistemas operativos,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,89
,1,1, 4a visin profesional del diseEo,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,90
,1,2, Cuestiones 8Bsicas so8re el diseEo,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,91
,1,>, Conceptos generales de una ar@uitectura,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,93
,1,, Caracter'sticas diferenciales del diseEo,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,94
1ctividad 1, DiseEo de un sistema operativo,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,95
,2, DiseEo de interfaces,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 95
,2,1, Principios so8re el diseEo de interfaces,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,98
,2,2, Paradigmas,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 98
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software !
Programacin de sistemas operativos
Programa desarrollado
,2,>, 4lamadas al sistema,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,99
1ctividad 2, 1r@uitectura del diseEo del sistema operativo 4inu$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,100
,>, &mplementacin ( desempeEo,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,101
,>,1, #structura del sistema,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 101
,>,2, 0ecanismos en comparacin con pol'ticas,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,104
,>,>, #structuras estBticas o dinBmicas,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,104
,>,, &mplementacin descendente o ascendente,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,105
,>,!, Principios de optimiAacin,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,106
,>,6, 5so de cac7Is,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 106
1ctividad >, Diagrama de flu;o para la implementacin de un SO,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,107
1ctividad , Cmo optimiAar Dindows,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,107
1utoevaluacin,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 108
#videncia de aprendiAa;e, Diagrama de flu;o para diseEar un sistema operativo,,,,,,,,,,,108
Cierre de la unidad,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 109
Para sa8er mBs,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 109
.uentes de consulta,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 110
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 6
Programacin de sistemas operativos
Programa desarrollado
&, &nformacin general de la asignatura
a, .ic7a de identificacin
-om8re de la &ngenier'a:
Desarrollo de software
-om8re del curso o
asignatura
Clave de asignatura:
Programacin de Sistemas Operativos
1609201! " 1!09201!
Seriacin:
-o aplica
Cuatrimestre: Cuarto
Coras contempladas: 62
8, Descripcin
Para @ue una computadora pueda 7acer funcionar alguna aplicacin o programa% de8e
realiAar varias actividades% @ue a veces no nos imaginamos% estas operaciones estBn
dadas con la forma en @ue se comunican el procesador% la memoria ( los dispositivos,
Hien sa8emos @ue una computadora en la actualidad contiene uno o mas procesadores%
memoria /10 ( memoria de almacenamiento tales como discos duros% ademBs de
ranuras de e$pansin en las @ue se colocan tar;etas como tar;etas de video% red% cada uno de
los cuales funcionan de manera transparente a nuestros o;os es decir no nos
preocupamos por el mane;o f'sico simplemente los usamos e;emplo al guardar un arc7ivo en
el disco duro no tenemos @ue manipular como se mueve el lector ( cuantos ( cual
espacio f'sico va a utiliAar ( el como se guarda a7'% para poder controlar esto tendr'amos @ue
ser e$pertos en electrnica ( muc7as mBs cosas,
4a asignatura de Programacin de sistemas operativos es continuidad de la materia
Sistemas Operativos ( primordial para @uienes estBn estudiando una licenciatura en la
@ue se diseEen programasJ por lo mismo% los conocimientos ( 7a8ilidades @ue desarrollen en
este curso serBn indispensa8les para la ma(or'a de las asignaturas su8secuentes del plan de
estudios% tal es el caso de Hases de datos% Programacin orientada a o8;etos% Programacin
we8% #structura de datos% entre otras,
4os estudiantes @ue cursen esta asignatura podrBn deducir la manera en @ue el sistema
operativo lleva a ca8o todos sus controles% para esto se 7a desglosado el contenido de la
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 6
Programacin de sistemas operativos
Programa desarrollado
materia en unidades @ue a8ordan lo siguiente: la primera unidad 7a8la so8re la
administracin del procesador de la memoria ( de los dispositivos de entrada ( salida% la
segunda unidad trata so8re la manipulacin @ue se tiene en el sistema de arc7ivos% la
tercera a8orda cmo los conocimientos de seguridad indispensa8les ( se a8arcarBn
tIcnicas de proteccin de acceso al sistema ( en la cuarta la 8ases el diseEo de interfaces
la implementacin ( el desempeEo @ue implica el diseEo de sistemas operativos
c, .undamentacin terica de la asignatura
4a asignatura de Programacin de Sistemas Operativos% tiene como finalidad principal el
mostrar cmo se programa un sistema operativo% distinguiendo cmo administra el
procesador% la memoria ( los dispositivos de entrada ( salida @ue conocemos tales como
teclado% monitor% mouse% etc, 1s'% al identificar cmo el sistema operativo interactKa con
estos elementos mencionados% determinarBs los procesos @ue se siguen en cada uno de
ellos,
Otra parte importante de esta asignatura es @ue identifi@ues @uI procesos sigue el
sistema de arc7ivos% cmo es mane;ado ( organiAado por el sistema operativo% sin de;ar de
tomar en cuenta la parte de seguridad ( proteccin utiliAando las funciones tIcnicas en
cuanto a pol'ticas ( mecanismos% de Istas,
1plicando las caracter'sticas @ue conforman la parte f'sica de una mB@uina% el mane;o de
arc7ivos% su seguridad ( proteccin% 1s' se podrB diseEar ( entender como es la
implementacin ( el desempeEo del Sistema Operativo,
Desde el inicio en la primera unidad% el estudiante interactuarB con las 7erramientas del aula
virtual% como lo son foros% 8ases de datos, Posteriormente% se llevarBn a ca8o
tra8a;os% as' como tam8iIn se realiAarBn actividades de investigacin @ue complementen los
contenidos% lo @ue permita e;ercitar ( presentar sus evidencias de aprendiAa;e de los temas
vistos en cada unidad,
#l enfo@ue terico metodolgico en el cual se sustenta la asignatura es un enfo@ue mi$to%
donde se considerarBn los siguientes aspectos:
Criterio cuantitativo: nKmero de aportaciones: m'nimo 2"tema a discutir,
Criterio cualitativo a travIs de escalas:
o #$celente: 100
o Hien: G0
o /egular: 60
o &nsuficiente: !0
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software G
Programacin de sistemas operativos
Programa desarrollado
d, Propsito
Si 8ien recordamos un sistema operativo controla ( coordina el 7ardware con el software%
siendo la interfaA de comunicacin entre el 7ardware ( el usuario% 7asta a7ora slo
participB8amos como usuarios del mismo% sin preocuparnos por cmo funciona
realmente,
#$igimos @ue sea rBpido% @ue tenga rendimiento ( 8uena gestin de recursos% es decir
@ue este optimiAando el uso del 7ardware% @ueremos @ue el sistema sea fBcil de usar%
pero rara veA nos preguntamos cmo funciona o cmo controla cada uno de estos
accesos,
#l propsito inicial de esta materia es identificar como el sistema operativo internamente
controla ( coordina al procesador% a la memoria% los dispositivos de entrada ( salidaJ
ademBs cmo mane;a los arc7ivos para un 8uen control% desde luego sin de;ar de tomar en
cuenta los niveles de seguridad ( proteccin @ue e$igimos como usuarios% para lo mBs
valioso @ue mane;amos @ue es la informacin% de manera @ue visualiAamos el SO 9Sistema
Operativo: como el @ue controla ( asigna los recursos,
)eniendo en cuenta todos estos conceptos% se realAa el propsito final de esta materia%
@ue es identificar el diseEo de un sistema operativo% desde su 8ase% su interfaA ( su
implementacin,
e, Competencia9s: a desarrollar
Competencia general:
#mplear las distintas partes @ue conforman un sistema operativo para la administracin
eficaA de los recursos utiliAando las diferentes 7erramientas del diseEo,
Competencias espec'ficas:
Descri8ir la administracin del procesador% memoria ( dispositivos de entrada (
salida para reconocer las caracter'sticas @ue los distingue como interactKan con el
sistema operativo mediante las transiciones entre ellos,
&dentificar el proceso @ue siguen los arc7ivos para la administracin ( 8uen mane;o
de los mismos con el anBlisis mediante la lgica @ue sigue el sistema,
5tiliAar las funciones ( tIcnicas para validar las amenaAas de un sistema como
pol'ticas ( mecanismos mediante la diferenciacin de seguridad ( proteccin,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 9
Programacin de sistemas operativos
Programa desarrollado
1plicar la visin 8Bsica so8re el diseEo% para la implementacin ( desempeEo del
S,O,% mediante el principio de diseEo% con el uso de las diferentes caracter'sticas
de la ar@uitectura @ue lo conforman,
f, )emario
5nidad 1, 1dministracin de Procesador% memoria dispositivos #"S
1,1, Procesador
1,1,1, Definicin ( conceptos
1,1,2, Procesos e 7ilos
1,1,>, 0ultiprocesamiento
1,1,, Paralelismo
1,2, 0emoria
1,2,1, 1dministracin de la memoria
1,2,2, ?erar@u'a de la memoria
1,2,>, 0ultiprogramacin con particiones fi;as ( varia8les
1,2,, 0emoria real
1,2,!, 0emoria virtual
1,>, #ntrada"Salida
1,>,1, Principios de 7ardware ( software de &"O
1,>,2, Dispositivos ( mane;adores de dispositivos
1,>,>, 0ecanismos ( funciones de mane;adores de dispositivos
1,>,, #structura de datos en el 0ane;o de dispositivos
1,>,!, Operaciones de #"S
5nidad 2, 1dministrador de Sistemas de 1rc7ivos
2,1 , Sistemas de 1rc7ivos
2,1,1 Concepto
2,1,2 ?erar@u'a de datos
2,2 , )ipo de 1rc7ivos
2,2,1 /eal
2,2,2 =irtual
2,2,> Componentes
2,> , OrganiAacin del sistema de arc7ivos% lgica ( f'sica
2,>,1 Operaciones con arc7ivos
2,>,2 ?erar@u'a de Datos
5nidad >, Seguridad ( Proteccin
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 10
Programacin de sistemas operativos
Programa desarrollado
>,1 #ntorno de Seguridad
>,1,1 Clasificaciones de la seguridad
>,1,2 =erificacin de autenticidad de usuarios
>,1,> =alidacin ( amenaAas al sistema
>,2 Concepto ( o8;etivos de proteccin
>,2,1 0ecanismos de proteccin
>,2,2 .unciones del sistema de proteccin
>,2,> &mplementacin de matrices de acceso
5nidad , DiseEo de Sistemas Operativos
,1, Hase del diseEo de sistemas operativos
,1,1, 4a visin profesional del diseEo
,1,2, Cuestiones 8Bsicas so8re el diseEo
,1,>, Conceptos 3enerales de una ar@uitectura
,1,, Caracter'sticas diferenciales del diseEo
,2, DiseEo de interfaces
,2,1, Principios so8re el diseEo de interfaces
,2,2, Paradigmas
,2,>, 4lamadas al sistema
,>, &mplementacin ( desempeEo
,>,1, #structura del sistema
,>,2, 0ecanismos en comparacin con pol'ticas
,>,>, #structuras estBticas o dinBmicas
,>,, &mplementacin descendente o ascendente
,>,!, Principios de optimiAacin
,>,6, 5so de cac7Is
g, 0etodolog'a de tra8a;o
#l 1prendiAa;e Hasado en la /esolucin de Pro8lemas como metodolog'a de aprendiAa;e
aplicada a la asignatura permitirB @ue se presenten situaciones diversas para @ue se lleve a
ca8o la aplicacin de diagramas de flu;o ( procedimientos% as' mismo rutinas @ue
permitan e;ercitar ( poner en prBctica conocimientos ( procedimientos @ue promuevan el
reforAamiento de lo aprendido o la resolucin de dudasJ as' como el aprendiAa;e
significativo% al compro8ar los elementos tericos,
1l aplicar este tipo de metodolog'a en la asignatura% tam8iIn se toman en cuenta:
#l uso de las siguientes 7erramientas tecnolgicas: a: un foro general al inicio de la
asignatura cu(o propsito es favorecer la comunicacin ( el conocimiento entre los
estudiantes% 8: foros @ue sirven como 8ase para participar en temas propuestos (
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 11
Programacin de sistemas operativos
Programa desarrollado
o8tener un ma(or conocimiento acerca de los temas de cada unidad ( c: 8ases de
datos para tra8a;ar ta8las descriptivas ( comparativas so8re diversos temas de la
asignatura,
4a realiAacin de actividades formativas% entre las @ue destacan: tareas en las @ue
se analiAa el tema ( se selecciona un e;emplo u otras en las @ue dado un e;emplo
espec'fico se pide entregar documentacin segKn sea solicitado% tam8iIn
investigaciones ( diseEar diagramas como parte final para la aplicacin del
conocimiento ad@uirido,
4a construccin del portafolio de evidencias 9eLportafolio: ela8oracin de cuadro
sinptico para evidenciar el conocimiento ad@uirido% un documento referenciando la
unidad 2 ( diagramas de flu;o para las siguientes unidades @ue refle;an los temas
a8ordados en cada una de las unidades @ue integran la asignatura,
4a realiAacin de actividades de autoLevaluacin @ue den cuenta del grado de
aprendiAa;e ad@uirido ( refuercen los conocimientos,
7, #valuacin
#n el marco del Programa #S1D% la evaluacin se conceptualiAa como un proceso
participativo% sistemBtico ( ordenado @ue inicia desde el momento en @ue el estudiante
ingresa al aula virtual, Por lo @ue se le considera desde un enfo@ue integral ( continuo,
Por lo anterior% para apro8ar la asignatura% se espera la participacin responsa8le ( activa del
estudiante as' como una comunicacin estrec7a con su facilitador para @ue pueda
evaluar o8;etivamente su desempeEo, Para lo cual es necesaria la recoleccin de
evidencias @ue permitan apreciar el proceso de aprendiAa;e de contenidos: declarativos%
procedimentales ( actitudinales,
#n este conte$to la evaluacin es parte del proceso de aprendiAa;e% en el @ue la
retroalimentacin permanente es fundamental para promover el aprendiAa;e significativo (
reconocer el esfuerAo, #s re@uisito indispensa8le la entrega oportuna de cada una de las
tareas% actividades ( evidencias as' como la participacin en foros ( demBs actividades
programadas en cada una de las unidades% ( conforme a las indicaciones dadas, 4a
calificacin se asignarB de acuerdo con la rK8rica esta8lecida para cada actividad% por lo @ue
es importante @ue el estudiante la revise antes realiAarla,
1 continuacin presentamos el es@uema general de evaluacin,
#SM5#01 D# #=1451C&2-
#valuacin &nteracciones individuales (
continua cola8orativas
10N
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 12
Programacin de sistemas operativos
Programa desarrollado
#Lportafolio, !0N
#$amen
C14&.&C1C&2-
.&-14
)areas >0N
#videncias 0N
1utorrefle$iones 10N
10N
100N
Ca8e seEalar @ue para apro8ar la asignatura% se de8e de o8tener la calificacin m'nima
indicada por #S1D,
i, .uentes de consulta
Hi8liograf'a 8Bsica
Stallings% D, 92006: Sistemas Operativos, 0I$ico: Pearson Prentice Call,
Stallings% D, 92006: Sistemas Operativos: aspectos internos ( principios de diseEo,
Pearson Prentice Call,
)anen8aum% 1, 9200>: Sistemas Operativos 0odernos, 0I$ico: Pearson Prentice
Call,
)anen8aum% 1, 92009: Sistemas Operativos: diseEo e implementacin, 0I$ico:
Pearson Prentice Call,
Hi8liograf'a complementaria
0orera% ?, ( PIreA% ?, 92002: Conceptos de Sistemas Operativos, 0adrid: Comillas,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 1>
Programacin de sistemas operativos
Programa desarrollado
&&, Desarrollo de contenidos por unidad
5nidad 1, 1dministracin de Procesador% memoria ( dispositivos #"S
#l procesador esta formado por planificadores en los cuales se decide @ue se va a
e;ecutar primero ( @ue se e;ecuta despuIs% ademBs de a @ue le va a dar respuesta de
manera inmediata ( @ue puede esperar% todo esto con la finalidad de optimiAar varios
puntos tales como: velocidad en respuesta% certeAa% e$celencia en respuesta% etc,%
entendiendo as' a los planificadores como las partes lgicas del procesador @ue analiAan
los datos reci8idos ( toman decisiones de respuesta en cuanto velocidad ( prioridad,
#$isten diferentes tipos de planificadores en un procesador los cuales se enlistan a
continuacin:
Planificador a largo plaAo: #n este% el procesador decide el orden de e;ecucin
con una adecuada organiAacin de los recursos para @ue el tra8a;o se e;ecute de
forma ordenada ( eficiente segKn el modo de procesamiento,
Planificador a medio plaAo: #ste planificador es responsa8le de cargar (
descargar tra8a;os desde el disco a la memoria ( de la memoria al disco
considerando el grado de so8recarga del sistema,
Planificador a corto plaAo: #s @uien decide cuBndo% cmo ( por cuBnto tiempo
reci8e el procesador un proceso @ue estB preparado para e;ecutar,
1s' consideraremos como primer componente para @ue un sistema operativo funcione es el
procesador,
#l segundo componente es la memoria% la principal necesidad para cual@uier sistema
operativo es el @ue la memoria sea rBpida para @ue al e;ecutar una instruccin el CP5 o
procesador% no se vea afectado por la memoria de 8a;o rendimiento,
Dentro de un sistema operativo% la memoria no es el Knico recurso @ue de8e
administrarse% los dispositivos de #ntrada"Salida tam8iIn interactKan con el sistema
operativo ( por lo regular constan de dos partes: una tar;eta controladora ( el dispositivo en
s'% la tar;eta controladora es un c7ip o un con;unto de c7ips montados en una tar;eta
inserta8le% @ue controla f'sicamente al dispositivo, Dic7a controladora acepta comandos del
sistema operativo ( los e;ecuta,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 1
Programacin de sistemas operativos
Programa desarrollado
Considerando entonces @ue el tercer componente son los dispositivos en si, 4os
dispositivos tienen interfaces relativamente simples% de8ido a @ue no tienen muc7a
capacidad para estandariAarlos% esto Kltimo es necesario para @ue cual@uier controladora de
disco &D# pueda mane;ar cual@uier disco &D# 9#lectrnica &ntegrada en la 5nidad% integrated
drive electronics, Por sus siglas en ingles:,
Propsito
&dentificar cmo el Sistema Operativo interactKa% mane;a el control del procesador ( sus
procesos% de la memoria ( sus tipos particiones ( administracinJ sin de;ar de tomar en
cuenta el control de los dispositivos de #"SJ sus principios% mane;adores% mecanismos%
estructuras ( operaciones,
Competencia espec'fica
Descri8ir la administracin del procesador% memoria ( dispositivos de entrada ( salida
para reconocer las caracter'sticas @ue los distingue como interactKan con el sistema
operativo mediante las transiciones entre ellos,
Presentacin de la unidad
Hienvenido9a: a la asignatura de Programacin de Sistemas Operativos, #n esta primera
unidad tra8a;aremos ( entenderemos so8re como el Sistema Operativo 7ace uso del
procesador administrBndolo en cual si 8ien recordamos es el cere8ro de la computadora
o donde se realiAan las operaciones tam8iIn es conocido como CP5% las partes @ue lo
forman% como cam8ia de un proceso a otro% como manipula las actividades ( entender
como es @ue controla varios procesos a la veA o los 7ace en forma paralela una veA @ue
entendamos como el Sistema Operativo administra el procesador entenderemos como
controla los accesos a la memoria descargando ( cargando informacin en ella% se
entenderB la diferencia entre memoria real ( virtual ( para @ue se usa cada una de ellas (
por ultimo la gran venta;a de controlar las operaciones @ue se realiAan en los dispositivos
de entrada ( salida ,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 1!
Programacin de sistemas operativos
Programa desarrollado
1ctividad 1, Presentacin
Como primer actividad en el estudio de la asignatura% te presentamos un foro de
discusin general% creado para @ue comentes asuntos relacionados con la asignaturaJ en Il%
conocerBs a tus compaEeros de grupo% entre todos podrBn apo(arse% resolver dudas e
in@uietudes ( e$ternar comentarios,
ComienAa tu participacin% ingresando al aula ( en la 1ctividad 1,Presentacin,
1,1, Procesador
#l procesador o 5nidad Central de Procesamiento comKnmente conocido como CP5 por
sus siglas en ingles Central Processing 5nit% es la unidad @ue procesa todas las tareas
@ue realiAara la computadora% permitiendo el procesamiento de informacin numIrica
ingresada en formato 8inario% as' como el proceso de instrucciones almacenadas en la
memoria,
#l CP5% es un dispositivo electrnico el cual funciona enviando pulsos elIctricos a raAn
de CertA% un CP5 con !0 0CA enviarB !0,000,000 pulsos elIctricos por segundo donde el
procesador e;ecuta una accin @ue corresponde a su veA a una instruccin o 8ien a una
parte de ella,
4a medida CP& 9ciclos por instruccin: representa el nKmero promedio de ciclos
necesarios para @ue el microprocesador e;ecute la instruccin,
4a potencia del microprocesador se mide por el nKmero de instrucciones por segundo
@ue es capaA de procesar,
Cada CP5 e;ecuta un con;unto de instrucciones espec'ficas a su ar@uitectura% por lo tanto no
se pueden e;ecutar programas de una ar@uitectura de un tipo de procesador a otro con
estructura de mane;o de proceso diferente, Puesto @ue tener acceso a la memoria para
o8tener una instruccin o una pala8ra de datos tarda muc7o mBs @ue e;ecutar una
instruccin% todas las CP5s contienen algunos registros para guardar varia8les
importantes ( resultados temporales, 1s' el con;unto de instrucciones por lo general
inclu(en instrucciones para cargar una pala8ra de la memoria en un registro% ( para
almacenar en la memoria una pala8ra @ue estB en un registro,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 16
Programacin de sistemas operativos
Programa desarrollado
O#l sistema operativo de8e tener conocimiento de todos los registros% al multiple$ar en el
tiempo el CP5% es comKn @ue el sistema operativo tenga @ue detener el programa en
e;ecucin para iniciar o reiniciar otro, Cada veA @ue el sistema operativo detiene un
programa en e;ecucin% de8e guardar todos los registros para @ue puedan resta8lecer
cuando el programa continKe su e;ecucin ;usto donde se @uedP 9)anen8aum% 200>: 22:
#n la actualidad muc7as CP5 cuentan con recursos para e;ecutar mBs de una instruccin a la
veA% una CP5 podr'a tener unidades individuales para tomar% decodificar ( e;ecutar de modo
@ue mientras estI e;ecutando la instruccin% tam8iIn pueda estar decodificando la instruccin
nQ1 ( tomando la instruccin nQ2,
#l procesador realiAa e interpreta una serie de instrucciones contenidas de un software (
procesa los datos @ue este genera, #$isten un gran nKmero de modelos ( marcas de
procesadores @ue van dependiendo del tipo de socRet% CoreClocR% .SH% Cac7e% etc,
&nstrucciones% es una operacin @ue el procesador de8e de realiAarJ esas instrucciones se
almacenan en la memoria principal del procesador% ( utiliAan dos campos: Cdigo de
operacin @ue representa la accin @ue el procesador de8e e;ecutar, Cdigo operando% @ue
es el @ue define los parBmetros de la accin,
4as instrucciones se agrupan a su veA en categor'as como:
1cceso a 0emoria: #s la transferencia de informacin entre registros,
Operaciones 1ritmIticas: #s la parte @ue se encarga de realiAar las operaciones
tales como suma% resta multiplicacin o divisin,
Operaciones lgicas: #n esta se encarga de realiAar las operaciones <% O% -o% etc,
Control: Se encarga de realiAar las cone$iones condicionales% etc,
De8ido a la e$clusin de elementos de 7ardware comple;os% la realiAacin del
tra8a;o por la capa de software% los procesadores poseen una estructura interna
simple ( mu( eficiente% compuesta por:
5nidades enteras 9&nteger 145:,
5nidad de coma flotante 9floating point unit:,
5nidad de memoria para operaciones de lectura ( escritura 94oad"Staore 5nit:,
5nidad de salto 9Hranc7 unit:,
1l e;ecutarse todas las instrucciones la informacin @ue se genera se almacena de forma
temporal en u8icaciones de memoria local% denominada registros,
1lgunos de los registros comKnmente utiliAados son:
1cumulador 91CC:% almacena los resultados de las instrucciones de operacin
1ritmItica ( lgica,
#stado 9PSD:% contiene los indicadores de estado del sistema,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 16
Programacin de sistemas operativos
Programa desarrollado
&nstruccin 9/&:% almacena las instrucciones @ue se va procesando,
Contador ordinal 9OC:,
Casi todas las computadoras tienen varios registros especiales @ue puede ver el
programador, 5no de ellos es el contador de programa% el cual contiene la direccin de
memoria en la @ue se encuentra la siguiente instruccin @ue serB tomada, 5na veA
o8tenida esa instruccin% el contador de programa se actualiAarB de modo @ue apunte a
su sucesora, Otro registro es el apuntador de pila% @ue apunta a la parte superior de la pila
actual en la memoria, 4a pila contiene un marco por cada procedimiento en el @ue se 7a
entrado% pero del cual no se 7a salido aKn, #l marco de pila de un procedimiento contiene
los parBmetros de entrada% varia8les locales ( varia8les temporales @ue no se guardan en
registros,
1,1,1, Definicin ( conceptos
#l procesador es el encargado de procesar los datos @ue estBn almacenados en una
computadora para producir cual@uier tipo de informacin de interIs para los usuarios,
5n microprocesador se divide en dos componentes 8Bsicos% los cuales son:
1, 4a unidad lgica"aritmItica 9145:% @ue realiAa operaciones aritmIticas ( lgicas%
dadas a travIs de microprogramacin,
2, 4a unidad de control 9C5:% @ue e$trae instrucciones de la memoria% las descifra (
e;ecuta% llamando a la 145 cuando es necesario% sincroniAa todas las operaciones
de Breas de almacenamiento principal llamadas registros ( memoria cac7I,
#l procesador necesita para su funcionamiento de ciertas Breas de almacenamiento ( @ue
son de dimensiones m'nimasJ sin em8argo% tienen la venta;a de su rapideA, Comparados con
los accesos a /10% los registros son como m'nimo 10 veces mBs veloces,
#$isten registros llamados 1S% HS% CS ( DS% cada uno de ellos tienen asignada una
actividad espec'fica,
1S, -om8rado acumuladorJ contiene el operador @ue interviene en las
operaciones aritmIticas ( lgicas, #n general las instrucciones @ue tra8a;an con
este registro tienen un micro cdigo mBs simple @ue la misma instruccin
e;ecutada con otro registro,
HS, Conocido como registro 8ase% comKnmente la tarea de este registro se 8asa
en identificar la direccin o 'ndice de cada registro dentro de una ta8la de valores
para su direccionamiento,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 1G
Programacin de sistemas operativos
Programa desarrollado
CS, #s el contador% las instrucciones @ue se realiAan durante un proceso dentro
del sistema operativo conocidas como 8ucle 94OOP: utiliAan este registro como
contador de n veces @ue un ciclo repite dentro de un proceso,
DS, /egistro de datos multiuso% se utiliAa en operaciones de multiplicacin (
divisin ;unto con 1S% su aplicacin suele estar dentro de operaciones de
entrada"salida de puertos &-"O5),
4os registros de segmento son utiliAados para integrar las direcciones de otros
segmentos% para su aplicacin en con;unto con otros registros @ue seEalan las direcciones
concretas dentro de estos segmentos% lo cual permite la gestin total de la memoria
direccional% ( para estos segmentos 8Bsicamente se contemplan tipos:
Segmento de cdigo CS, 1punta la u8icacin del segmento de cdigo del
programa el cual se estB e;ecutando en ese instante,
Segmento de datos DS, SeEala la u8icacin del segmento de datos del programa
en e;ecucin,
Segmento de Pila SS, 1punta la u8icacin del segmento donde estB la pila del
programa en e;ecucin,
Segmento e$tra #S, #s un segmento au$iliar% es utiliAado para indicar la e$istencia
de espacio e$tra de algunos de los segmentos anteriores% es Ktil tam8iIn para
guardar de forma temporal las direcciones intermedias entre segmentos,
4os registros de puntero estBn destinados a contener direcciones @ue son
desplaAamientos dentro de los segmentos indicados por los registros de segmento,
Puntero de instruccin &P ( contador de programa PC% esta8lece la direccin de la
instruccin e indican el desplaAamiento de la instruccin siguiente a e;ecutar @ue
u8ica dentro del segmento CS,
Puntero de Pila SP, SeEala la u8icacin final de la pila dentro del segmento de pila
SS,
Puntero 8ase HP, SeEala el desplaAamiento donde se encuentra el origen de la
Aona ocupada por las varia8les dinBmicas,
)am8iIn% dentro de los registros se encuentra uno especial llamado registro de estado
9.413S:% es un indicar del estado del procesador ( el resultado de algunas operaciones% (a
@ue su funcin se 8asa en el mane;o de 8its @ue actKan como semBforo,
1,1,2, Procesos e 7ilos
Puede considerarse como definicin de un proceso% a la e;ecucin de un programa dentro
de un sistema operativo el cual puede necesitar de ciertos recursos determinantes para su
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 19
Programacin de sistemas operativos
Programa desarrollado
e;ecucin tales como: )iempo de CP5% arc7ivos de #ntrada"salida% dispositivos de
Tentrada"salida% ( memoria principalmente% todos los recursos @ue utiliAa se asignan al
proceso en el momento de @ue es creado o 8ien al momentos de ser e;ecutado, Ca8e
mencionar @ue cada uno los procesos puede tener su propia CP5 virtual,
5na gran ma(or'a de los sistemas% los procesos suelen ser la determinante para la
realiAacin de los tra8a;os, Cada sistema contiene sus propios procesos% ( se dividen en
los procesos del sistema operativo @ue son los encargados de e;ecutar el cdigo del
sistema ( los procesos de usuarios encargados de e;ecutar el cdigo del usuario% por lo
tantos estos procesos se pueden e;ecutar de manera simultBnea para la realiAacin de
tareas interactivas,
Durante la e;ecucin del cdigo de un proceso% tam8iIn utiliAa la actividad actual @ue esta
representada por el valor del contador de programa ( por los contenidos de los registros del
procesador, Por lo general de la misma forma% un proceso tam8iIn inclu(e la pila del proceso%
lo cual puede contener los datos temporales: parBmetros de funciones%
direcciones de retorno ( las varia8les locales ademBs de una seccin de datos @ue
contienen las varia8les glo8ales,
5n proceso puede incluir una acumulacin de memoria% @ue es asignada de forma
dinBmica al proceso en tiempo de e;ecucin% en la siguiente imagen% se presenta la
estructura de un proceso u8icado dentro de la memoria% indicando el estado @ue va
tomando a medida @ue el proceso es e;ecutado,
&magen 1, #;ecucin de un proceso u8icado en la memoria 9Sil8ersc7atA% 2006:6:
4a diferencia e$istente entre un programa ( un proceso% se tiene @ue un programa por su
estructura propia no es un proceso (a @ue es una entidad pasiva por e;emplo un arc7ivo lleva
incluido una cantidad de instrucciones @ue se almacenan en disco, 5n proceso es una
entidad activa% la cual contiene las instrucciones @ue se de8en e;ecutar ( un con;unto de
recursos asociados a los registro del cpu para su funcionamiento,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 20
Programacin de sistemas operativos
Programa desarrollado
5n programa se convierte en proceso al cargarse en memoria% lo cual lo convierte en
arc7ivo e;ecuta8le, Considerando un e;emplo @ue a(ude a distinguir la diferencia% consiste
en una persona @ue se dedica a la construccin% el cual estB a punto construir una casa,
Para esto cuenta con planos de la construccin ( todo el material necesario para realiAar
la o8ra: Cemento% Cal% 1rena% )a8i@ues% =arilla% 1lam8re% Clavo% 0adera% etc,% en este
e;emplo los planos es el programa% la persona de la construccin es el CP5 ( los
elementos o materiales para la construccin son los datos de entrada, #l proceso es la
actividad de la persona de la construccin consistente en leer los planos% o8tener los
materiales ( construir la casa,
4a idea del proceso consiste en @ue es una actividad de algKn tipo: tiene programa%
entrada% salida ( un estado, Se puede compartir un procesador entre varios procesos%
usando algKn algoritmo de planificacin para determinar cuBndo de8e de;arse de tra8a;ar en
un proceso para atender a uno distinto,
4a ;erar@u'a de los procesos @ue mane;an el concepto de proceso de8e contar con algKn
mecanismo para crear todos los procesos necesarios% en los sistemas mu( sencillos o en los
diseEados para e;ecutar slo una aplicacin es posi8le @ue% cuando el sistema se
inicia% todos los procesos @ue puedan necesitarse estIn presentes, Sin em8argo% en la
ma(or parte de los sistemas se necesita algKn mecanismo para crear ( destruir procesos
segKn sea necesario durante la operacin,
#n el estado de procesos% aun@ue cada proceso es una entidad independiente% con su
propio contador de programa ( estado interno% los procesos a menudo necesitan
interactuar con otros procesos, 5n proceso podr'a generar ciertas salidas @ue otro
proceso utiliAa como entradas,
0ientras un proceso es e;ecutado va modificando el estado% dependiendo de la actividad
@ue este en memoria% en la siguiente imagen se muestra el estado de un proceso
1. Un proceso se bloquea para aceptar entradas
2. El planificador escoge otro proceso
1 Eecut!ndose
3
"loqueado
4
3. El planificador escoge este proceso
2 4. #a$ entradas disponibles
%isto
&magen 2, 5n proceso puede estar en el estado de e;ecutBndose% 8lo@ueado o listo, 4as
transiciones entre estos tres estados son las @ue se muestran 9)anen8aum% 200>:!1:
Ca8itualmente% la ma(or'a de los procesos estBn creados por el sistema operativo de tal
forma @ue los usuarios o el programa de aplicacin no conoc'an su procedencia, Sin
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 21
Programacin de sistemas operativos
Programa desarrollado
em8argo% es 8astante Ktil para el rendimiento de memoria ( administracin de recursos
dentro de los procesos del CP5% @ue de un proceso se pueda derivar otro proceso% el
nuevo proceso se podr'a e;ecutar de forma paralela con la aplicacin ( podr'a ser activado
cada @ue se mande a llamar,
Durante el 8lo@ueo de control de procesos en un sistema operativo% es representado
mediante un 8lo@ue de control de procesos, 5n 8lo@ue puede integrar algunos de los
elementos de informacin @ue especifi@uen el estado de un proceso% algunos de estos
elementos se tiene:
#stado del proceso, #n este estatus el proceso puede tomar la forma 8Bsica de
inicio% nuevo% listo% e;ecutando% en espera% detenido% finaliAado% etc,
Contador de programa, #l contador de programa identifica la u8icacin de la
siguiente instruccin @ue se e;ecutara por el proceso,
/egistros en CP5, 4os diferentes registro @ue se pueden utiliAar para el proceso
dependen del tipo ( nKmero as' como de la ar@uitectura del CP5% para estos
registros se inclu(en los (a tratados en tema anterior,
#stado ( planificacin de CP5, 4a planificacin de CP5 esta8lece @ue proceso
tiene ma(or prioridad para el 8uen funcionamiento ( mane;o de recursos,
1dministracin de memoria, 0uestra la valor de los registros% ta8lar de pBginas (
de segmentos,
&nformacin conta8le, #ste elemento contiene la cantidad de CP5 de tiempo real
empleado% l'mites de tiempo asignados ( nKmeros de cuenta,
#stado de #"S, #ste elemento muestra la lista de los dispositivos de #"S asignados
al proceso,
Por otro lado la finaliAacin de un proceso% de8e ser determinante @ue un proceso indi@ue
la finaliAacin de su tarea, Para esto la aplicacin de8erB detectar una llamada o peticin
e$plicita so8re el servicio del sistema operativo @ue determine la finaliAacin del proceso
demandante,
Durante un proceso tradicional la e$istencia de 7ilos de control% @ue representa a una
actividad% en un proceso tradicional puede e$istir un solo 7ilo de control ( un solo contador de
programa en cada proceso, Sin em8argo% algunos sistemas operativos modernos
mane;an mKltiples 7ilos de control dentro de un proceso,
4a siguiente imagen presenta un modelo de solicitud donde la e$istencia de un proceso
puede utiliAar 7ilos simples ( mKltiples 7ilos% @ue reci8en solicitudes para procesar el
arc7ivo ( la devolucin de datos o actualiAacin,
#stos 7ilos de control normalmente se llaman slo 7ilos% en la siguiente imagen% se podrB
o8servar tres procesos tradicionales% cada proceso tiene su propio espacio de direcciones
( un solo 7ilo de control, 1 diferencia% en el segundo es@uema se o8serva un solo proceso
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 22
Programacin de sistemas operativos
Programa desarrollado
con tres 7ilos de control, 1un@ue en am8os casos se tienen tres 7ilos% cada uno de ellos
opera en un espacio de direcciones distinto% en tanto al otro caso los tres 7ilos comparten el
mismo espacio de direcciones,
&o'putador
a
&ontador de p!gina
(a)
&o'putadora
#ilo *roceso
(b)
&magen >, 9a: #structura de tres procesos con un 7ilo simple ( espacio de direcciones
distinto, 98: #structura de un proceso con tres 7ilos @ue comparte el espacio de
direcciones 9)anen8aum% 200>: !:
5na determinante de rendimientos es vista en la imagen anterior 98:% Cuando una solicitud
es procesada es entregada a un 7ilo% si este 7ilo se 8lo@uea% los demBs 7ilos pueden
continuar e;ecutBndose de manera @ue se podrBn realiAar nuevas solicitudes (a sea
inclusive de #"S de disco, 1 diferencia del modelo 9a:% no es mu( conveniente (a @ue
todos los 7ilos no comparten el mismo espacio de direcciones ( cac7I de memoria,
1lgunos de los sistemas operativos% anteriormente no utiliAa8an estos procesos ( los 7ilos se
mane;a8an de forma simple de pilas, 4a principal desventa;a @ue se ten'a con este mItodo% si
el 7ilo se 8lo@uea8a el proceso @uedar'a inconcluso,
Para otros sistemas% el sistema operativo utiliAan los 7ilos mKltiples por proceso% esta
forma de 7ilos mKltiples tiene la venta;a del anterior @ue cuando un 7ilo se 8lo@ue% el
sistema operativo selecciona el 7ilo @ue se e;ecutarB enseguida (a sea para el mismo
proceso o un proceso distinto, Para realiAa la planificacin% el Rernel de8erB sa8er la
e$istencia de la ta8la de 7ilos @ue relacione los 7ilos del sistema,
4a diferencia entre un 7ilo simple e 7ilo mKltiple% consiste en el rendimiento @ue var'a de
forma significante uno del otro, 4a modificacin de 7ilos es mBs Bgil cuando la
administracin de 7ilos se realiAa en el espacio de usuario @ue cuando se realiAa una
llamada al Rernel,
<a sea @ue los 7ilos se puedan administrar por el Rernel o en el espacio de usuario% se
introducen varios pro8lemas @ue se de8erBn resolver ( modificar considera8lemente el
modelo de programacin para un me;or rendimiento del sistema operativo,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 2>
Programacin de sistemas operativos
Programa desarrollado
1,1,>, 0ultiprocesamiento
#n sistema operativo @ue tiene mKltiples CP5% puede compartir la carga de
procesamientoJ sin em8argo% el pro8lema de la planificacin se 7ace mBs dif'cil, 4a idea a
enfocar so8re el multiprocesamiento es en 8ase a los sistemas en lo @ue los
procesadores son idInticos% 7omogIneos en relacin a su funcionalidad% e$isten
diferentes limitaciones @ue afectan a la planificacin,
5n mItodo para planificar las CP5 para un sistema multiprocesador consiste en @ue
todas las decisiones so8re la planificacin% el procesamiento de #"S ( varias actividades del
sistema sean administrados por un mismo procesador, 1 este multiprocesamiento asimItrico
pareciera simple% pues solo e$iste un procesador @ue accede a las estructuras de datos del
sistema% minimiAando la necesidad de compartir datos,
Otro mItodo es el multiprocesamiento simItrico% este tiene como cualidad @ue cada uno
de los procesadores se autoLplanifica% ( lo procesos pueden estar en una cola comKn de
procesos preparados% o 8ien cada procesador puede ser propietario de su cola de
procesos preparados de forma independiente% esta mItodo se puede esta8lecer @ue el
planificador de cada procesador analice la cola de procesos preparados ( seleccione un
proceso para e;ecutarlo, 5na programacin eficiente del sistema se considerarB a@uella
en la @ue el procesador pueda seleccionar un proceso @ue este dentro de una estructura
de datos ( @ue dos procesadores no seleccionarBn el mismo proceso ( tam8iIn evitar la
pIrdida de procesos de la cola,
Co( en d'a la ma(or'a o prBcticamente todos los sistemas operativos modernos tienen la
factultad de soportar el multiprocesamiento simItrico% por mencionar algunos de ellos:
Dindows SP ( superior% 4inu$ en todas sus distri8uciones% 0ac OS$% etc,
1,1,, Paralelismo
Para la programacin de sistemas operativos% el tIrmino paralelismo implica la e$istencia de
varios procesadores en el sistema% la tIcnica de programacin paralela determina el poder
dividir la e;ecucin de un proceso en distintos mdulos del sistema,
0ientras la CP5 estB e;ecutando un programa% tam8iIn puede estar le(endo un disco
esto es por@ue la CP5% esto se realiAa en el curso de mu( poco tiempo (a @ue puede
tra8a;ar con varios programas simulando @ue el sistema puede estar realiAando varios
procesos al mismo tiempo, #l termino seudoparalelismo% se utiliAa para refirise a esta
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 2
Programacin de sistemas operativos
Programa desarrollado
rBpida conmutacin de la CP5 entre programas% para diferenciar del verdadero
paralelismo de 7ardware de los sistemas multiprocesador% en el proceso de evolucin de
desarrollo de sistemas operativos se 7a ido me;orando el modelo de procesos
secuenciales @ue facilita el mane;o del paralelismo,
#l paralelismo para los programas puede ser e$plicito donde unas de sus principales
caracter'sticas es @ue el programador especifica mediante una construccin de
concurrencia de e$clusin mutua ( sincroniAacin para determinar la prioridad de los
procesos, #n este mItodo puede ser via8le para utiliAar los procesadores por separado (
e;ecutar cada uno los procesos% por su dificultad de implementacin se pueden generar
varios errores de programacin,
1ctividad 2, 1dministracin del Procesador
Con el fin de refle$ionar so8re el tema de la administracin del procesador% participa en el
foro de esta actividad% realiAando lo siguiente:
1, 1naliAa ( contesta las siguientes preguntas:
UMuI funcin tiene el Procesador dentro del Sistema OperativoV
UCmo interactKan los 7ilos con el procesadorV
UCuBl es la diferencia entre multiprocesamiento ( paralelismoV
2, &ngresa al foro ( genera una nueva entrada para compartir tu respuesta a las
preguntas antes planteadas,
>, /evisa ( comenta las aportaciones de tus compaEeros9as:% analiAa si
concuerdas o no con ellos9as:,
, 1 partir de las aportaciones vertidas en el foro% ela8ora tus conclusiones (
pu8l'calas,
!, /ecuerda consultar la /K8rica de .oro @ue se encuentra en la seccin 0aterial
de apo(o,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 2!
Programacin de sistemas operativos
Programa desarrollado
1,2, 0emoria
4a memoria en un sistema operativo puede llegar a ser un recurso mu( importante el cual se
de8e administrarse con cuidado, 4a memoria principal puede ser considerada como un
arreglo lineal de localidades de almacenamiento de un 8(te de tamaEo% cada localidad de
almacenamiento tiene asignada una direccin @ue la identifica,
4a memoria principal es el lugar donde el CP5 registra las instrucciones @ue se van a
e;ecutar% as' como algunos datos a emplear% una de las funciones 8Bsicas @ue de8e
implementar un Sistema Operativo es la administracin de la memoria para tener un
control so8re los lugares donde estBn almacenados los procesos ( datos @ue actualmente se
estBn utiliAando,
1,2,1, 1dministracin de la memoria
4a administracin de la memoria para un sistema multiproceso% se de8e tener cuidado en la
gestin de este recurso% (a @ue se puede determinar el estado del procesador
dependiendo de la cantidad de procesos @ue se estIn e;ecutando, 4a memoria principal es la
parte donde se e;ecutan los programas ( procesos% este estB definido por el espacio
disponi8le para @ue se puedan e;ecutar los procesos,
4a administracin de la memoria es la encargada de gestionar la ;erar@u'a de los
procesos @ue se e;ecutan dentro de la misma% su principal funcin es el determinar @ue
partes de la memoria real estBn en uso ( @ue partes estBn li8res% tam8iIn asigna memoria
a los procesos cuando la necesitan recuperar ( cuando termina ademBs controla el
intercam8io entre la memoria principal ( el disco cuando la primera es demasiado
pe@ueEa,
Para un sistema operativo la administracin 8Bsica de la memoria se puede dividir en dos
clases% los @ue intercam8ian los procesos entre la memoria ( algKn dispositivo esto
mediante el proceso de e;ecucin, 4a otra clase es lo contrario al anterior pues a@u' estBn
catalogados lo @ue no realiAan el intercam8io ( paginacin,
#l intercam8io ( la paginacin es utiliAada como una tIcnica para las situaciones
causadas memoria principal escasa para mantener todos los programas al mismo tiempo,
#sto reduce el costo de la memoria principal ( aumenta el rendimiento del procesador%
comKnmente es conveniente el replantear la administracin de la memoria a medida @ue
el sistema tenga ma(or crecimiento% pues esto implica @ue la memoria u otro pueden
7acerse o8soletos% (a @ue los sistemas crecen con ma(or rapideA @ue las memorias,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 26
Programacin de sistemas operativos
Programa desarrollado
4a monoprogramacin @ue no tiene intercam8io ni paginacin% es un es@uema mBs simple (
tiene la posi8ilidad de e;ecutar solo un programa a la veA% compartiendo la memoria
entre el programa ( el sistema operativo% en la siguiente imagen plantea > variantes so8re el
estado de memoria,
&magen , )res variantes de organiAacin de la memoria entre un programa ( el sistema operativo,
9)anen8aum% 200>: >10:
#stas variantes de la imagen anterior nos muestra% &magen 9a: &ndica @ue el sistema
operativo puede estar alo;ado dentro de la memoria de acceso aleatorio /10% &magen 98:
&ndica @ue el sistema operativo puede estar alo;ado en la parte superior de la
memoria /O0% memoria de solo lectura% en la variante de la imagen 9c: 4os
controladores de los dispositivos se encuentran en la parte superior de la memoria /O0
seguido de los programas de usuario ( al final del es@uema se encuentra el sistema
operativo por encima de la memoria /10,
#n estos es@uemas anteriores% permite e;ecutar solo un proceso a la veA% para @ue sea
copiado a memoria ( se e;ecute, 1l finaliAar el proceso en el sistema operativo de8erB
mostrar un indicativo @ue muestre @ue estB a la espera de un nuevo comando% asi
entonces el sistema operativo reci8e este nuevo comando para cargar el nuevo programa en
memoria so8reescri8iendo el anterior,
#$isten diferentes tIcnicas para la administracin de la memoria% las cuales se clasifican
como:
0ultiprogramacin con particiones fi;as
0ultiprogramacin con particiones varia8les
Segmentacin
Paginacin
1dministracin de memoria con mapas de 8its
1dministracin de memoria con listas enlaAadas
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 26
Programacin de sistemas operativos
Programa desarrollado
#stas tIcnicas de administracin de memoria% por la capacidad de procesamiento o8liga
muc7as veces a modificar la ar@uitectura computador para o8tener el rendimiento
deseado a partir del nuevo 7ardware,
1,2,2, ?erar@u'a de la memoria
4a ;erar@u'a de memoria sirve para organiAar de forma incremental de pirBmide o niveles% el
principal funcin de este mItodo es conseguir el rendimiento aumentar la velocidad al costo
de una memoria simple,
4os niveles @ue comKnmente conforman la ;erar@u'a de la memoria son:
-ivel 0 de /egistros
-ivel 1 de memoria Cac7e
-ivel 2 memoria principal
-ivel > De Disco duro
-ivel virtual
1s' pues lo @ue se 8usca con la ;erar@u'a de la memoria es esta8lecer una determinante
para la administracin de la memoria,
1,2,>, 0ultiprogramacin con particiones fi;as ( varia8les
#$iste otro es@uema para la administracin de la memoria @ue permite la e;ecucin de
mKltiples procesos en un mismo tiempo% este es@uema es conocido por
multiprogramacin con particiones fi;as, #n los sistemas con tiempo compartido para los
procesos resulta @ue este si se encuentra 8lo@ueado en espera de @ue finalice una #"S%
otro proceso podrB utiliAar la CP5, 1s' se incrementa el rendimiento tanto de la memoria
como del CP5% una posi8ilidad de lograr la multiprogramacin consiste en dividir la
memoria en n particiones (a sea 7omogInea o desigual, 1 la llegada de algKn proceso%
se podrB colocar en la cola de entrada de la particin pe@ueEa @ue puede contener% (a
@ue las particiones estBn fi;as% pero si por algKn motivo el proceso no utiliAo alguna de las
particiones esta serB desperdiciada, #n la siguiente imagen% se ilustra un es@uema con
diferentes tipos de entradas a particiones fi;as,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 2G
Programacin de sistemas operativos
Programa desarrollado
&magen !, #s@uema de particiones fi;as con mKltiples colas de entrada 9a:% particiones
fi;as con cola Knica de entrada 98: 9)anen8aum% 200>: >11:
4a imagen anterior muestra un es@uema de dos tipos distintos de asignacin de procesos
mediante las colas de entrada% se puede o8servar @ue al utiliAar particiones fi;as con colas
distintas 9a: se ve claro @ue el rendimiento del sistema 8a;a pues al encontrar una
particin demasiado grande ( vac'a ( una particin pe@ueEa ( llena esto es una gran
desventa;a, 5na alternativa para una posi8le solucin a esta desventa;a puede ser lo @ue se
ilustra en la imagen anterior 98: donde se puede ver @ue se mantiene una sola cola de
asignacin para @ue cada @ue se li8era una particin% se seleccionarB el proceso u8icado en
la particin siguiente inmediata para ser e;ecutada,
Dentro del desarrollo para los sistemas de tiempo compartido% la situacin se torna de
forma distinta para la multiprogramacin de particiones varia8les, 4a desventa;a de este
mItodo consiste en @ue en muc7as ocasiones no e$istirB la cantidad suficiente de
memoria principal para almacenar todos los procesos @ue se encuentren activos, Se
podrB utiliAar la administracin de memoria% dependiendo del 7ardware disponi8le,
#$isten dos estrategias para este mItodo una se utiliAa para 8uscar ( cargar en la
memoria cada proceso en su totalidad par @ue se pueda e;ecutar durante el tiempo @ue
sea necesario para @ue despuIs se pueda colocar de nueva cuenta so8re el disco% a esta
estrategia comKnmente se le conoce como llamadas de intercam8io, 4a segunda
estrategia conocida como me memoria virtual% permite e;ecutar a los programas a pesar de
@ue estos se encuentren parcialmente en memoria principal,
#l funcionamiento de un sistema con particiones varia8les los primeros o el primer
proceso se cargan en la memoria creando la particin% para dar seguimiento a los demBs
procesos creando las particiones en la memoria de acuerdo a la necesidad del proceso (
li8erBndola al tIrmino de cada proceso cargado% en la siguiente imagen se puede
o8servar un claro e;emplo del uso de particiones varia8les% donde se carga un solo
proceso ( crea la particin @ue utiliAarB 9a:% posteriormente se pueden cargar demBs
procesos asignando el espacio dentro de la memoria 98:% seguido se muestra el acceso
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 29
Programacin de sistemas operativos
Programa desarrollado
de un tercer proceso utiliAando el espacio asignado para este 9c:% 4uego sale el proceso 1%
de;ando el espacio li8re para de;ar el paso al proceso D 9d%e:% Posteriormente termina H (
entra # 9f%g:,
&magen 6, 1signacin de memoria mediante la multiprogramacin de particiones
varia8les, 9)anen8aum% 200>: >1:
Para la asignacin de memoria @ue se muestra en la imagen anterior% se puede o8servar
@ue mientras los procesos entran en memoria ( salen el espacio se li8era para de;arlo listo
para el siguiente proceso @ue se mande llamar, #l tamaEo de estas particiones
puede variar% tiene la fle$i8ilidad de no estar limitado a la cantidad de particiones fi;as
esta8lecidas para la asignacin de procesos,
1,2,, 0emoria real
4a memoria real o principal% es donde se guardan los datos ( se e;ecutan los programas% por
lo general esta memoria es volBtil, 4a CP5 e$trae instrucciones de la memoria de acuerdo
con el valor del contador de programa% durante el ciclo de e;ecucin de algKn proceso
de8er'a e$traer la instruccin de la memoria la cual se decodifica ( puede 7acer @ue se
procesen una serie de operaciones, #l resultado de 7a8er e;ecutado esas
operaciones% se almacena de nuevo en la memoria,
ComKnmente el costo de esta memoria es de ma(o costo @ue la memoria secundaria%
pero la gran diferencia estBn en @ue la memoria real es de rBpido acceso a la informacin
contenida% la memoria cac7e es la Knica @ue podr'a llegar a ser muc7o mBs rBpida @ue la
principal pero su costo tam8iIn es aKn ma(or @ue las memorias real ( secundaria,
4a organiAacin ( administracin de la memoria real de un sistema 7a sido ( es uno de los
factores mBs importantes en el diseEo de los sistemas operativos, 0u( a menudo los
tIrminos memoria ( almacenamiento se consideran e@uivalentes% los programas ( datos
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software >0
Programacin de sistemas operativos
Programa desarrollado
de8en estar en el almacenamiento principal para poderlos e;ecutar ( referenciarlos
directamente,
Se considera almacenamiento secundario o au$iliar al @ue es soportado por lo general en
discos% la parte del sistema operativo @ue administra la memoria se llama 1dministrador de la
memoria, 4leva un registro de las partes de memoria @ue se estBn utiliAando ( de a@uellas
@ue no% asigna espacio en memoria a los procesos cuando estos la necesitan ( li8era
espacio de memoria asignada a procesos @ue 7an terminado,
#n lo @ue respecta a la reasignacin de direcciones% el contenido del registro frontera
indicarB el punto a partir del cual puede cargarse el programa del usuario, Para ello serB
necesario reasignar las direcciones del programa en funcin de la frontera% e$istiendo dos
formas de 7acerlo% una estBtica ( otra dinBmica,
4a asignacin estBtica se realiAa durante la compilacin o 8ien durante la carga del
programa en memoria, #sto implica @ue cual@uier variacin del tamaEo del sistema
operativo e$igirB una nueva compilacin o carga del programa, #s una tIcnica fBcil de
llevar a ca8o pero demasiado r'gida, 4a alternativa es asignar las direcciones reales
dinBmicamente durante la e;ecucin, 5n dispositivo 7ardware especial interceptarB cada
direccin lgica generada por el programa ( le sumarB el contenido del registro frontera,
#l resultado serB la direccin real correspondiente como se puede o8servar en la figura G,
Con esta tIcnica el usuario no podrB mane;ar direcciones reales, Su programa utiliAarB
direcciones relativas @ue podrBn variar de 0 al mB$imo permitido por el sistema operativo,
#ste serB su espacio lgico de direcciones,
.igura G, /easignacin dinBmica 90orera ( PIreA% 2002: 262:
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software >1
Programacin de sistemas operativos
Programa desarrollado
Posteriormente% el sistema con la a(uda del 7ardware esta8lecerB la correspondencia con el
espacio f'sico de direcciones, #l cual estarB limitado por la direccin frontera ( el
tamaEo de la memoria real, #sta separacin entre la visin del usuario 9espacio lgico:% ( la
memoria real 9espacio f'sico:% permite gestionar Ista con ma(or eficacia,
1,2,!, 0emoria virtual
4a memoria virtual tiende a simplificar ( facilitar la tarea de programacin% pues con esta
alternativa de memoria (a no limita a la cantidad de memoria f'sica disponi8le, 4a
memoria virtual inclu(e la separacin de memoria lgica ( f'sica% esta divisin permite
proporcionar a los programadores una memoria virtual e$tremadamente grande% cuando
solo se tiene disponi8le una memoria f'sica de menor tamaEo,
4a memoria virtual contiene espacios de direcciones virtuales de un proceso @ue 7ace
referencia a la forma lgica de almacenar un proceso en la memoria% las venta;as de la
memoria virtual son considera8les e importantes para la asignacin de procesos,
4a memoria virtual tiene la posi8ilidad de poder ser utiliAada en un sistema de
multiprogramacin% manteniendo segmentos de muc7os programas dentro, #n lo @ue un
programa estB esperando @ue se e$traiga a memoria una de sus partes esta a la espera de
#"S ( mientras no puede e;ecutarse% por lo @ue podrB otorgarse la CP5 a otro proceso% lo
mismo @ue en cual@uier otro sistema de multiprogramacin,
0ientras el sistema realiAa8a el tra8a;o real de intercam8iar los recu8rimientos% el
programador ten'a @ue encargarse de dividir en troAos apropiados el programa, 4a tarea
de dividir programas grandes en pe@ueEos troAos modulares era la8oriosa ( tediosa,
4a idea 8Bsica de la memoria virtual es @ue el tamaEo com8inado del programa% sus datos (
su pila pueden e$ceder la cantidad de memoria f'sica disponi8le, #l sistema operativo
mantiene en la memoria principal a@uellas partes del programa @ue se estBn usando en cada
momento% manteniendo el resto de las partes del programa en el disco, Por e;emplo% un
programa de 16 0H puede e;ecutarse so8re una mB@uina de 0H eligiendo
cuidadosamente @ue 0H se tendrBn en la memoria en cada instante% e intercam8iando
partes del programa entre el disco ( la memoria% segKn sea necesario,
4a memoria virtual puede funcionar tam8iIn en un sistema multiprogramado% con diversos
fragmentos de muc7os programas en memoria a la veA, 0ientras un programa espera a @ue
se traiga del disco una parte de s' mismo% estB esperando por una #"S ( no puede e;ecutarse%
por lo @ue de8e asignarse la CP5 a otro proceso de la misma forma @ue en cual@uier otro
sistema multiprogramado,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software >2
Programacin de sistemas operativos
Programa desarrollado
4a siguiente imagen muestra el cumulo de memoria% pues es utiliAada para la asignacin
dinBmica de memoria, #ste mItodo permite @ue la pila creAca 7acia a8a;o en la memoria
con las sucesivas llamadas a funcin,
.igura 9, #spacios de las direcciones en memoria virtual 9Sil8ersc7atA% 2006: 2G1:
#l espacio vac'o entre el cKmulo ( la pila forma parte de la memoria virtual% los espacios de
estas direcciones inclu(en espacios de direcciones dispersos% este tipo de direcciones tienen
a venta;a pues se puede utiliAar un espacio disperso% pues estos 7uecos pueden llenarse a
medida @ue crecen los segmentos de pila,
1parte de @ue es separada la memoria lgica ( f'sica% la memoria virtual tam8iIn% permote
@ue dos o mBs procesos compartan los arc7ivos ( la memoria mediante mecanismos de
comparticin de pBginas,
#ste tipo de dispersin de espacio tiene una serie de venta;as entre las cuales se puede
clasificar, 4as 8i8liotecas del sistema se pueden compartir con otros procesos% la memoria
virtual facilita a los procesos compartir la memoria f'sica ( permite @ue un proceso cree una
regin de memoria @ue los pueda compartir con otros procesos% ademBs de @ue se
comparten pBginas durante la creacin de procesos mediante la llamada al sistema
incrementando la creacin de tareas ( e;ecucin de procesos,
1ctividad >, 0apa conceptual del mane;o de la memoria
Para la realiAacin de esta actividad retomarBs lo @ue 7as aprendido 7asta este momento
respecto a la memoria% su funcin ( cmo es utiliAada en un sistema operativo, /ealiAa
los siguiente:
1. #la8ora un mapa conceptual @ue muestre el funcionamiento ( mane;o de la
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software >>
Programacin de sistemas operativos
Programa desarrollado
memoria en un sistema operativo, &nclu(e elementos de su ;erar@u'a% los tipos de
memoriaJ as' como del funcionamiento de particiones fi;as ( varia8les,
2. 3uarda la actividad con el nom8re PSOT51T1>TSS<W en donde SS representa
tu apellido9s: ( << tu nom8re9s:
3. #nv'a el arc7ivo a tu .acilitador9a: mediante la 7erramienta )areas para reci8ir
retroalimentacin,
1,>, #ntrada " Salida
4a administracin de dispositivos de #ntrada "Salida% resulta ser un tema mu( amplio en el
diseEo de los sistemas operativos% se la entrada " salida 9#"S:% una amplia variedad de
dispositivos ( sus variadas dispositivos ( sus diversidad de aplicaciones,
5na de las principales funciones de la administracin de dispositivos es el controlar todos los
dispositivos de #"S% el sistema operativo de8e enviar comandos a los dispositivos% atender
las interrupciones ( gestionar los errores @ue se generan,
4os dispositivos e$ternos de #"S @ue interactKan con las computadoras pueden
clasificarse en las siguientes categor'as:
Dispositivos f'sicos para 7umanos% este tipo de dispositivos son propiamente para
esta8lecer la comunicacin computadoraLusuario, 5nos de los principales
e;emplos se tiene, )eclado% mouse% pantalla% terminar de lector laser% etc,
Dispositivos para mB@uina% los dispositivos para mB@uina son los @ue se utiliAan
para comunicar las partes electrnicas entre computadoraLsistema% como discos%
tar;etas de video% controladores,
Dispositivos de caracteres% #stos dispositivos proporcionan o acepta un flu;o de
caracteres% sin tener en cuenta ninguna estructura de 8lo@ue, ComKnmente este
tipo de dispositivos son los @ue se conocen como mane;adores de los dispositivos
como son los Driver o controladores,
Cada dispositivo tiene sus propias caracter'sticas de acuerdo a su clasificacin de
pertenencia% cada una de estas diferencias 8Bsicamente se enfoca en la velocidad de los
datos% por lo @ue es mu( posi8le una gran diferencia de varios datos de transmisin, 4as
aplicaciones son tam8iIn una de las diferencias de los dispositivos% pues por lo general
cada tipo de dispositivo necesita su propio software @ue serB de utilidad para el sistema
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software >
Programacin de sistemas operativos
Programa desarrollado
operativo poder gestionar el dispositivo% la comple;idad del control es necesario poder
contar con la interfaA de control al dispositivo,
1,>,1, Principios de 7ardware ( software de & " O
#s mu( comKn el tener diferentes perspectivas respecto al 7ardware ( software de #"S%
dependiendo el tipo de mane;o @ue se realice de forma directa con los dispositivos serB el
punto de vista @ue se tenga referente 7acia este tIrmino% resulta @ue un programador no
tendrB el mismo punto de vista @ue un ingeniero en electrnica de dispositivos de #"S,
5no lo ve como la parte f'sica tangi8le @ue puede interactuar con la ma@uina% ( un
programador es @uien diseEa esa parte intangi8le pero es la relacin tar;eta Lma@uina,
4os dispositivos de #"S se pueden dividir en dos grandes grupos:
Dispositivos por 8lo@ues, #s el encargado de de almacenar la informacin en
8lo@ues de tamaEo fi;o% cada uno de ellos de8erB contar con su propia direccin,
Dispositivos por caracteres, #ste tipo de dispositivo es el @ue se encarga de
proveer ( aceptar una serie de caracteres @ue son convertidos en corriente
elIctrica% este tipo de dispositivos no considera la estructura de 8lo@ue @ue
contempla el anterior tipo de dispositivos% tampoco tiene la posi8ilidad de ser
direcciona8le ni puede realiAar la 8Ks@ueda,
#$isten varios dispositivos @ue no se contemplan este tipo de clasificacin pues por lo
general no se pueden a;ustar a esta clasificacin, 5n e;emplo claro de ello% son los relo;es
este tipo de dispositivos no estBn considerados como dispositivos por 8lo@ues ni tampoco
como dispositivos por caracteres% su funcin principal de los relo;es consiste en
suministrar interrupciones a intervalos @ue (a estIn definidos,
#n lo @ue respecta al software el principal o8;etivo de este dispositivo de #"S% es
prBcticamente sencillo de plantear% pues se de8e organiAar el software mediante capas
@ue puedan ser utiliAadas para esta8lecer la prioridad del 7ardware% para @ue las
superiores sean las encargadas de esta8lecer la interfaA con el sistema lo cual a(uda a
comunicar de forma mBs Bgil el dispositivo L sistema,
#n el Bm8ito de software% e$iste un concepto clave para poder diseEar el software de #"S%
llamado independencia del dispositivo, #l cual tiene la utilidad de @ue los programas
puedan interactuar entre dispositivo 7ardware ( dispositivo software% para @ue esto pueda
funcionar el sistema operativo de8erB tener la facilidad de resolver los pro8lemas
causados por las diferencias de dispositivos,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software >!
Programacin de sistemas operativos
Programa desarrollado
4os errores @ue se mane;an dentro del software de #"S% se de8en mane;ar lo mBs cercano
posi8le del 7ardware, Cuando el controlador descu8re un error de lectura de8erB tratar de
corregirlo% de lo contrario el sistema operativo es @uien podr'a tratar de corregirlo, 0uc7as
ocasiones los errores son transitorios al momento de la lectura de #"S% ( estos por lo
general se solucionan reiniciando el proceso de lectura de cada dispositivo,
5no de los aspectos claves es cuando ocurre la transferencia% (a puede ser por 8lo@ueo o
controladas por interrupciones, #l dispositivo de #"S f'sico es por lo general as'ncrona% tal
como la CP5 @ue inicia la transferencia ( se li8era mientras esta a la espera de una
nueva interrupcin, 4os programas por lo general resultan ser s'ncronas% despuIs del
comando de lectura% el programa se detiene 7asta la disponi8ilidad de datos,
4os dispositivos de uso e$clusivo ( no e$clusivo% son utiliAados por lo general al mismo
tiempo (a @ue no e$isten conflictos de mantener a8iertos varios arc7ivos en el disco al
mismo tiempo, 4as unidades de cinta es un e;emplo de dispositivos e$clusivo (a @ue solo un
proceso de lectura puede estar activo a la veA,
1,>,2, Dispositivos ( mane;adores de dispositivos
4os dispositivos ;uegan un papel mu( importante en el desarrollo de sistemas operativos
pues sirven para introducir datos% estos datos se leerBn por los dispositivos de entrada (
se almacenan en la memoria principal, 4os dispositivos de #"S se pueden agrupar en tres
categor'as:
Dispositivos legi8les para los usuarios, Son a@uellos dispositivos @ue permiten
la comunicacin entre los usuarios ( la computadora, Dentro de este grupo se
inclu(en todos los dispositivos @ue sirven para proporcionar interfaA con el usuario%
tanto para entrada 9ratn% teclado% monitor )ouc7Screen% scanner% lectores de
7uella% etc,: como para salida 9impresoras% pantalla% etc,:,
Dispositivos de almacenamiento, Son utiliAados para a8astecer el
almacenamiento no volBtil de datos ( memoria, Su principal funcin consiste en
proveer los datos ( almacenar en los programas @ue se e;ecutan en la CP5,
Dispositivos de comunicaciones, Permiten conectar a la computadora con otras
computadoras a travIs de una red, 4os dos tipos de dispositivos mBs importantes
de esta clase son los mdem% para comunicacin v'a red telefnica% ( las tar;etas
de interfaA a la red% para conectar la computadora a una red de Brea local,
4os dispositivos de acuerdo a su funcin se pueden clasificar de la siguiente manera:
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software >6
Programacin de sistemas operativos
Programa desarrollado
Dispositivos de #"S programada, 0ientras el procesador se encuentra en
e;ecucin de #"S% emite la seEal para @ue el proceso este a la espera del tIrmino de
la operacin para poder continuar con su e;ecucin,
Dispositivos de #"S por interrupciones, #l procesador es el encargado de emitir la
orden de #"S para los procesos% estos se e;ecutan las instrucciones ( son
interrumpidos al finaliAar su tra8a;o,
1cceso directo a memoria 9D01:, #ste modulo puede controlar el intercam8io de
datos entre la memoria principal ( un modulo de #"S,
4a ma(or'a de las unidades de #"S constan normalmente de un componente mecBnico ( un
componente electrnico, #n la ma(or'a de los casos es posi8le separar las dos partes (
tener un diseEo mBs modular ( general, #l componente electrnico se denomina
controlador del dispositivo o mane;ador, #n una computadora el componente electrnico
llega a ser una tar;eta de circuito impreso el cual puede a;ustarse en alguna ranura de
e$pansin% donde el componente mecBnico es el dispositivo en s'% la organiAacin de los
dispositivos se puede e;emplificar en la figura 1>,
&magen 6, 1lgunos de los componentes de un ordenador personal sencillo, 9)anen8aum%
200>: 262:
#l mane;ador del dispositivo se provee usualmente de un conector en el cual puede
conectarse un ca8le @ue va al dispositivo, 0uc7as controladoras pueden mane;ar dos%
cuatro o incluso oc7o dispositivos idInticos, Si la interfaA entre la controladora ( el
dispositivo es un interfaA estBndar% (a sea un estBndar 1-S&% &### o &SO oficial% o un
estBndar de facto% eso permite @ue cual@uier fa8ricante de 7ardware pueda manufacturar
controladores o dispositivos @ue se a;usten a esa interfaA, Por e;emplo% muc7as
compaE'as de 7ardware fa8rican unidades de disco compati8les con la interfaA &D# o
SCS&,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software >6
Programacin de sistemas operativos
Programa desarrollado
4a interfaA entre el controlador ( el dispositivo es a menudo una interfaA de mu( 8a;o
nivel, Por e;emplo% un disco puede formatearse con 2!6 sectores de !12 8(tes por pista,
Sin em8argo% lo @ue en realidad sale de la unidad es un flu;o de 8its en serie @ue
comienAa por un preBm8ulo% seguido de los 096 8its de un sector ( terminando con una
suma de verificacin 9c7ecRsum:% tam8iIn llamada un cdigo de correccin de errores
9#CCJ #rrorLCorrecting Code:, #l preBm8ulo se escri8e cuando se formatea el disco% (
contiene el nKmero de cilindro ( de sector% el tamaEo del sector ( datos similares% as'
como informacin de sincroniAacin, 4a tarea del controlador consiste en convertir ese
flu;o de 8its en serie en un 8lo@ue de 8(tes ( realiAar cual@uier correccin de errores @ue
sea necesaria, -ormalmente primero se ensam8la el 8lo@ue de 8(tes% 8it a 8it% en un
8Kfer @ue estB dentro del controlador, 5na veA compro8ado su c7ecRsum ( declarado el
8lo@ue li8re de errores% puede procederse a copiarlo en la memoria principal,
1 un nivel igual de 8a;o% el controlador de un monitor 9C/) )u8o de ra(os catdicos:%
tam8iIn opera como un dispositivo de 8its en serie: lee de la memoria 8(tes @ue
contienen los caracteres a visualiAar ( genera las seEales @ue sirven para modular el 7aA de
electrones del C/) para producir la escritura en la pantalla, #l controlador genera
tam8iIn las seEales @ue 7acen @ue el 7aA del C/) efectKe un retrasado 7oriAontal al
terminar cada 8arrido de una l'nea% as' como las seEales @ue realiAan el retrasado vertical
una veA @ue se 7a 8arrido toda la pantalla, Si no fuera por el controlador del C/)% el
programador del sistema operativo tendr'a @ue programar de forma e$pl'cita el 8arrido
analgico del tu8o de imagen del monitor, Con el controlador% el sistema operativo
inicialiAa el controlador con unos pocos parBmetros% tales como el nKmero de caracteres o
p'$eles por l'nea ( el nKmero de l'neas de la pantalla% ( de;a @ue el controlador sea
realmente @uien se encargue de dirigir el 7aA del C/),
#$iste una gran variedad de controladores ( tipos de perifIricos% por lo cual es frecuente
encontrar mBs de un controlador posi8le para el mismo dispositivo% cada uno ofreciendo un
nivel distinto de funcionalidades,
4os mane;adores de dispositivos son mu( variados% casi tanto como los dispositivos de
#"S, 0uc7os de ellos% como los de disco% pueden controlar mKltiples dispositivos
1,>,>, 0ecanismos ( funciones de mane;adores de dispositivos
4as funciones de mane;adores de los dispositivos de entrada ( salida consisten en un
componente mecBnico ( otro elIctrico% en la ma(or'a de las ocasiones se pueden separa
las dos partes con el o8;etivo de contar con el diseEo modular ( general, 4a parte elIctrica
se nom8ra adaptador de dispositivo por lo general al 7a8lar de la parte elIctrica se puede
apreciar una tar;eta de circuitos impresos @ue se puede insertar en una ranura de la
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software >G
Programacin de sistemas operativos
Programa desarrollado
tar;eta de la computadora% este componente tam8iIn se puede considerar como
componente mecBnico,
4a ma(or'a de los controladores pueden mane;ar uno o varios dispositivos idInticos% Si la
interfaA es de mismo tipo estBndar con la controladora se podrBn a;ustar para su
funcionamiento, 0uc7as de las ocasiones en los procesos de #"S de dispositivos el
sistema operativo siempre interactua con el controlador ( no con el dispositivo, 4a
siguiente imagen muestra la forma de cmo se interconectan los dispositivos,
&magen G, 0odelo 8Bsico% para la implementacin de dispositivos% entre la CP5 ( los
controladores de dispositivos de #"S, 9)anen8aum% 200>: 1!!:
4a comunicacin entre la CP5 ( los controladores utiliAa un 8us de comunicacin simple%
pero en e@uipos de macro computadoras por lo general utiliAan un modelo mu( distinto
como posi8les 8us mKltiples de datos, 4a actividad del controlador estB en convertir un
flu;o de 8its a un 8lo@ue de 8(tes ( realiAa las acciones de correccin de errores
necesarias% por lo general% se va armando por 8lo@ues de 8(tes en un 8uffer dentro del
controlador,
#l controlador tiene algunos registros @ue se pueden utiliAar para comunicar con la CP5% en
algunas computadoras los registros forman parte del espacio de direcciones de la memoria
8Bsica% lo @ue se conoce como mapeo de memoria de #"S,
4os controladores de dispositivos% el cdigo dependiente se alo;a dentro de estos% cada
controlador administra un tipo de dispositivo o clase de dispositivos similares, #n tIrminos
generales% el controlador de dispositivos de software acepta peticiones del software
independiente al dispositivo para @ue puedan ser atendidas% las peticiones mBs comunes
es el leer un 8lo@ue n Si algKn controlador estB disponi8le o li8re al llegar una peticin
inicia atendiIndola% pero si se encontrara ocupado en otra peticin a la llegada de una
nueva esta la colocarB en la cola de peticiones ( lo de;arB como pendiente 7asta @ue sea
atendida,
4o primero @ue se realiAa para atender la peticin de #"S% se de8e traducir de tIrminos
a8stractos a concretos, #sto de8erB calcular en @ue parte del modulo el proceso se
encuentra u8icado% para decidir la prioridad de operaciones del 7ardware, 1l decidir la
prioridad se comienAa a generar la escritura en los registros de dispositivos de este,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software >9
Programacin de sistemas operativos
Programa desarrollado
4a CP5 necesitarB direccionar los controladores de dispositivos para intercam8iar datos
con ellos% puede solicitar datos del controlador de #"S 8(te a 8(te% pero 7aciIndolo as'
estar'a desperdiciBndose muc7o tiempo de CP5, Por ese motivo normalmente se utiliAa
un es@uema diferente% denominado acceso directo a memoria 9D01J Direct 0emor(
1ccess:, #l sistema operativo slo puede utiliAar D01 si el 7ardware dispone de un
controlador de D01% por lo @ue la ma(or'a de los sistemas cuentan con Il, 1 veces ese
controlador estB integrado en los controladores de disco o en otros controladores% pero tal
diseEo significa tener un controlador de D01 por cada dispositivo, 0Bs comKnmente% se
tiene un Knico controlador de D01 9por e;emplo en la placa madre: para regular las
transferencias con mKltiples dispositivos% a menudo de forma concurrente,
OCual@uier u8icacin f'sica% el controlador de D01 tiene acceso al 8us del sistema
independientemente de la CP5% como se muestra en la siguiente imagen, #l controlador
contiene varios registros en los @ue la CP5 puede leer ( escri8ir, Xstos inclu(en un
registro de direccin de memoria% un registro contador de 8(tes ( uno o mBs registros de
control, 4os registros de control especifican el puerto de #"S @ue se utiliAarB% la direccin de
la transferencia 9le(endo del dispositivo de #"S o escri8iendo en el dispositivo de #"S:% la
unidad de transferencia 9un 8(te a la veA o una pala8ra a la veA: ( el nKmero de 8(tes @ue se
transferirBn en cada rBfaga,P 9)anen8aum% 200>: 266:
&magen 9, .uncionamiento de una transferencia con D01, 9)anen8aum% 200>: 266:
#l controlador es el encargado de leer el 8lo@ue de cada sector de la unidad% 7asta @ue
estI todo el 8lo@ue en el 8Kfer interno del controlador, Posteriormente se calcularB
c7ecRsum para validar @ue no se producirBn errores de lectura @ue pudieran provocar
interrupciones, 1l e;ecutar el sistema operativo podrB leer (a el 8lo@ue de disco del 8Kfer
de la controladora,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 0
Programacin de sistemas operativos
Programa desarrollado
1,>,, #structura de datos en el mane;o de dispositivos
Dentro de una computadora t'pica% la estructura de las interrupciones es como se muestra en
la figura 1!% a nivel de 7ardware% las interrupciones funcionan como se descri8e a
continuacin: una veA @ue el dispositivo termina el proceso de informacin @ue se le
orden% provoca una interrupcin 9considerando @ue el sistema operativo es @uien 7a8ilita las
interrupciones:, #sto lo 7ace aplicando una seEal a una l'nea del 8us @ue se le asign, #l c7ip
controlador de interrupciones situado en la placa madre detecta esa seEal ( decide lo @ue se
va 7acer a continuacin,
&magen 10, #structura 8Bsica para la representacin de la estructura de mane;o de
dispositivos, 9)anen8aum% 200>: 2G6:
4a imagen muestra la forma en la @ue se produce una interrupcin, #n la realidad las
cone$iones entre los dispositivos ( el controlador de interrupciones utiliAan l'neas del 8us en
veA de ca8les dedicados,
Si no 7a( otras interrupciones pendientes% el controlador de interrupciones procesa la
interrupcin inmediatamente, Si estB atendiIndose alguna otra interrupcin en ese
momento% o si otro dispositivo 7a realiAado una peticin simultBnea so8re una l'nea de
peticin de interrupcin de ma(or prioridad% el primer dispositivo serB ignorado
momentBneamente, #n este caso% el dispositivo seguirB aplicando la seEal de interrupcin al
8us 7asta @ue reci8a de la CP5 el servicio deseado, Para gestionar la interrupcin% el
controlador vuelca un nKmero en las l'neas de direccin del 8us especificando @uI
dispositivo re@uiere atencin ( aplica una seEal @ue interrumpe a la CP5,
4a estructura de datos en el mane;o de dispositivos se mane;a la siguiente clasificacin:
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 1
Programacin de sistemas operativos
Programa desarrollado
#structura simple: #s la @ue se 8asa en el acceso a operaciones 8Bsicas de
entrada"salida para escri8ir directamente en pantalla o disco% lo @ue se le nom8ra como
li8re acceso% otra estructura simple es la separacin del Rernel ( los programas de
sistemas,
#structura por capas: #sta estructura se 8asa en nuevas versiones tales como uni$
donde se diseEaron para 7ardware mBs avanAado% para dar ma(or soporte al mismo
7ardware, 4a venta;a de la estructura por capas es @ue cada capa cumple con una serie de
funciones ( servicios @ue 8rinda a las otras capas% esto permite una me;or
organiAacin del sistema operativo ( una depuracin mBs fBcil de este,
#$isten estructuras @ue se generan en memoria durante la e;ecucin de los procesos
relacionadas con el uso @ue estos 7acen de los arc7ivos, #l sistema posee una ta8la
general de arc7ivos a8iertos% donde se procesa la informacin so8re los arc7ivos activos e
'ndices de referencia al arc7ivo,
4a llamada al sistema toma el nom8re del arc7ivo 8usca en el directorio% copia la entrada del
directorio en la ta8la de arc7ivos a8iertos, )odo esto si estas acciones son permitidas de
acuerdo a los modos de proteccin del arc7ivo,
#n los sistemas multiusuario% un arc7ivo puede ser a8ierto por mBs de dos usuarios
simultBneamente% cada uno con su puntero, #$isten dos tipos de ta8las% la de proceso%
@ue contiene informacin so8re los arc7ivos a8iertos por el proceso ( contiene un
apuntador a la segunda ta8la% la de los arc7ivos a8iertos en todo el sistema% esta segunda
ta8la tiene informacin independiente del proceso @ue lo e;ecute como u8icacin del
arc7ivo en el disco,
#l sistema operativo partiendo de su estructura por capas% estB organiAado en cuatro
capas% las cuales tienen su funcin propiamente esta8lecida ( una interfaA con la capa
ad(acente, 4a organiAacin se estructura en las siguientes capas:
0ane;ador de interrupcin, 1ctiva al mane;ador al terminar la #"S,
0ane;ador de dispositivos o drivers, &nicia los registros del dispositivo%
compro8ando el estado,
Software de #"S independiente de los dispositivos, #ste software estB formado por
la parte de alto nivel de los mane;adores% el gestor de cac7e% el gestor de 8lo@ues
( el servidor de arc7ivos,
&nterfaA del sistema operativo, 4lamadas al sistema @ue usan las aplicaciones de
usuario,
4os mane;adores de interrupcin% administran las interrupciones @ue generan los
controladores de dispositivos una veA @ue Istos estBn listos para la transferencia de
datos% o 8ien 7an le'do o escrito los datos de memoria principal en caso de acceso directo
a memoria, Para administrar la interrupcin se e;ecuta el mane;ador de interrupcin @ue
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 2
Programacin de sistemas operativos
Programa desarrollado
tendrB como efecto es el de salvar los registros% comunicar el evento al mane;ador del
dispositivo ( restaurar la e;ecucin de un proceso,
Cuando una interrupcin ocurre mu( frecuentemente% caso del relo;% o cuando la cantidad
de informacin a transferir es mu( pe@ueEa% caso del teclado% ser'a mu( costoso
comunicar siempre el evento al mane;ador de dispositivo asociado, #n estos casos% el
propio mane;ador de interrupcin registra la ocurrencia del evento% 8ien mediante el
incremento de una varia8le glo8al para el relo; o la acumulacin de caracteres en un
8uffer del teclado,
4os mane;adores de dispositivos% tienen un mane;ador asociado en el sistema operativo%
dic7o mane;ador inclu(e un cdigo independiente del dispositivo @ue otorga al nivel
superior del sistema operativo una interfaA de alto nivel ( el cdigo dependiente del
dispositivo necesario para programar el controlador del dispositivo a travIs de sus
registros ( datos,
4a principal actividad de un mane;ador de dispositivo es aceptar las peticiones en formato
a8stracto% de la parte del cdigo de #"S independiente del dispositivo% traducir dic7as
peticiones a tIrminos @ue entienda el controlador% enviar al mismo las rdenes adecuadas en
la secuencia correcta ( esperar a @ue se cumplan,
1,>,!, Operaciones de # " S
#n la ma(or'a de las aplicaciones% el arc7ivo es el elemento central, Cual@uiera @ue sea la
finalidad de la aplicacin% implicarB la generacin ( uso de informacin,
-ormalmente cada sistema dispone de programas de utilidad @ue se e;ecutan como
aplicaciones privilegiadas, Sin em8argo% un sistema de gestin de arc7ivos necesita como
m'nimo algunos servicios especiales del sistema operativo,
Para la #"S programada como la 8asada en interrupciones% la CP5 de8e encargarse de
realiAar las operaciones de lectura ( escritura so8re fic7eros,
4a lectura o 8ien entrada de datos% permite reci8ir valores desde los dispositivos o
arc7ivos,
4a escritura% realiAa la operacin de escritura de resultados en dispositivos de
salida o arc7ivos,
#;emplificando so8re un proceso de usuario @ue desea leer 8lo@ues de datos de una
cinta% uno cada veA% siendo cada 8lo@ue de 100 8(tes, 4os datos van a ser le'dos en una
Aona de datos del proceso de usuario situada en las direcciones virtuales 1000 a 1009, 4a
forma simple de realiAar ser'a emitir una orden de #"S a la unidad de cinta ( esperar a @ue
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software >
Programacin de sistemas operativos
Programa desarrollado
los datos estIn disponi8les, 4a espera podr'a ser activa o de manera mBs prBctica%
suspender al proceso en espera de una interrupcin,
#$isten dos pro8lemas con este enfo@ue:
#l programa se @ueda colgado esperando a @ue la operacin de #"S termine,
Dificulta las decisiones de intercam8io del sistema operativo,
4as u8icaciones virtuales 1000 a 1009 de8en permanecer en memoria principal durante el
curso de la transferencia del 8lo@ue% de lo contrario parte de los datos se perderBn,
Si un proceso emite una orden de #"S% @ueda suspendido a la espera del resultado% se le
e$pulsa antes de comenAar la operacin ( se 8lo@uea esperando a @ue la operacin
termine, 0ientras tanto% la operacin de #"S @ueda 8lo@ueada esperando a @ue el
proceso vuelva a memoria% para evitar este inter8lo@ueo% la memoria de usuario implica
en la operacin de #"S de8e @uedar fi;a en la memoria principal% inmediatamente despuIs
de emitir la peticin de #"S% incluso aun@ue la operacin de #"S se encole ( pueda no
e;ecutarse por algKn tiempo,
1cceso directo a memoria 9D01:, =arios controladores% los dispositivos por 8lo@ues
mane;an el acceso directo a memoria o D0S, Primero el controlador lee el 8lo@ue de la
unidad en serie% 8it por 8it% 7asta @ue todo el 8lo@ue estB en el 8uffer interno del
controlador, 1 continuacin% el controlador calcula la suma de verificacin para compro8ar
@ue no ocurrieron errores de lectura ( luego causa una interrupcin, Cuando el sistema
operativo comienAa a e;ecutarse% puede leer el 8lo@ue del disco del 8uffer del controlador
8(te por 8(te o pala8ra por pala8ra% e;ecutando un ciclo% le(Indose en cada iteracin un
8(te o una pala8ra de un registro del controlador ( almacenBndose en la memoria,
4a finalidad del D01 es para li8erar a la CP5 de un ciclo programado donde se leen los
8(tes del controlador uno por uno pues eso tiene pIrdida de tiempo en la CP5% cuando se
utiliAa D01 la CP5 proporciona al controlador dos elementos de informacin ademBs de
la direccin en disco del 8lo@ue: la direccin de memoria donde de8e colocarse el 8lo@ue
( el nKmero de 8(tes @ue de8en transferirse% como se muestra en la figura 16,
.igura 16, 5na transferencia D01 es realiAada totalmente por el controlador
9)anen8aum% 200>: 1!G:
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software
Programacin de sistemas operativos
Programa desarrollado
#l procedimiento a seguir en una operacin de #"S con D01 son:
Programacin de la operacin de #"S, Se indica al controlador la operacin% los
datos a transferir ( la direccin de memoria so8re la @ue se efectuarB la operacin,
#l controlador contesta aceptando la peticin de #"S,
#l controlador le ordena al dispositivo @ue lea 9para operacin de lectura: una
cierta cantidad de datos desde una posicin determinada del dispositivo a su
memoria interna,
Cuando los datos estBn listos% el controlador los copia a la posicin de memoria
@ue tiene en sus registros% incrementa dic7a posicin de memoria ( decrementa el
contador de datos pendientes de transferir,
4os pasos > ( se repiten 7asta @ue no @uedan mBs datos por leer,
Cuando el registro de contador estB a cero% el controlador interrumpe a la 5CP
para in dicar @ue la operacin de D01 7a terminado,
&nicio ( control de los programas de canal, #stos programas residen en la memoria
principal del CP5 ( se e;ecutan en el canal, 4a CP5 puede utiliAar para estos fines% son las
siguientes:
Y S)1/) &"O &nicia una operacin de #"S, #l campo de direccin de la instruccin se
emplea para especificar el canal ( el dispositivo de #"S @ue participa en la
operacin,
Y C14) &"O .inaliAa la operacin del canal,
Y )#S) CC1--#4 Prue8a el estado del canal,
Y )#S) &"O Prue8a el estado del canal% el su8canal ( el dispositivo de #"S,
5na operacin de #"S se inicia con la instruccin S)1/) &"O, 4a u8icacin del programa de
canal en la memoria principal viene definida en la pala8ra de direccin de canal 9C1D:
C7annel 1ddress Dord:,
1ctividad , Dispositivos de #ntrada ( Salida
#l propsito de esta actividad es distinguir los mecanismos ( funciones de los
mane;adores de dispositivos% identificando el 7ardware de #"S, Para ello% realiAa lo
siguiente:
1, &nvestiga acerca de los dispositivos de #"S% as' como la forma en @ue interactKan
con el sistema% para posteriormente clasificarlos e identificar sus mane;adores,
2, 3uarda la actividad con el nom8re PSOT51T1TSS<W, #n donde SS es tu
apellido 9s: ( << tu nom8re 9s:,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software !
Programacin de sistemas operativos
Programa desarrollado
>, #nv'a el arc7ivo a tu .acilitador9a: mediante la seccin )areas para reci8ir
retroalimentacin,
1utoevaluacin
Para reforAar los conocimientos relacionados con los temas @ue se a8ordaron en esta
primera unidad del curso% es necesario @ue resuelvas el e;ercicio de autoevaluacin, Para
ello% ingresa al aula,
#videncia de aprendiAa;e, 1dministracin del procesador%
memoria ( los dispositivos de entrada ( salida
Durante la realiAacin de esta actividad retomarBs lo estudiado en esta primera unidad% (
tra8a;arBs con los conceptos 8Bsicos del cmo interactKa el Sistema Operativo con los
dispositivos de #"S ( la administracin del procesador de memoria, Para ello% realiAa lo
siguiente:
1, &nvestiga acerca de los temas a8ordados durante la unidad,
2, #la8ora un cuadro sinptico en el @ue integres los conceptos 8Bsicos del cmo
interactKa el Sistema Operativo con los dispositivos de #"S ( la administracin del
procesador de memoria,
>, Consulta la #scala de #valuacin @ue se encuentra en la seccin 0aterial de 1po(o
para conocer los criterios de evaluacin,
, 3uarda tu arc7ivo con el nom8re PSOT51T#1TSS<<, #n donde SS es tu apellido9s: (
<< tu nom8re9s:
!, #nv'a el arc7ivo a tu .acilitador9a: mediante la seccin portafolio de evidencias para
reci8ir retroalimentacin,
Z /ecuerda @ue de ser necesario ( en 8ase a los comentarios 7ec7os por parte de tu
.acilitador9a:% podrBs enviar una segunda versin de tu actividad,
-o olvides consultar la #scala de evaluacin @ue encontrarBs en la pestaEa 0aterial de
apo(o para sa8er los puntos @ue tienes @ue considerar en el desarrollo de tu actividad
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 6
Programacin de sistemas operativos
Programa desarrollado
final, Si tienes dudas% consulta a tu .acilitador9a:,
Como parte de cada unidad% es importante @ue ingreses al foro Preguntas de
1utorrefle$in ( consultes las preguntas @ue tu .acilitador9a: formule% a partir de ellas%
de8es ela8orar tu 1utorrefle$in ( enviarla mediante la 7erramienta 1utorrefle$iones, -o
olvides @ue tam8iIn se toman en cuenta para la calificacin final,
Cierre de la unidad
Cas concluido la primera unidad del curso, 1 lo largo de Ista se recordaron conceptos
8Bsicos so8re 7ilos ( @ue es el multiprocesamiento ( el paralelismo% tam8iIn conociste
como el sistema operativo mane;a la memoria cuBl es su ;erar@u'a% sus particiones as'
como el mane;o @ue 7ace el Sistema Operativo de la memoria real ( virtual% identificaste
cmo los dispositivos de entrada ( salida son mane;ados por el sistema operativo sus
mecanismos ( estructuraJ as' como las operaciones @ue realiAan, Siendo este Kltimo tema
realAado por una investigacin de los principales dispositivos de #ntrada ( Salida #"S,
#s aconse;a8le @ue revises nuevamente la unidad en caso de @ue los temas @ue se
aca8an de mencionar no te sean familiares% o no los recuerdes% de no ser este tu caso% (a
estBs preparado9a: para seguir con la unidad dos% en donde se a8ordarB el sistema de
arc7ivos% sus conceptos 8Bsicos ( su ;erar@u'a, 1s' como los tipos de arc7ivos: reales
virtuales ( componentesJ como el sistema operativo funciona f'sica ( lgicamente sus
operaciones ( su implementacin, )odo ello con el fin de o8tener el prototipo final al
terminar la tercera ( cuarta unidad del curso de Programacin de Sistemas Operativos,
Para sa8er mBs
Si deseas sa8er mBs acerca de cmo el procesador 10D mane;a la energ'a%
virtualiAacin% ar@uitectura% administracin ( compati8ilidad con diferentes sistemas
operativos% visita la siguiente direccin electrnica:
7ttp:""www,amd,com"41"P/OD5C)S")#CC-O4O3&#S"Pages"tec7nologies,asp$
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 6
Programacin de sistemas operativos
Programa desarrollado
.uentes de consulta
Hi8liograf'a 8Bsica
0art'neA% P,% Ca8ello 0, ( D'aA% 0, 91996: Sistemas Operativos, 0adrid: D'aA de
Santos,
OrtiA% C, 9200!: Sistemas Operativos 0odernos, Colom8ia: 5niversidad de
0edell'n,
Santiago% C,% 3arc'a% /,% MueAada% 1,% Santana% ., ( Santos% ?, 92006:
.undamentos de sistemas operativos teor'as ( e;ercicios resueltos, #spaEa:
Parainfo S,1, de C,=,
Stallings% D, 92006: Sistemas Operativos, 0I$ico: Pearson Prentice Call,
Sil8ersc7atA% 1, 92006: .undamentos de sistemas operativos, #spaEa: 0cgrawL
Cill,
)anen8aum% 1, 9200>: Sistemas Operativos 0odernos, 0I$ico: Pearson Prentice
Call,
Hi8liograf'a complementaria
0orera% ?, ( PIreA% 1, 92002: Conceptos de Sistemas Operativos, 0adrid:
Comillas,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software G
Programacin de sistemas operativos
Programa desarrollado
5nidad 2, 1dministrador de Sistemas de 1rc7ivos
Presentacin de la unidad
1 lo largo de esta unidad aprenderBs como el sistema operativo mane;a el sistemas de
arc7ivos% los tipos de arc7ivos% ( cmo son organiAados de manera lgica ( f'sica los
mismos,
#l sistema de arc7ivos% como se verB mBs adelante% estB encargado de la administracin de
la informacin en: acceso% verificacin ( manipulacinJ logrando con ello ser un mItodo de
almacenamiento ( organiAacin, 1demBs de permitir encontrar ( acceder mBs rBpido la
informacin, 5n sistema de arc7ivos es un con;unto de tipo de datos a8stractos% @ue son
implementados para el almacenamiento% la organiAacin ;erBr@uica% la manipulacin% el
acceso% el direccionamiento ( la recuperacin de datos,
Otra parte de suma importancia @ue se verB en esta unidad% es la diferencia entre arc7ivo
real ( virtual,
5n arc7ivo virtual es un arc7ivo de uso temporal @ue es utiliAado por los procesos del
sistema mientras se estBn e;ecutando dic7os procesos, #stos arc7ivos se crean durante la
e;ecucin de un sistema ( se utiliAan para el almacenamiento de informacin%
intercam8io ( organiAacin @ue e;ecuta el sistema,
Por otra parten% un arc7ivo real es un o8;eto @ue contiene programas% datos o cual@uier
otro elementoJ un arc7ivo se muestra de manera real% en la informacin del espacio @ue
ocupa en un disco duro o sistema de almacenamiento% en otras pala8ras su tamaEo es en
8(tes,
Para finaliAar la unidad se a8ordarBn las operaciones @ue son permitidas por parte de los
arc7ivos ( cmo se implementan,
Propsito
#l propsito de los temas de esta unidad es @ue se conoAca cmo el sistema operativo
considera el 1dministrador de arc7ivosJ (a @ue la administracin del almacenamiento de la
informacin% es necesaria para organiAar ( determinar lo @ue ve el usuarioJ as' como la forma
en @ue lo ve,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 9
Programacin de sistemas operativos
Programa desarrollado
De la misma manera es importante aprender a distinguir por @uI ( para @uI el sistema
mane;a arc7ivos reales ( virtuales% ( @ue operaciones se pueden realiAar con los mismos,
Competencia espec'fica
&dentificar el proceso @ue siguen los arc7ivos para la administracin ( 8uen mane;o de los
mismos% con el anBlisis lgico @ue sigue el sistema,
2,1, Sistemas de 1rc7ivos
Para los usuarios% el aspecto mBs importante de un sistema de arc7ivos es lo @ue de Iste se
veJ es decir% @uI constitu(e un arc7ivo% cmo se nom8ran ( protegen los arc7ivos% @uI
operaciones pueden efectuarse con los arc7ivos,
#l sistema de software @ue proporciona a los usuarios ( a las aplicaciones servicios
relativos al empleo de arc7ivos de8e cumplir con las necesidades de gestin de datos (
con las necesidades de almacenamiento del usuarioJ se de8en cumplir los siguientes
o8;etivos:
1creditar @ue los datos de los arc7ivos sean vBlidos,
OptimiAar el rendimiento,
Otorgar soporte #"S para la variedad de tipos de dispositivos de almacenamiento,
0inimiAar o eliminar la posi8ilidad de pIrdida de los datos,
&mplantar un con;unto estBndar de rutinas de interfaA de #"S,
Proporcionar un soporte de #"S para mKltiples usuarios en los sistemas
multiusuario,
Dentro de un sistema de arc7ivos estBn los mItodos ( estructuras% @ue son los datos @ue
un sistema operativo utiliAa para seguir la pista de los arc7ivos de un disco o
particin% ( las formas en @ue se organiAan los arc7ivos en el disco,
#l concepto de sistema de arc7ivos% tam8iIn se puede utiliAar para 7acer referencia a una
particin o disco @ue se utiliAa para almacenamiento de la informacin o el tipo del
sistema de arc7ivos @ue utiliAa, 4a diferencia entre un disco o particin ( el sistema de
arc7ivos @ue contiene es importante, 1lgunos programas tra8a;an directamente en los
sectores crudos del disco o particinJ si 7a( un arc7ivo de sistema e$istente a7' serB
destruido o corrompido severamente, 4a ma(or'a de programas tra8a;an so8re un sistema
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software !0
Programacin de sistemas operativos
Programa desarrollado
de arc7ivos% ( por lo tanto no utiliAarBn una particin @ue no contenga uno 9o @ue
contenga uno del tipo e@uivocado:,
1ntes de @ue una particin o disco sea utiliAada como un sistema de arc7ivos% necesita ser
iniciada ( las estructuras de datos necesitan escri8irse al disco, #ste proceso se denomina
construir un sistema de arc7ivos,
4os arc7ivos estBn administrados por el sistema operativo, 4a manera en @ue estBn
estructurados% nom8rados% cmo se accede a ellos% cmo se utiliAan% cmo se protegen e
implementan% son caracter'sticas @ue se utiliAan para el diseEo de los sistemas
operativos, 1 esta parte del sistema operativo @ue gestiona arc7ivos% comKnmente se le
conoce como el sistema de arc7ivos,
Para un usuario% el aspecto de ma(or importancia dentro de un sistema de arc7ivos% es su
aspectoJ en otras pala8ras% es lo @ue conforma un arc7ivo% cmo se nom8ran ( se
protegen los arc7ivos% las operaciones @ue se permiten% etc,
#n los detalles para seguir la l'nea de la memoria li8re% se utiliAan listas enlaAadas o
mapas de 8itsJ el detalle de cuBntos sectores 7a( en un 8lo@ue lgico% son cuestiones de
menos interIs aun@ue son de gran importancia para los desarrolladores de los sistemas
de arc7ivos,
Concretamente los sistemas de arc7ivos son un mecanismo @ue permite almacenar
informacin en el disco ( leerla despuIs, Por lo cual% el usuario no necesariamente se
entera de detalles de dnde ( cmo se almacenarB la informacin% ( el funcionamiento de los
discos,
4a forma en la @ue se da nom8re a los o8;etos @ue se mane;an% podr'a ser la
caracter'stica mBs importante de cual@uier mecanismo de a8straccin% una veA @ue el
proceso crea el fic7ero% se le asigna el nom8re, Cuando el proceso termina% el arc7ivo
sigue e$istiendo ( otros programas pueden tener acceso a Il% utiliAando su nom8re,
=arios sistemas de arc7ivos% administran los nom8res de Istos en dos partes separadas
por un puntoJ a la parte secuencial del punto se le nom8ra e$tensin del arc7ivo (
normalmente especifica el tipo del arc7ivo [por e;emplo en 0SLDOS[% los nom8res de
los arc7ivos cuentan con uno o 7asta oc7o caracteres% mBs una e$tensin opcional de
uno a tres caracteres, #n 5ni$% se de;a la e$tensin opcional de contar con dos o mBs
e$tensiones ( son especificaciones @ue se de;an a criterio del mismo usuario, #n la
siguiente imagen se presenta un listado de las e$tensiones mBs comunes de los sistemas
de arc7ivos ( su descripcin,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software !1
Programacin de sistemas operativos
Programa desarrollado
.igura 1, )a8la de e$tensiones de algunos sistemas de arc7ivos 9)anen8aum% 200>: 0>:
2,1,1, Concepto
4os arc7ivos proporcionan una forma de almacenar informacin en el disco ( leerla
despuIs, #sto de8e 7acerse de tal manera @ue el usuario no tenga @ue ocuparse de los
detalles de cmo ( dnde se almacena la informacin% ni de cmo funcionan realmente
los discos, 4as reglas para nom8rar arc7ivos var'an un tanto de un sistema a otro% pero
todos los sistemas operativos permiten cadenas de uno a oc7o caracteres como nom8res
de arc7ivos vBlidos,
4os arc7ivos por su contenido pueden ser numIricos% alfanumIricos o 8inarios% pueden
e$istir arc7ivos de formato li8re% tales como son los arc7ivos de te$to% o 8ien% los arc7ivos
pueden estar formateados de forma r'gida,
4a informacin @ue contiene un arc7ivo es definida por el usuario, Pueden almacenar
muc7os tipos de informacin% tales como: programas puente% programas o8;eto%
programas e;ecuta8les datos numIricos% te$to% registros varios% imBgenes% arc7ivos de
audio% etc, Para esto cada tipo de arc7ivo tiene su propia estructura definida,
1l tratar el tema de arc7ivos% 8Bsicamente% se utiliAan cuatro tIrminos comunes:
Campo, #s el elemento de datos 8Bsico% un campo individual contiene un valor Knico%
como el apellido de una persona% una fec7a o el valor le'do por un sensor, Se caracteriAa por
su longitud ( por el tipo de datos,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software !2
Programacin de sistemas operativos
Programa desarrollado
/egistro, #s una coleccin de campos relacionados @ue pueden tratarse como una
unidad en algunos programas de aplicacin,
1rc7ivo, #s una coleccin de informacin similar% con un nom8re% la cual se guarda en un
almacenamiento secundario, 4os usuarios ( las aplicaciones administran al arc7ivo como una
entidad Knica ( se refieren a Il por un nom8re% los arc7ivos tienen nom8res Knicos ( pueden
crearse ( eliminarse,
Hase de datos, #s una coleccin de arc7ivos relacionados% el aspecto 8Bsico de una
8ase de datos se 8asa en las relaciones @ue e$isten entre los elementos de datos% son
e$pl'citas ( la 8ase de datos estB diseEada para ser utiliAada por varias aplicaciones
diferentes,
5n arc7ivo fuente es una secuencia de su8rutinas ( funciones% cada una de las cuales
estB a su veA organiAada como una serie de declaraciones% siguiendo de instrucciones
e;ecuta8les, 5n arc7ivo o8;eto es una secuencia de 8(tes organiAado en 8lo@ues @ue el
programa montador del sistema puede comprender, 5n arc7ivo e;ecuta8le es una serie
de secciones de cdigo @ue el cargador puede cargar en memoria ( e;ecutarse,
2,1,2, ?erar@u'a de datos
#s 8astante comKn desear organiAar los arc7ivos de forma lgica% para ello se re@uiere
agrupar los arc7ivos de alguna forma dentro de es@uemas fle$i8les determinados por
cada usuario% para dar como resultado la organiAacin de la informacin lgica,
HBsicamente% lo @ue se re@uiere es contar con una ;erar@u'a general de datos
comKnmente conocida como Br8ol de directoriosJ con este tipo de organiAacin de
informacin% el usuario puede tener la cantidad de directorios @ue re@uiera para agrupar (
organiAar sus arc7ivos en diferentes categor'as, 4a figura 2 especifica @ue e$isten
directorios 91% H% C: pertenecientes en la ra'A 9root:% los cuales son arc7ivos de diferentes
usuarios ( Istos a su veA generan su8directorios para los pro(ectos en los @ue se estB
tra8a;ando,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software !>
Programacin de sistemas operativos
Programa desarrollado
.igura 2, Sistema ;erBr@uico de datos 9)anen8aum% 200>:
Para la gestin de arc7ivos en su nivel mBs 8a;o los administradores de dispositivos se
comunican directamente con los dispositivos perifIricos o sus controladores o canales,
Cada mane;ador de dispositivos es @uien comienAa la operacin de #"S en un dispositivo
( procesa la terminacin de una peticin de #"S, #l nivel siguiente es como el sistema de
arc7ivos 8Bsico o nivel de #"S f'sica% estB formado por la interfaA primaria con el entorno
e$terior, #ste nivel trata con 8lo@ues de datos @ue son intercam8iados con sistemas de
disco o cinta,
#l administrador 8Bsico de #"S% es @uien inicia ( termina toda la #"S con arc7ivos, #n este
nivel se mantienen unas estructuras de control @ue se encargan de la #"S con los
dispositivos% la planificacin ( el estado de los arc7ivos, #l supervisor 8Bsico realiAa la
seleccin del dispositivo donde se realiAa la #"S con los arc7ivos, 1s' mismo se ocupa de
planificar los accesos a discos ( cinta para optimiAar el rendimiento, #n este nivel se
asignan los 8uffers de #"S ( se reserva la memoria secundaria, #l supervisor 8Bsico de
#"S es parte del sistema operativo,
4os usuarios ( los programas de aplicacin interactKan con el sistema de arc7ivos por
medio de rdenes de creacin ( eliminacin de arc7ivos realiAando operaciones so8re los
arc7ivos,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software !
Programacin de sistemas operativos
Programa desarrollado
.igura >, #structura de fic7eros de tres tipos de ;erar@u'a, 9a: Sucesin de 8(tes, 98:
sucesin de registros, 9c: Br8ol 9)anen8aum% 200>: >G2:
4os arc7ivos o datos pueden estar estructurados de formas diferentes en la figura >
situada anteriormente se muestran tres posi8ilidades comunes, #l e;emplo 9a: es una
sucesin no estructurada de 8(tes, Cual@uier significado @ue se tenga so8re el fic7ero
de8erBn atri8u'rselo los programadores en el nivel de usuario,
4a fle$i8ilidad @ue se ofrece% mientras el sistema operativo ve solamente como
secuencias de 8(tes% los programas de usuario pueden poner cual@uier cosa @ue deseen
los arc7ivos ( darles cual@uier nom8re @ue crean conveniente, #n ese sentido% el sistema
operativo se torna imparcial para @ue los usuarios puedan 7acer cosas fuera de lo comKn,
#l e;emplo 98: de la figura >% muestra @ue un arc7ivo es una secuencia de registros se
apo(a en el concepto de @ue la operacin de lectura devuelve un registro ( @ue la
operacin de escritura so8re escri8e o ane$a un registro,
#l e;emplo 9c: de la figura >% indica una estructura de arc7ivos, #n esta organiAacin% un
arc7ivo consiste en un Br8ol de registros% @ue no necesita todos de la misma longitud%
cada uno de Istos contiene un campo de llave @ue representa una posicin fi;a dentro del
registro, #l Br8ol estB ordenado segKn el campo llave% a fin de poder 8uscar rBpidamente
una llave particular,
4a estructura lgica de los datos se organiAa de acuerdo a la forma en cmo se accede
a Istos, 4a estructura mBs simple de un directorio es una lista de entradas para cada
arc7ivo,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software !!
Programacin de sistemas operativos
Programa desarrollado
1ctividad 1, Sistema de arc7ivo
Con el fin de @ue refle$iones so8re lo estudiado 7asta el momento% participarBs en un
foro de discusin% en Il compartirBs un concepto propio acerca del sistema de arc7ivos, Para
ello% podrBs revisar el material de la asignatura ( apo(arte de los comentarios de tus
compaEeros9as:,
Previo a tu ingreso al foro:
1, /etoma las lecturas del tema 2,1,Sistemas de arc7ivos,
2, &dentifica @uI es un sistema de arc7ivos ( cmo lo mane;a el sistema operativo
en su ;erar@u'a de datos,
>, &ngresa al foro de la actividad para comenta tus aportaciones ( sigue las
indicaciones @ue en ese espacio se encuentran,
2,2, )ipo de 1rc7ivos
Cada sistema operativo reconoce sus arc7ivos especiales por caracteres ( por 8lo@ues%
ademBs de los tipos de arc7ivos diferentes, 4os arc7ivos regulares son lo @ue contienen
informacin del usuario, 4os arc7ivos @ue se presentan en la figura anterior son arc7ivos
normales% los directorios son arc7ivos de sistema @ue sirven para mantener la estructura del
sistema de arc7ivos,
4os arc7ivos especiales por caracteres estBn relacionados con #"S ( sirven para
modelar dispositivos de #"S en serie como las terminales% impresoras ( redes, 4os
arc7ivos especiales por 8lo@ues sirven para modelar discos,
4os arc7ivos normales generalmente son arc7ivos 1SC&& o 8ien arc7ivos 8inarios, 4os
arc7ivos 1SC&& consisten en l'neas de te$to% en algunos sistemas cada l'nea termina con un
carBcter de retorno de carroJ en otros se emplea el carBcter de salto de l'nea, #n
algunas ocasiones se re@uieren am8as% las l'neas no de8en necesariamente tener todas las
mismas longitudes,
4os arc7ivos normales 1SC&& tienen la venta;a de @ue pueden e$7i8irse e imprimirse tal
como estBn% ( se pueden editar con cual@uier editor de te$tos, 1demBs% si una gran
cantidad de programas usan arc7ivos 1SC&& como entradas ( salidas% es fBcil conectar la
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software !6
Programacin de sistemas operativos
Programa desarrollado
salida de un programa a la entrada de otro% como sucede con los conductos de S7ell, 4os
arc7ivos @ue no son 1SC&& se interpretan como arc7ivos 8inarios,
4os arc7ivos 8inarios son los @ue no se interpretan como arc7ivo 1SC&&% si se o8tiene una
vista de los arc7ivos 8inarios por medio de una impresin% se o8tendrB un listado dif'cil de
comprender lo @ue pareciera ser contenido 8asuraJ por lo general estos arc7ivos estBn
formados por su estructura propiamente interna,
#n la figura se puede apreciar la e;ecucin de un arc7ivo 8inario simpleJ el e;emplo fue
tomado de las primeras versiones de 5-&S, #n la secuencia de 8(tes representado por el
arc7ivo% se o8serva @ue el sistema operativo Knicamente e;ecutarB un arc7ivo si tiene el
formato @ue se reconoce por el sistema operativo,
.igura , #;ecucin de un arc7ivo 8inario simple 9)anen8aum% 200>: 06: #n
el primer e;emplo mostrado 9a:% se cuenta con cinco secciones:
#nca8eAado, #s @uien inicia e identifica el arc7ivo como e;ecuta8le valido para el
sistema operativo,
)e$to, Se carga en memoria ( utiliAa la reu8icacin de 8its para esta8lecer su
u8icacin dentro del sistema,
Datos, Se carga en memoria ( utiliAa la reu8icacin de 8its para esta8lecer su
u8icacin dentro del sistema,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software !6
Programacin de sistemas operativos
Programa desarrollado
Hits de reu8icacin, Se utiliAan para la reu8icacin de los enca8eAados de te$to (
datos
)a8la de s'm8olos, #s utiliAada para la depuracin,
)omando el segundo e;emplo 98:% se tiene @ue el arc7ivo 8inario se considera como un
arc7ivo% el cual consiste en la coleccin de procedimientos de las 8i8liotecas o mdulos @ue
no estBn enlaAados, Cada mdulo se representa con un enca8eAado @ue es
identificado como el nom8re% fec7a de creacin% propietario% cdigo de proteccin (
tamaEo, De la misma forma @ue el arc7ivo e;ecuta8le% los enca8eAados de mdulo estBn
llenos de nKmeros 8inarios,
Como se menciona8a anteriormente todos los sistemas operativos reconocen el tipo de
arc7ivos e;ecuta8le ( algunos mBs% @ue no son propiamente pertenecientes a este,
2,2,1, /eal
#l arc7ivo real en Dindows% es el @ue es considerado como un o8;etoJ estB formado por
programas% datos o cual@uier tipo de informacin @ue contenga uno o varios elementos
dentro del sistema operativo, 5n arc7ivo real se muestra por el espacio @ue ocupa dentro
de un disco duro o el mismo sistema de almacenamiento de arc7ivos administrado por el
sistema operativo,
2,2,2, =irtual
1 diferencia un arc7ivo real @ue ocupa un espacio en el disco duro% un arc7ivo virtual es
a@uel cu(o uso es temporal% administrado por los procesos del sistema,
#n Dindows estos arc7ivos se denominan como arc7ivos temporales% se generan
mientras se estB e;ecutando un sistema (% Iste% los utiliAa para el almacenamiento de
informacin% intercam8io ( organiAacin mientras se e;ecuta el sistema,
Su tamaEo var'a 8astante ( termina al detener la e;ecucin del sistema% muc7os de ellos
son eliminados,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software !G
Programacin de sistemas operativos
Programa desarrollado
2,2,>, Componentes
4os componentes principales para un arc7ivo% se forma por un nom8re ( datos, 1demBs% la
ma(or'a% o todos los sistemas operativos% relacionan otra informacin a cada arc7ivo
contenido% tales como los componentes de fec7a ( 7ora de su creacin ademBs del
tamaEo del arc7ivo, Por lo general un componente es en realidad el atri8uto del arc7ivo el
cual var'a 8astante de un sistema operativo a otro% pues la gestin de la informacin la
asocian a su sistema de arc7ivos,
4a figura ! muestra un es@uema 8Bsico ( general so8re algunos atri8utos% sin de;ar de
pensar @ue pueden e$istir muc7as mBs, 4a ma(or'a de los sistemas operativos puede @ue no
integren la ma(or'a de los atri8utos @ue se muestran% pero todos estBn presentes en
algKn sistema,
.igura !, 1lgunos de los componentes de arc7ivos comKnmente utiliAados 9)anen8aum%
200>: >G6:
#n el listado @ue se muestra en la ta8la% de esta figura !% los primeros cuatro atri8utos se
refieren a la proteccin del fic7ero% e indican @uiIn puede tener acceso al mismo (
@uienes tienen el acceso restringido, #n una gran ma(or'a de sistemas% para permitir el
acceso al sistema o algKn arc7ivo el usuario de8e presentar una contraseEa para poder
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software !9
Programacin de sistemas operativos
Programa desarrollado
validar @ue tiene el permiso de ingreso% en ese caso la contraseEa @ue se valida por el
sistema de8erB ser el atri8uto,
4os indicadores son 8its o campos cortos @ue controlan ( 7a8ilitan alguna propiedad
espec'fica% los arc7ivos ocultos% por e;emplo% no aparecen en los listados de todos los
fic7eros, #l indicador de arc7ivado es un 8it @ue especifica si el arc7ivo (a se respald o
no, #l programa de respaldo sa8e @uI fic7eros de8en respaldarse, #l indicador temporal
permite marcar un fic7ero para @ue se elimine de forma automBtica cuando termine el
proceso @ue lo cre,
Dentro de los campos de longitud de cada registro% la posicin de la clave ( longitud de la
clave se presentan en los fic7eros cuando los registros puedan ocultarse empleando una
clave, Dic7os campos proporcionan la informacin necesaria para 7allar las claves,
#l tamaEo de un arc7ivo indica @ue tanto espacio llega a ocupar dentro del disco duro% una
gran parte de los sistemas operativos antiguos e$ig'an @ue fuera especificado el
tamaEo del arc7ivo al momento de ser creado con la intencin de poder administrar la
cantidad mB$ima de espacio para su almacenamiento, 4os sistemas operativos de
estaciones de tra8a;o ( ordenadores personales son o 8astante inteligentes como para
prescindir de esa informacin,
1ctividad 2, )ipos de arc7ivos mBs comunes en sistema operativo
Con el fin de o8tener un concentrado acerca de los tipos de arc7ivos mBs comunes en
Dindows (% entre todos los miem8ros del grupo% llegar a la o8tencin de un solo
documento:
1, &nvestiga cuBles son los tipos de arc7ivo mBs comunes en el sistema operativo
Dindows,
2, &ngresa a la DiRi de esta actividad )ipos de arc7ivos mBs comunes en sistema
operativo ( realiAa tu aportacin,
>, /evisa las aportaciones de tus compaEeros9as: ( enri@uIcelas, 1demBs%
recuerda identificar tu participacin con tu nom8re e incluir las fuentes de
informacin @ue utilices,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 60
Programacin de sistemas operativos
Programa desarrollado
2,>, OrganiAacin del sistema de arc7ivos% lgica ( f'sica
4a organiAacin del sistema de arc7ivos% se 8asa al arreglo de los registros dentro de un
arc7ivo, <a @ue todos los arc7ivos estBn formados por registros,
4a organiAacin del sistema de arc7ivos lgica% refiere en la forma en @ue los registros se
organiAan ( las caracter'sticas del medio utiliAado para su almacenamiento% para los
medios magnIticos% los arc7ivos se organiAan de tres formas:
OrganiAacin secuencial, #s considerada la mBs sencilla de implementar% por@ue
los registros se almacenan ( se pueden recuperar en serie, Para localiAar un
registro especifico% se 8usca en el arc7ivo desde el inicio 7asta encontrar el
registro solicitado,
OrganiAacin directa, Son arc7ivos de acceso directo cu(o almacenamiento solo
se pueden implementar en dispositivos de almacenamiento de acceso directo% con
la diferencia de la organiAacin secuencial% la organiAacin directa permite acceder
a cual@uier registro en cual@uier orden% sin la necesidad de iniciar la 8Ks@ueda
desde el principio del arc7ivo,
OrganiAacin secuencial inde$ada, #ste tipo de organiAacin de arc7ivos es una
com8inacin de los dos tipos de organiAacin anteriores% se crea ( mantiene a
travIs de un pa@uete de software de mItodo,
Para lograr la me;or seleccin de estas opciones por lo general se consideran estas
caracter'sticas:
=olatilidad de los datos, .recuencia con la cual se efectKan adiciones (
eliminaciones,
1ctividad del arc7ivo, Porcenta;e de registros procesados durante una e;ecucin,
)amaEo del arc7ivo, Procin de espacio @ue ocupa el arc7ivo,
)iempo de respuesta, Cantidad de tiempo @ue el usuario acepta esperar antes
@ue la operacin solicitada se complete,
4a organiAacin f'sica del sistema de arc7ivos en memoria secundaria depende de la
estrategia de los diferentes tipos de organiAacin @ue se mencionaron antes% ( se
representan en la siguiente figura 96:,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 61
Programacin de sistemas operativos
Programa desarrollado
.igura 6, Diferentes tIcnicas de organiAacin de arc7ivos 9Stallings% 200!:,
Otros de los criterios importantes a considerarse durante la eleccin de una organiAacin de
arc7ivos es:
1cceso directo para la recuperacin rBpida de la informacin,
.acilidad de actualiAacin para cola8orar a mantener la informacin,
#conom'a para minimiAar el costo de almacena;e,
.acilidad de mantenimiento simple para minimiAar la pro8a8ilidad de errores,
ConfianAa de asegurar los datos,
#n la organiAacin de arc7ivos f'sica% los datos son modificados en su acceso contiguo
f'sico% dependiendo del tipo de dispositivo de almacenamiento secundario% los registros
pueden ser de tamaEo fi;o o varia8le ( se pueden organiAar de distintas formas para
construir arc7ivos f'sicos, #$isten diferentes tipos de organiAacin% los cuales son:
Cinta magnItica, #s uno de los dispositivos de almacenamientoJ con Iste el
arc7ivo f'sico estB formado de un con;unto de registros f'sicos ( cada registro estB
organiAado de forma secuencial,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 62
Programacin de sistemas operativos
Programa desarrollado
Disco magnItico, #s otro de los dispositivos secundarios de almacenamientoJ
dentro del disco% el arc7ivo es considerado una coleccin de registros f'sicos del
mismo tamaEo% su caracter'stica es @ue puede estar organiAado de forma
secuencial% ligada o por medio de una ta8la de mapeo,
1signacin de espacio li8re, #ste mItodo permite decidir al sistema operativo
@uI partes del disco no estBn siendo ocupados, Para el control de dic7o espacio
li8re comKnmente se utiliAan algunos mItodos para este propsito% vectores de
8its% lista ligada% por agrupacin ( por contador,
2,>,1, Operaciones con arc7ivos
ComKnmente los arc7ivos estBn 7ec7os para almacenar la informacin @ue se necesita
recuperar luego de realiAar algKn proceso de datos, 4a ma(or'a de los sistemas
administradores de arc7ivos 8rindan algunas operaciones de almacenamiento (
recuperacin% en siguiente listado se muestran las llamadas mBs comunes relacionadas
con arc7ivos:
Create, 3eneralmente esta llamada genera el arc7ivo sin dato alguno% su
propsito es informar @ue va e$istir un arc7ivo ( solo esta8lece algunos de su
componentes o atri8utos 9en tema anterior se mostr los diferente tipos de
atri8utos:,
Delete, #sta llamada es mu( comKn utiliAarla cuando e$iste un arc7ivo dentro del
sistema ( (a no es necesario su e$istencia para li8erar espacio en disco,
Open, 4a utilidad de esta llamada es 7a8ilitar al sistema @ue se le otorgue los
atri8utos ( la lista de direcciones de disco ( los colo@ue en la memoria principal a fin
de agiliAar el acceso en llamadas posteriores,
Close, #sta llama es Ktil para cuando todos los procesos de los arc7ivos estIn
concluidos ( sus atri8utos ( las direcciones de disco no sean de utilidad% por lo
general es necesario cerrar el arc7ivo para li8erar espacio correspondiente en las
ta8las internas,
/ead, 4lamada Ktil para leer los datos del arc7ivo% por lo general los 8(tes
provienen de la posicin actual, #l invocador de8e especificar cuBntos datos se
necesitan ( tam8iIn un 8uffer para colocarlos,
Drite, Se utiliAa esta llamada para modificar los datos en los arc7ivos% en su
posicin actual, Si esta posicin estB en el final del arc7ivo el tamaEo aumenta, Se
so8re escri8en los cuando la posicin del arc7ivo este a la mitad de su posicin ( son
reemplaAados por los e$istentes,
1ppend, #sta llamada realiAa llamadas de write pero con la restriccin de agregar
los datos al final del arc7ivo, 4os sistemas @ue ofrecen un ;uego m'nimo de
llamadas al sistema generalmente no cuentan con append,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 6>
Programacin de sistemas operativos
Programa desarrollado
SeeR, #n la organiAacin de acceso aleatorio de los arc7ivos% necesita un mItodo
para especificar el lugar del @ue de8en tomarse los datos, 5n enfo@ue comKn es
tener una llamada al sistema% SeeR% @ue a;ustarB a la posicin actual del arc7ivo
una veA @ue localiAa su u8icacin se podrBn leer los datos de esa posicin (
escri8ir en ella,
3et 1ttri8utes, ComKnmente los procesos re@uieren leer los atri8utos de los
arc7ivos para realiAar alguna llamada o proceso% realiAa un e$amen de algunos de
sus atri8utos para sa8er los tiempos de modificacin,
Set 1ttri8utes, 1lgunos de los atri8utos de los arc7ivos pueden ser esta8lecidos
por el usuario ( modificarse despuIs de @ue se cre el arc7ivo,
/ename, .recuentemente los usuarios re@uieren de modificar el atri8uto del
nom8re al arc7ivo @ue e$iste% esta llamada permite 7acerlo,
2,>,2, &mplementacin de arc7ivos
Posi8lemente para los usuarios el punto mBs importante de la implementacin del
almacena;e de los arc7ivos se poder llevar un control de @uI 8lo@ues de disco
corresponden a @uI fic7ero, Se contemplan varios mItodos en los distintos sistemas
operativos% los cuales son:
1signacin contigua, #s considerado el es@uema mBs simple pues almacena cada
arc7ivo como un 8lo@ue secuencial de datos en el disco% por e;emplo en un disco
con 8lo@ues de 1 8(te a un arc7ivo de !0 8(tes se le asignarBn !0 8lo@ues
consecutivos, 5na de las principales venta;as% es la sencilleA con @ue sa8e dnde
estBn los 8lo@ues de un arc7ivo% ( el rendimiento es 8astante 8ueno pues es
posi8le leer todo el arc7ivo del disco en una sola operacin, 1s' como e$isten
venta;as de este mItodo de implantacin tam8iIn cuenta con algunas desventa;as%
como @ue no es mu( facti8le si no se conoce el tamaEo mB$imo del arc7ivo en el
momento en @ue se crea Iste% pues el sistema operativo no se darB cuenta:
cuBnto espacio en disco de8e reservar para este arc7ivo, < en la fragmentacin
del disco se desperdicia espacio @ue de otra forma podr'a 7a8erse aprovec7ado,
1signacin por lista enlaAada, #l segundo mItodo para el almacenamiento de
arc7ivos es guardar cada uno como una lista enlaAada de 8lo@ues de disco% en la
siguiente figura 96: nos indica @ue la primer pala8ra de cada 8lo@ue se emplea
como l'nea enlaAada al siguiente 8lo@ue, #ste mItodo tiene la posi8ilidad de
utiliAar todos los 8lo@ues ( no pierde espacio por fragmentacin de disco,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 6
Programacin de sistemas operativos
Programa desarrollado
.igura 6, 1signacin por lista enlaAada de 8lo@ues de disco 9)anen8aum% 200>: 16:
1signacin por lista enlaAada utiliAando 'ndices, 1l utiliAar esta implementacin
todo el 8lo@ue estarB disponi8le por completo para los datos% ( el acceso directo
es mBs sencillo a pesar de @ue se tiene @ue seguir la cadena para encontrar una
distancia dada dentro de un arc7ivo% la cadena esta por completo en la memoria (
puede seguirse sin tener @ue consultar el disco, Su principal desventa;a es @ue
toda la ta8la de8e estar en la memoria para @ue puede funcionarJ en discos
grandes se ver'a afectado% pues entre ma(or capacidad del disco% menor serB el
rendimiento de 8Ks@ueda, 4a siguiente figura 9G: muestra el 8lo@ue de asignacin
por lista% donde se puede iniciar en el 8lo@ue ( seguir la cadena 7asta el final del
8lo@ue ( lo mismo para el 8lo@ue 6% iniciar desde a7' 7asta seguir la cadena final,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 6!
Programacin de sistemas operativos
Programa desarrollado
.igura G 1signacin por lista enlaAada utiliAando 'ndices 9)anen8aum% 200>: 16:
-odos i 9nodos 'ndice:, #ste mItodo de implementacin es Ktil para sa8er cuBles
8lo@ues pertenecen a cuBl arc7ivoJ consiste en asociar cada arc7ivo una pe@ueEa
ta8la% la cual contiene los atri8utos ( direcciones en disco de los 8lo@ues del
arc7ivo, #n la siguiente figura 99: se muestra un e;emplo simple% donde la
posi8ilidad de encontrar todos los 8lo@ues del arc7ivo, Su principal venta;a%
respecto al anterior% los nodos 'ndice emplean una ta8la en la memoria pues solo
de8e estar en memoria mientras el arc7ivo correspondiente estB a8ierto, Otra
venta;a de este mItodo es el rendimiento @ue ofrece es @ue solo es necesario
reservar cantidad de espacio para los arc7ivos a8iertos,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 66
Programacin de sistemas operativos
Programa desarrollado
.igura 9 )a8la de mItodo de implementacin de arc7ivos por medio de nodos 'ndice
9)anen8aum% 200>:
5na de las desventa;as de los nodos 'ndices% es @ue fi;a el espacio de las direcciones en
disco, Pero mientras el arc7ivo crece puede reservar la Kltima direccin de disco no para un
8lo@ue de datos% sino para la direccin de un 8lo@ue @ue contiene mBs direcciones de
8lo@ues de disco,
1ctividad >, 0apa conceptual de la organiAacin del sistema de
arc7ivos
Durante la ela8oracin de esta actividad podrBs distinguir ( representar la ;erar@u'a ( las
distintas operaciones entre arc7ivos% para ello:
1, #la8ora un mapa conceptual utiliAando la informacin del tema OrganiAacin del
sistema de arc7ivos% lgica ( f'sicaJ as' como de algunas fuentes de tu
preferencia,
2, 3uarda tu actividad usando la nomenclatura DOOT52T1>TSS<W,
>, #nv'a el arc7ivo a tu .acilitador9a: para reci8ir retroalimentacin,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 66
Programacin de sistemas operativos
Programa desarrollado
1utoevaluacin
Para reforAar los conocimientos relacionados con los temas @ue se a8ordaron en esta
segunda unidad del curso% es necesario @ue resuelvas la autoevaluacin de la unidad,
)en en cuenta @ue es mu( importante leer cuidadosamente los planteamientos indicados (
elegir la opcin adecuada para cada uno,
Para realiAar esta actividad% ingresa al aula,
#videncia de aprendiAa;e, 0ane;o de arc7ivos en 4inu$ 9de8'an% fedora%
58untu: ( Dindows
Como parte de la evaluacin de esta unidad% de8es llevar a ca8o la siguiente actividad:
1, #n un arc7ivo de te$to descri8e cmo es mane;ado el sistema de arc7ivos de
Dindows% as' como sus tipos de arc7ivos,
2, Dale formato en cuanto a su organiAacin lgica ( f'sica,
>, Complementa con los mismos conceptos para un sistema 4inu$ el @ue sea de tu
agrado 9De8ian% .edora% 58untu:,
, Consulta la #scala de evaluacin% para conocer los criterios @ue se evaluarBn,
!, 3uarda tu evidencia con el nom8re DOOT52T#1TSS<W,
6, #nv'a el arc7ivo a tu .acilitador9a: para reci8ir retroalimentacin,
Z /ecuerda @ue de ser necesario ( en 8ase a los comentarios 7ec7os por parte de tu
.acilitador9a:% podrBs enviar una segunda versin de tu actividad,
1utorrefle$iones
1demBs de enviar tu tra8a;o de la #videncia de aprendiAa;e% es importante @ue ingreses
al foro Preguntas de 1utorrefle$in ( consultes las preguntas @ue tu .acilitador9a:
presente% a partir de ellas% de8es ela8orar tu 1utorrefle$in en un arc7ivo de te$to llamado
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 6G
Programacin de sistemas operativos
Programa desarrollado
PSOT51T1)/TSS<W, Posteriormente env'a tu arc7ivo mediante la 7erramienta
1utorrefle$iones,
Cierre de la unidad
Cas concluido el estudio de la segunda unidad de la asignatura, 1 lo largo de Ista se
vieron conceptos 8Bsicos so8re el administrador de sistemas de arc7ivos sus conceptos ( la
;erar@u'a de datos% los tipos de arc7ivos reales ( virtualesJ as' como sus componentes%
ademBs de la organiAacin del sistema de arc7ivos de manera lgica ( f'sica% las
operaciones @ue se pueden realiAar con los mismos ( cmo se implementan,
#s recomenda8le @ue revises nuevamente la unidad en caso de @ue los temas @ue se
aca8an de mencionar no te sean familiares o no los recuerdes% de lo contrario (a estBs
preparado9a: para seguir con la 5nidad >, Seguridad ( Proteccin% en donde se a8ordarB lo
relacionado con la seguridad ( proteccin del entorno% el concepto ( o8;etivo de la
proteccin, )odo ello% con el fin de o8tener un prototipo final al concluir las cuatro
unidades de Programacin de Sistemas Operativos,
Para sa8er mBs
Si deseas sa8er mBs acerca de los sistemas operativos% revisa la siguiente pBgina we8:
Sistemas de arc7ivos
7ttp:""e$a,unne,edu,ar"depar"areas"informatica"SistemasOperativos"SO,7tm
.uentes de consulta
Candela% S, ( 3arc'a% C, 92006:, .undamentos de Sistemas Operativos, )eor'a (
e;ercicios resueltos, #spaEa: Paraninfo,
0orera% ?, ( PIreA% ?, 92002:, Conceptos de sistemas Operativos, #spaEa: Comillas
OrtiA% C, 9200!: Sistemas Operativos 0odernos, Colom8ia: 0edellin,
Sil8ersc7atA% 1, 92006:, .undamentos de Sistemas Operativos, #spaEa: 0c, 3raw
Cill,
Stallings% D, 9200!:, Sistemas Operativos 0odernos: 1spectos &nternos ( principios
de diseEo, 0I$ico: Pearson% Prentice Call,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 69
Programacin de sistemas operativos
Programa desarrollado
)anen8aum% 1, 9200>:, Sistemas Operativos 0odernos, 0I$ico: Pearson
#ducacin,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 60
Programacin de sistemas operativos
Programa desarrollado
5nidad >, Seguridad ( Proteccin
Presentacin de la unidad
4os tIrminos de seguridad ( proteccin se utiliAan de forma indistinta% sirven para 7acer la
distincin entre mecanismos espec'ficos del sistema operativo @ue proporcionan
seguridad% ( el aseguramiento de @ue los arc7ivos no sean visualiAados ni modificados por
usuarios no autoriAados,
4a proteccin% se o8tiene por medio de un mecanismo @ue restringe el acceso de los
programas% de los procesos o de los usuarios% a los recursos definidos por un sistema
informBtico, #ste mecanismo de8e proporcionar un medio para esta8lecer los controles
@ue se de8an imponer,
4a seguridad% ofrece la validacin de los usuarios del sistema% con el o8;etivo de proteger
la integridad de la informacin almacenada en el mismo ( los recursos f'sicos del sistemaJ
ademBs protege el acceso no valido ( la destruccin o modificacin mal intencionada de
los datos,
Por todo lo mencionado% son importantes los temas @ue se mane;arBn a lo largo de esta
unidad (a @ue son de vital importancia para un 8uen desarrollo de un sistema operativo,
Propsito
Controlar la seguridad ( limitar el acceso a los arc7ivos% mediante la implementacin de
mecanismos de proteccin @ue ofreAcan la confianAa de @ue slo los procesos
autoriAados del sistema puedan operar so8re los segmentos de memoria% CP5 ( otros
dispositivos de entrada ( salida,
Competencia espec'fica
5tiliAar las funciones ( tIcnicas para validar las amenaAas de un sistema como pol'ticas (
mecanismos mediante la diferenciacin de seguridad ( proteccin,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 61
Programacin de sistemas operativos
Programa desarrollado
>,1, #ntorno de Seguridad
#l o8;etivo de la seguridad estB 8asado en la forma cmo de8e protegerse un sistema
contra ro8os% ata@ues% o cual@uier tipo de programas o usuario mal intencionado @ue
pueden llegar afectar el 8uen rendimiento del sistema operativo, De8ido al uso creciente de
los sistemas operativos se 7a e$tendido en am8ientes comerciales% gu8ernamentales%
militares e incluso en 7ogares,
5na gran masa de datos% de vital importancia para el usuario% re@uiere de la seguridadJ no
solo de un simple sistema de proteccin% sino ademBs considerar el entorno e$terno en el
@ue el sistema opera, Por lo general de nada sirve la proteccin interna si la consola del
operador estB al alcance de personal no autoriAado% o 8ien si se pueden e$traer los
arc7ivos de forma simple% estos pro8lemas de seguridad no son atri8uidos a pro8lemas
del sistema operativo% sino mBs 8ien se derivan 8Bsicamente de pro8lemas
administrativos,
#s importante dedicar un esfuerAo en la seguridad considerando el entorno e$terno en
@ue el sistema opera, 4a informacin almacenada en el sistema% as' como los recursos
propios del sistema% de8en protegerse contra acceso no autoriAado% destruccin o
alteraciones tales como la modificacin accidental de inconsistencias 7acia el sistema
operativo
#n lo @ue concierne a la seguridad de un sistema operativo% e$isten varias etapas en las
@ue se de8e poner cuidado al tratar de implementar algKn medio de seguridad en el
sistema% las dos mBs importantes son: la pIrdida de datos ( la penetracin de intrusos,
1lgunas de las causas mBs comunes en la pIrdida de datos son:
1,L Causas -aturales: Se conoce como causas naturales a las @ue no tiene nada @ue ver
con el desarrollo del sistema% su implementacin ni am8iente de tra8a;o% pues se ve
afectado por motivos como incendios% inundaciones% terremotos% etc,
2,L .allas en 7ardware " Software: #ste tipo de fallas va enfocado al daEo f'sico en las
partes @ue componen la computadora% como lo es fallas de CP5% disco duro% memoria% etc,
( fallas en la estructura interna del sistema,
>,L #rror 7umano: #ste puede incurrir de varias formas% la mBs comKn es el descuido en
la captura de datosJ por e;emplo% puede 7a8er errores en la forma de montar algKn
dispositivo de disco duro% o al e;ecutar un programa @ue no de8er'a e;ecutarseJ la ma(or'a
de estas causas% @ue derivan en la pIrdida de informacin% pueden evitarse manteniendo
un constante ( adecuado respaldo de la informacin @ue es considerada como
importante,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 62
Programacin de sistemas operativos
Programa desarrollado
#$isten tam8iIn varios tipos de amenaAas a la seguridad% @ue pueden afectar a la
integridad del sistema% as' como a la informacin% para esto se de8en de cumplir con los
siguientes re@uisitos:
Confidencialidad,L Para un sistema es mu( importante mantener un nivel de
confidencialidad% para @ue cuando se acceda a la informacin% Ista sea mBs fBcil
de comprender ( @ue slo los usuarios autoriAados% tengan los permisos de
lectura,
&ntegridad,L #s importante @ue la informacin @ue se mane;a dentro un sistema sea
la mBs completa posi8le ( @ue se pueda editar solo por los usuarios autoriAados,
Disponi8ilidad,L Co( en d'a% el desarrollo de sistemas e$ige @ue los elementos
estIn siempre disponi8les ( en l'nea para @ue los usuarios autoriAados tengan
acceso a la informacin,
Siempre al desarrollar un sistema lo @ue se 8usca es poder garantiAar la seguridad propia del
sistema operativoJ para esto% es necesaria la implementacin en todos los niveles% (a @ue por
menor @ue sea la de8ilidad contenida en el sistema% la informacin contenida en el mismo
podr'a colapsar, Para poder mantener una seguridad en el sistema es necesario mantener
como m'nimo los re@uisitos anteriores% @ue permitan esta8lecer el es@uema de proteccin
8Bsico para el desarrollo de un sistema operativo,
1demBs de ofrecer ( garantiAar durante el desarrollo la seguridad% el sistema es @uien
de8e proveer de mecanismos de proteccin para la implementacin de las caracter'sticas
de seguridad, Sin la capacidad de autoriAar a los usuarios ( procesos% de controlar su
acceso ( el registro de tareas% ser'a prBcticamente imposi8le poder implementar estas
medidas pues el sistema estar'a restringido para poder llevarlas a ca8o, 4o idea es de @ue
el sistema tenga la posi8ilidad de poder esta8lecer un enfo@ue glo8al de proteccin%
soportBndose tal veA por mecanismos de proteccin 7ardware, 4a ma(or parte de los
aspectos de seguridad resultan ser complicados% pues a medida @ue los usuarios
malintencionados conocen las vulnera8ilidades de los sistemas de seguridad estos
pueden ser atacados,
1 medida @ue van creciendo los sistemas ( las necesidades de los usuarios% es necesario
esta8lecer medidas de seguridad @ue respondan a los re@uerimientos del mismo sistema,
#$isten diferentes tipos de amenaAas @ue pueden llegar afectar la integridad de los
sistemas operativos% Istas pondr'an al sistema operativo en un riesgo latente% o 8ien%
de;arlo inservi8le% estas son: la interrupcin% la intercepcin%
Para e;emplificar estas amenaAas revisa el flu;o normal de informacin% @ue surge cuando se
va generando un flu;o desde el origen Lcomo un arc7ivo o una regin de memoria
principalL 7acia su destinoJ la figura >,1, representa un e;emplo de este flu;o de
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 6>
Programacin de sistemas operativos
Programa desarrollado
transmisin de datos desde el origen% sin ningKn tipo de 8lo@ueo o interrupcin 7acia el
destino de la informacin,
.igura >,1, .lu;o normal de informacin 9Stallings% 200!: !6>:
5na de las amenaAas mBs comunes es la interrupcin% la cual es considerara una de las
amenaAas @ue afectan a la disponi8ilidad del sistema operativo Lpuede ser por un ata@ue @ue
genere una interrupcin de los procesos o la administracin de arc7ivosL esto tiene como
consecuencia de;ar al sistema inKtil,
4a figura >,2, muestra un e;emplo de cmo se puede generar una interrupcin del flu;o de
informacin% la cual es causada por amenaAa% 8lo@ueo o falla en el flu;o de la informacin
7acia su destinoJ este e;emplo indica @ue el sistema operativo @uedar'a inKtil tras esta
interrupcin,
.igura >,2, .lu;o normal de informacin 9Stallings% 200!: !6>:
4a &ntercepcin es otro tipo de amenaAa% en un e;emplo t'pico de este tipo se encuentra @ue
ocurre un acceso de forma inesperada ( sin autoriAacin% la cual llega a afectar la integridad
de la informacin, 4a figura >,>, representa un e;emplo de flu;o de informacin% donde el envi
de la informacin a su destino es interceptada de forma no autoriAada para poner en peligro la
integridad de la informacin,
.igura >,>, .lu;o normal de informacin 9Stallings% 200!: !6>:
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 6
Programacin de sistemas operativos
Programa desarrollado
#$iste un tipo de amenaAa mBs latente ( @ue afecta de forma directa la integridad de la
informacin, #n la figura >,, se representa un claro e;emplo de una alteracin del flu;o
de informacin% donde una amenaAa acceda de forma no autoriAada ( modifica el flu;o
de informacin a su destino% alterando de forma directa la informacin del sistema
operativo,
.igura >,, .lu;o normal de informacin 9Stallings% 200!: !6>:
Otro tipo de amenaAa es la de invencinJ esta pone en riesgo la integridad de la
informacin, #n la figura >,!, se muestra como dentro de un flu;o de informacin% una
amenaAa ingresa de;ando fuera al origen de la informacin para formar parte de esta
amenaAa para insertar datos falsos al sistema operativo
.igura >,!, .lu;o normal de informacin &magen 1, .lu;o normal de informacin, 9Stallings%
200!: !6>:
#l pro8lema mBs comKn al @ue se enfrente un sistema operativo ( @ue es 8astante dif'cil de
afrontar% es la modificacin o alteracin de la informacin% lo cual provoca un mal
funcionamiento ( afecta la integridad de las funciones% en la siguiente ta8la se muestran las
diferentes amenaAas a las @ue se afrontan cada clase de elementos,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 6!
Programacin de sistemas operativos
Programa desarrollado
)a8la >,1, #lementos @ue afrontan la seguridad e integridad de la informacin, 9Stallings%
200!: !6!:
4as amenaAas a la integridad de la informacin% son una preocupacin constante para los
desarrolladores de sistemas operativos% (a @ue la confidencialidad% disponi8ilidad e
integridad del sistema estar'a en peligro% por los diferentes tipos de amenaAas @ue estBn a
la orden del d'a,
4as amenaAas por su comple;idad ( tipo de afectacin se pueden clasificar como
amenaAas pasivas ( amenaAas activas,
4as amenaAas pasivas% son a@uellas @ue solo interceptan el flu;o de la informacin
afectando la confidencialidad de la misma% este tipo de amenaAas tienen el o8;etivo solo
de espiar ( divulgar el contenido de la informacin, #stas amenaAas son dif'cil de ser
detectarla% pues no generan alteracin al administrador de arc7ivos ni funcionalidad del
sistema operativo% una posi8le medida de8er'a ser de prevencin para evitar el filtrado,
4as amenaAas activas son delicadas para la integridad del sistema, #n Istas estB latente la
alteracin del flu;o de datos o 8ien la creacin de un flu;o falso @ue pone en riesgo el
funcionamiento normal del sistema operativo, #n la ma(or'a de los casos una amenaAa
activa es dif'cil prevenir de forma a8soluta% pues re@uerir'a de una proteccin de todos los
servicios ( rutas de comunicacin,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 66
Programacin de sistemas operativos
Programa desarrollado
1ctividad 1, Seguridad ( proteccin dentro del diseEo de un sistema
operativo
4a presente actividad tiene como propsito @ue refle$iones so8re la seguridad ( la
proteccin en un sistema operativo,
1, /etoma la lectura del tema >,1, #ntorno de Seguridad,
2, Husca los conceptos de seguridad ( proteccin en cual@uier Bm8ito 9la8oral%
personal% etc,:,
>, &dentifica @uI seguridad ( proteccin de8es considerar para un 8uen sistema
operativo ( @uI es lo mBs importante: la seguridad o la proteccin,
, &ngresa al foro ( genera una nueva entrada,
>,1,1, Clasificaciones de la seguridad
O#l departamento de defensa de los ##55% especifica cuatro clasificaciones de seguridad
para los sistemas: 1% H% C% D% esta especificacin se usa ampliamente en dic7o pa's para
determinar la seguridad de una instalacin ( modelar soluciones de seguridadP,
9Sil8ersc7atA% 2006: !6:,
)omando como 8ase de referencia la clasificacin del autor% se u8ican cuatro niveles de
clasificacin de acuerdo a los re@uerimientos de seguridad necesaria para un sistema
operativo:
-ivel D, #sta divisin% es la considerada de menor nivel% o 8ien re@uiere de una
proteccin m'nima para la integridad del sistema operativo, 4os sistemas
operativos diseEados con procesos individuales o mono usuarios% por su
naturaleAa de administracin simple de arc7ivos no es mu( comKn o frecuente el
uso de un nivel superior de la informacin,
-ivel C, #stB considerado como un nivel superior al m'nimo de seguridad
re@uerido para un sistema operativo% en este nivel se implementan mecanismos de
proteccin de recursos @ue estar'an 8a;o la responsa8ilidad de los usuarios
@uienes tendrBn los privilegios de poder realiAar modificaciones% se considera @ue
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 66
Programacin de sistemas operativos
Programa desarrollado
los sistemas comerciales como 4inu$% Dindows% por mencionar solo unos caen
esta categor'a% este nivel a su veA se clasifica en dos su8niveles,
o C1, #ste su8nivel integra algunos controles @ue permitan a los usuarios
proteger su informacin de lectura% escritura o eliminacin de arc7ivos,
o C2, #n este su8nivel% #s la parte superior del nivel C1 donde e$iste un
usuario con privilegios superiores @ue permiten la auditoria de la
informacin% tal como un administrador del sistema,
-ivel H, #n este nivel seguridad cuenta con los parBmetros incluido de los niveles
anteriores, 1dicionando para el incremento de la seguridad% la amplitud de
controles ( eti@uetas de seguridad% dominio ( mecanismos estructurados de
proteccin @ue son de utilidad para el refuerAo de restriccin de acceso no
autoriAados,
-ivel 1, )Icnicamente este nivel cumple con todas las caracter'sticas @ue tiene
una clasificacin H% este nivel utiliAa niveles espec'ficos de diseEo ( tIcnicas de
validacin para el filtrado de la informacin,
>,1,2, =erificacin de autenticidad de usuarios
O0uc7os es@uemas de proteccin se 8asan en el supuesto de @ue el sistema conoce la
identidad de cada usuario, #l pro8lema de identificar los usuarios cuando inician se
denomina verificacin de autenticidad de usuarios, 4a ma(or parte de los mItodos de
verificacin de autenticidad se 8asan en identificar algo @ue el usuario conoce% tiene o es,
ContraseEaP, .uente Sistemas Operativos DiseEo e implementacin% O9)anen8aum% 200>:
2:,
/esulta un tanto simple para algunos usuarios o aplicaciones mal intencionadas% descifrar
el contenido ( comple;idad de las contraseEas ( vencer la autenticidad de Istas teniendo
como resultado el acceso a la informacin de algKn sistema (a sea para modificar el flu;o
de la informacin% como en la intercepcin% o algo mBs delicado% como en la inversin,
.recuentemente se van incrementado los niveles de comple;idad para la creacin de
contraseEas o password utiliAados para la validacin de acceso a la informacin, 0uc7as
aplicaciones codifican% por medio de algKn algoritmo de encriptacin Leste mItodo provee un
nivel de seguridad mBs avanAado @ue la utiliAacin simple de caracteresL
comparBndolo con la lista de contraseEas disponi8les para la validacin,
Otro mItodo para la proteccin de contraseEas es el cam8io regular de Istas, #s
importante cam8iarlas de manera peridica para evitar @ue algKn intruso% pueda
descifrarla,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 6G
Programacin de sistemas operativos
Programa desarrollado
Otra variacin @ue es utiliAada para la validacin ( autentificacin de usuarios% es la
utiliAada para la identificacin f'sica, #ste enfo@ue se 8asa en algKn dispositivo f'sico para la
autoriAacin de ingreso al sistema% se utiliAa un algoritmo de validacin completamente
distinto a una contraseEa,
#l uso de los dispositivos es Ktil para sa8er si se trata del usuario propietario% dic7os
dispositivos serBn la llave de acceso al sistemaJ algo @ue ocurre de forma comKn% es @ue las
tar;etas magnIticas @ue son validadas por un lector magnItico Lel cual determina si es vBlida
o noL no tienen un alto grado de efectividad en cuestiones de seguridad% (a @ue es comKn el
e$trav'o o falsificacin de estos dispositivos,
4as 7uellas digitales% lectura de retina o patrn de voA% forman parte de un mItodo f'sico
de verificacin de usuarios, #stos mItodos consisten en la verificacin ( autenticidad
f'sica de las caracter'sticas Knicas de cada usuario% las cuales resultan dif'cil de falsificar,
4a validacin o verificacin f'sica es mu( amplia ( tiene muc7as aplicaciones% venta;as (
desventa;as% comparBndolos con otros medios de verificacin% el desarrollador es @uien
planea @ue tipo o clasificacin de seguridad se implementar'a para la validacin ( acceso
de usuarios,
1lgunas de las medidas preventivas @ue se de8en de considerar para el incremento de las
medidas de seguridad% son:
/egistrar los inicios de sesin ( log de actividades,
Hlo@ueo de inicios de sesin por fec7a o por intentos errneos de validacin,
#ncriptacin% caducidad ( modificacin constante de contraseEas,
#specificar estacin de tra8a;o validas para el acceso al sistema,
#stas medidas son algunas de las mBs usadas ( son% 8a;o el criterio del desarrollador% el
tipo de seguridad a implementar de acuerdo al nivel ( uso de la informacin @ue sea
considerada como importante,
>,1,>, =alidacin ( amenaAas al sistema
1l d'a de 7o( nos encontramos con amenaAas a los sistemas operativos cada veA mBs
sofisticadas% las cuales aprovec7an los puntos mBs dI8ilesJ por eso% es importante @ue se
validen ( se considere al diseEar un sistema operativo,
Principales amenaAas @ue se de8en validar al diseEar un sistema operativo
#n la actualidad e$isten muc7os tipos de amenaAas% por lo cual% lo me;or es prevenir
todas Istas desde el diseEo% teniendo en cuenta 8uenas prBcticas de prevencin, #stas
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 69
Programacin de sistemas operativos
Programa desarrollado
amenaAas se conocen como virus @ue atacan ( actKan de muc7as maneras% se
mencionan algunas de ellas a continuacin:
)ro(ano
&ngresa cuando el sistema no tiene seguridad% permite accesos a otros tipos de arc7ivos
@ue 7acen daEo ( en ciertos momentos se activan ( e;ecutan actividades @ue daEan,
#$ploits 9secuencia de aprovec7amiento:
4ocaliAan un punto dI8il en el sistema ( e;ecutan acciones @ue no de8er'an ser
e;ecutadas causando caos en el sistema,
/ootRits 9secuencia de nulidad:
Su origen estB en el lengua;e 5-&S ( son 7erramientas @ue entran como administradores
tomando el control,
HacRdoors 9secuencia de salida emergente:
Como su traduccin al espaEol lo dice puerta trasera la cual es a8ierta para @ue otros
sistemas daEinos puedan entrar, 18ren una puerta trasera en el sistema para @ue el
creador de malware entre en el sistema ( lo domine a su anto;o, #l o8;etivo es crear una red
computadoras infectadas con el mismo,
\e(loggers 9registro de teclas o pulsaciones:
/egistra la pulsacin de las teclas ( clic para enviarlas a un usuario no autoriAado puede
instalarse como 7ardware o aplicacin,
1ctividad 2 )a8la de elementos @ue afectan la seguridad de un sistema
Con el fin de distinguir @uI elementos afectan la seguridad en un sistema% en la siguiente
actividad construirBs una ta8la de elementos% tomando en cuenta los temas a8ordados con
anterioridad,
1, &nvestiga so8re los elementos de seguridad en un sistema operativo,
2, Con 8ase en la investigacin% realiAa una ta8la @ue contenga los elementos de
seguridad @ue de8e tener un sistema operativo ( cuBl es el o8;etivo de cada uno de ellos,
>, )omando en cuenta la informacin contenida en la ta8la% elige los tres elementos @ue
consideres de ma(or importancia ( ;ustifica los motivos por los cuales elegiste esos,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software G0
Programacin de sistemas operativos
Programa desarrollado
, 3uarda la actividad con el nom8re PSOT5>T12TSS<W, Sustitu(e las SS por las dos
primeras letras de tu primer nom8re% la < por la inicial de tu apellido paterno ( la W por la
inicial de tu apellido materno,
!, #nv'a el arc7ivo a travIs de la seccin de Hase de datos,
6, /evisa ( comenta los tra8a;os de tus compaEeros,
6, Con 8ase en los comentarios de tus compaEeros9as: reela8ora tu ta8la ( env'ala a tu
.acilitador9a: para reci8ir retroalimentacin,
>,2, Concepto ( o8;etivos de proteccin
Por una necesidad de mantener la integridad ( confia8ilidad de los sistemas% la proteccin de
Istos se vuelve prioridad para todo desarrollo de sistemas operativos% una de las
necesidades de la proteccin es impedir el acceso ( violacin a la informacin del sistema de
arc7ivos, 4a proteccin es la fuente de control ( restriccin de acceso a los sistemas%
administracin de los recursos ( procesos,
#l o8;etivo primordial de la proteccin% es proveer de un mecanismo @ue tenga la facultad de
esta8lecer pol'ticas de restriccin% ( crear 8lo@ueos a usuarios mal intencionados,
Cuando un sistema o parte del sistema no estB protegido% no tiene la confia8ilidad%
integridad ( muc7o menos la disponi8ilidad de la informacin, De8ido al mal uso de la
informacin @ue puede llegar a ser modificada por el acceso de usuarios mal
intencionados,
O.recuentemente% podemos utiliAar un principio director a lo largo de un pro(ecto% como
pueda ser el diseEo de un sistema operativo, 1;ustarnos a este principio simplifica las
decisiones de diseEo ( 7ace @ue el sistema continKe siendo co7erente ( fBcil de
comprender, 5no de los principios directores clave ( @ue 7a resistido al paso del tiempo a
la 7ora de proporcionar proteccin es el principio del m'nimo privilegio, #ste principio dicta
@ue a los programas% a los usuarios% incluso a los sistemas se les concedan Knicamente
los suficientes privilegios para llevar a ca8o a sus tareasP, 9Sil8ersc7atA% 2006: G:
Se considera @ue cuando un sistema operativo cumple con el principio de m'nimo
privilegio% durante el desarrollo integra caracter'sticas ("o mecanismos de proteccin @ue
cu8ran las necesidades de poder minimiAar los daEos causados por usuarios mal
intencionados, #ste principio tiene la 8ondad de poder ofrecer un entorno mBs seguro al
sistema% por ello es de suma importancia @ue sea considerado durante la planificacin (
desarrollo% de lo contrario no lograr'a su o8;etivo de proteccin,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software G1
Programacin de sistemas operativos
Programa desarrollado
>,2,1, 0ecanismos de proteccin
Durante el desarrollo del sistema% la parte fundamental @ue se de8e considerar es la
seguridad ( proteccin del sistema operativoJ se de8en de tener en cuenta al menos los
pro8lemas potenciales considerados en temas anteriores% para solucionar esa parte se
pueden utiliAar tIcnicas para poder esta8lecer las pol'ticas ( mecanismos de proteccin,
O#n algunos sistemas% la proteccin se impone mediante un programa llamado monitor de
referencias, Cada veA @ue se intenta un acceso a un recurso @ue pudiera estar protegido% el
sistema pide primero al monitor de referencias @ue verifi@ue @ue tal acceso estB
permitidoP, 9)anen8aum% 200>: 6:
4os diferentes tipos de mecanismos de proteccin se encuentran clasificados en:
Dominio de proteccin, #ste punto considera al sistema de cmputo como grupo
glo8al de software ( 7ardware% cada una de las partes @ue lo conforman tienen su
propio nom8re% caracter'sticas ( o8;etivo% mediante el cual se podrBn realiAar
operaciones con arc7ivos ( mane;o de informacin, Durante la e;ecucin de un
proceso solo se podrB tener acceso a los recursos @ue tiene autoriAados para
realiAar sus tareas, #n la siguiente figura 9>,6,:% se muestra un e;emplo de tres
dominios% cada uno contiene sus propios o8;etos con la autoriAacin para poder
escri8ir 9D:% leer 9/: ( e;ecutar 9S:% se puede apreciar @ue la impresora estB en
dos dominios distintos al mismo tiempo% de8ido a @ue los arc7ivos de cada
dominio 7acen referencia a la misma impresora conectada al sistema de cmputo,
.igura >,6, Dominios de proteccin con sus propios o8;etos ( derec7os de aplicacin,
9)anen8aum% 200>: 6:
4istas de control de acceso, #l o8;etivo de esta tIcnica consiste en asociar los
registros de una lista ordenada @ue contenga la ma(or cantidad de dominios ( @ue
pueda ingresar al o8;eto,
Capacidades, #ste mItodo distingue las caracter'sticas de cada o8;eto% las cuales
indican las operaciones permitidas @ue puede realiAar% as' la lista muestra los
o8;etos ( sus capacidades para logra procesar la informacin% con esto clasifica
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software G2
Programacin de sistemas operativos
Programa desarrollado
los o8;etos de acuerdo a sus capacidades facilitando el compartimiento de
su8dominios,
0atriA de acceso, #ste modelo de proteccin% puede completar su estructura por
medio de a8straccin de datos compuesto por una coleccin de derec7os de
acceso a la informacin% este tipo de modelo proporciona el mecanismo facti8le
para definir e implementar un control especifico para la asociacin de procesos (
dominios de forma dinBmica ( estBtica% los procesos de8en poder conmutar de un
dominio a otro ( permitir la modificacin controlada del contenido de las entradas
de la matriA de acceso% estas por lo general re@uieren de operaciones adicionales%
tales como: cop(% owner and contro,
>,2,2, .unciones del sistema de proteccin
4a principal caracter'stica @ue distingue las funciones de un sistema de proteccin% es
a@uel @ue cumple con los re@uerimientos de proteccin de los procesos del sistema%
contra los procesos de los usuarios% protege los procesos de los usuarios contra los de
otros usuarios% protege la administracin de la memoria ( protege los dispositivos,
Durante el desarrollo del sistema operativo% es conveniente dar fle$i8ilidad a la estructura
de los datos para imponer una variedad de pol'ticas ( mecanismos de proteccin%
e$igiendo @ue cumpla con el m'nimo de re@uerimientos para el control de pIrdida de
datos,
0Bs adelante se mostrarBn algunos de los mecanismos @ue se pueden utiliAar para
asegurar los arc7ivos% segmentos de memoria ( otros dispositivos administrados por el
sistema operativo, Se darB cuenta @ue el principal o8;etivo de todo sistema operativo es
mantener la confia8ilidad% integridad ( disponi8ilidad del sistema, #l uso de estos
mecanismos contri8u(e evitando el ma(or nKmero de amenaAas @ue pueden afectar el
rendimiento del sistema,
4a proteccin se refiere a la implementacin de mecanismos para restringir el acceso de
programas% procesos o 8ien usuarios no deseados @ue pueden per;udicar el rendimiento
del sistema,
4as funciones principales para proveer un 8uen sistema de proteccin% son:
#sta8lecer pol'ticas de uso de recursos, 4as pol'ticas se pueden esta8lecer por
usuario% administrador del sistema o 8ien so8re el diseEo ("o desarrollo,
0ecanismos de proteccin, Su uso comKn es el controlar el acceso de
programas o procesos a los recursos del sistema,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software G>
Programacin de sistemas operativos
Programa desarrollado
0onitoreo de amenaAas, Se pueden esta8lecer rutinas de control @ue permitan
ingresar al sistema o 8ien rec7aAar la peticin de acceso a determinadas
aplicaciones o procesos,
Mueda claro @ue es importante ( necesaria la proteccin de un sistema operativo% para
prevenir violaciones malintencionadas de acceso al flu;o de datos de un proceso dentro del
sistema, Por ello la conveniencia de asegurar cada componente @ue forme parte del
sistema% un recurso o componente no asegurado no puede defenderse contra alguna
variacin al flu;o de datos,
>,2,>, &mplementacin de matrices de acceso
1l iniciar con la implementacin de una matriA de acceso ( de ir llenando de datos% la
matriA tendrB espacios vac'os% estos lleva a una serie de desventa;as en el rendimiento del
sistema operativo, 4os mItodos para la implementacin de una matriA de acceso son de
utilidad para a@uellas matrices dispersas ( de poca utilidad% a continuacin se descri8e cada
uno de estos mItodos para su implementacin:
)a8la glo8al, #ste primer mItodo% tiene la funcin mBs simple de acceso para una
ta8la compuesta por tripletas 9dominio% o8;eto% con;untoLderec7os:% suponiendo
@ue se tiene un Dominio Da% 5n o8;eto Oa ( sus derec7os de lectura /a, Si Da
intenta el acceso en Oa mediante alguna operacin 0a% se analiAarB toda la ta8la en
8Ks@ueda de la tripleta ]Da% Oa% /a^ ( @ue 0a perteneAca a /a% si la
encuentra realiAa caso contrario sigue realiAando el proceso de 8Ks@ueda o 8ien
7asta @ue se genere algKn error, #ste tipo de implementacin resulta estar
creciendo considera8lemente conforme van generBndose operaciones de #"S% por lo
@ue no es posi8le mantenerla en memoria principal, Como desventa;a se tienen @ue
generar operaciones adicionales de #"S,
4ista de acceso para los o8;etos, #n este mItodo% se van almacenando los
datos por columna en la matriA para ir asociando cada o8;eto dentro de una lista
de ordenadas de pares, Siguiendo el e;emplo de la tripleta anterior% se tiene @ue si Da
intenta ingresar a Oa mediante la operacin 0 se permite si% se encuentra ]Da% /a^ (
0 tenga pertenencia en /a, Su venta;a se radica en la facilidad de poder
agrupar los dominios,
4istas de capacidades para los dominios, O4a listas de capacidades se
propusieron originalmente como una especie de puntero seguro% para satisfacer la
necesidad de proteccin de los recursos @ue se preve'a @ue i8a a ser necesaria a
medida @ue los sistemas informBticos multiprogramados se generaliAaranP
9Sil8ersc7atA% 2006: 9:,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software G
Programacin de sistemas operativos
Programa desarrollado
4a capacidad de este mItodo% consiste en @ue los derec7os de acceso a un o8;eto se
almacenan en la matriA por filas con su dominio% por lo general las listas de capacidades
estB asociada con un dominio% pero un proceso @ue se e;ecute en el dominio no podrB
ingresar de forma directa so8re esta, Cada elemento de la matriA es denominado como
capacidad ( la lista de capacidades de8e de protegerse por el sistema operativo,
0ecanismo de 8lo@ueoLclave, O#l es@uema de 8lo@ueoLclave% es un compromiso
entre las listas de acceso ( las listas de capacidades, Cada o8;eto tiene una lista
de patrones de 8it distintos% denominados 8lo@ueos, De forma similar% cada
dominio tiene una lista de patrones de 8it distintos% denominados clavesP
9Sil8ersc7atA% 2006: 9:,
4a ma(or'a de los sistemas re@uieren de alguna implementacin de matrices de acceso para
localiAar la informacin para un proceso determinado% ( es decisin del desarrollador del
sistema operativo determinar @ue mItodo ser'a el mBs ptimo para la implementacin de las
matrices de 8Ks@ueda,
1ctividad >, Cuadro sinptico de los mecanismos de proteccin
#sta actividad tiene como propsito @ue% mediante una representacin es@uemBtica%
distingas las relaciones @ue se esta8lecen entre los modelos% funciones e
implementacin de los mecanismos de proteccin,
1, #n un arc7ivo de te$to o 0icrosoft =isio realiAa un cuadro sinptico con los temas de
conceptos ( o8;etivos de proteccin,
2, 3uarda la actividad con el nom8re PSOT5>T1>TSS<W% donde SS es tu apellido9s: ( <<
nom8re9S:
>, #nv'a el arc7ivo a tu .acilitador9a: para reci8ir retroalimentacin,
1utoevaluacin
Para reforAar los conocimientos relacionados con los temas @ue se a8ordaron en esta
tercera unidad del curso% es necesario @ue resuelvas la actividad integradora, /ecuerda
@ue es mu( importante leer cuidadosamente los planteamientos indicados ( elegir la opcin
adecuada para cada uno,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software G!
Programacin de sistemas operativos
Programa desarrollado
#videncia de aprendiAa;e, Diagrama de flu;o del sistema operativo
Como parte de la evaluacin de esta unidad% de8es llevar a ca8o una actividad cu(o
propsito es conceptuar el proceso del sistema operativo% mediante la aplicacin de los
conceptos aprendidos en la unidad,
1, #n un arc7ivo de te$to ela8ora un diagrama de flu;o en el cual refle;es el orden% la
secuencia ( los pasos @ue realiAar'as para diseEar un sistema operativo con respecto a
seguridad ( proteccin% considerando todos los su8temas e$puestos en la unidad,
2, 3uarda la evidencia con el nom8re PSOT5>T#1TSS<W,
>, #nv'a el arc7ivo a tu .acilitador9a: para reci8ir retroalimentacin,
1utorrefle$iones
1demBs de enviar tu tra8a;o de la #videncia de aprendiAa;e% es importante @ue ingreses
al foro Preguntas de 1utorrefle$in ( consultes las preguntas @ue tu .acilitador9a:
presente% a partir de ellas% de8es ela8orar tu 1utorrefle$in en un arc7ivo de te$to llamado
PSOT5>T1)/TSS<W, Posteriormente env'a tu arc7ivo mediante la 7erramienta
1utorrefle$iones,
Cierre de la unidad
Cas concluido la tercera unidad del curso, 1 lo largo de Ista se vieron conceptos 8Bsicos
so8re el la seguridad ( proteccin% cmo se clasifica la seguridad% cmo se verifica la
autenticidad de los usuarios ( las principales amenaAas @ue de8emos considerar al
diseEar un sistema operativo% en cuanto a la proteccin: @uI mecanismos se utiliAan para
@ue es el sistema de proteccin ( cmo se implementan la matrices de acceso,
#s aconse;a8le @ue revises nuevamente la unidad en caso de @ue los temas @ue se
aca8an de mencionar no te sean familiares o no los recuerdes% de no ser este tu caso% (a
estBs preparado9a: para seguir con la unidad cuatro% en donde continuarBs con la 8ase del
diseEo del sistema operativo, )odo ello con el fin de o8tener el prototipo final al
terminar la Kltima unidad del curso de Programacin de Sistemas Operativos,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software G6
Programacin de sistemas operativos
Programa desarrollado
Para sa8er mBs
Si deseas conocer mBs informacin acerca de la seguridad de los sistemas operativos%
revisa la siguiente pBgina we8:
Seguridad de los Sistemas Operativos
7ttp:""e$a,unne,edu,ar"depar"areas"informatica"SistemasOperativos"SO1,7tm
.uentes de consulta
Candela% S, ( 3arc'a% C, 92006: .undamentos de Sistemas Operativos, )eor'a (
e;ercicios resueltos, #spaEa: Paraninfo,
OrtiA% C, 9200!: Sistemas Operativos 0odernos, Colom8ia: 0edellin,
Sil8ersc7atA% 18ra7am 92006: .undamentos de Sistemas Operativos, 6ma, #dicin,
#spaEa: 0c, 3raw Cill,
Stallings% D, 9200!: Sistemas Operativos 0odernos: 1spectos &nternos ( principios de
diseEo, 0I$ico: Pearson% Prentice Call
)anen8aum% 1 9200>: Sistemas Operativos 0odernos, 0e$ico: Pearson #ducacin,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software G6
Programacin de sistemas operativos
Programa desarrollado
5nidad , DiseEo de Sistemas Operativos
Presentacin de la unidad
#n esta unidad se revisarB el diseEo de los sistemas operativosJ cu(as 8ases se
encuentran en los conocimientos 8Bsicos diseEo para formar su ar@uitectura ( la interfaAJ
as' como la estructura de los mecanismos% implementacin% optimiAacin ( cmo se usa el
cac7e,
#s importante retomar el concepto de sistema operativo Lparte @ue intereractKa para la
administracin de recursos del 7ardware ( la e;ecucin de programas del usuario% cu(o
principal o8;etivo es @ue se e;ecuten programas de forma eficienteL con 8ase en Ise% se
esta8lecen las tareas de diseEo% implementacin ( e;ecucin de programas 8a;o la
administracin espec'fica de la memoria ( los arc7ivos e informacin @ue a7' se contiene,
4o anterior% lleva a entender @ue codificar un sistema operativo es una tarea ardua por s'
misma,
Propsito
#l propsito de esta unidad es @ue tengas los recursos necesarios para lograr un 8uen
diseEo de un sistema (% con la a(uda de lengua;es de programacin% puedas implementar lo
aprendido en el nacimiento de un sistema,
Competencia espec'fica
1plicar la visin 8Bsica so8re el diseEo% para la implementacin ( desempeEo del S,O,%
mediante el principio de diseEo% con el uso de las diferentes caracter'sticas de la
ar@uitectura @ue lo conforman,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software GG
Programacin de sistemas operativos
Programa desarrollado
,1, Hase del diseEo de sistemas operativos
Ca8lar de un pro(ecto 8asado para el desarrollo de un sistema operativo% es pensar de
forma glo8al en el proceso de desarrollo% los detalles de gestin de memoria ( dispositivos de
#"S% as' como tam8iIn en la administracin de arc7ivos% sin de;ar de lado la seguridad (
proteccin, Como se ve es 8astante comple;o el desarrollo de un sistema operativo% sin
em8argo la etapa cr'tica para la ela8oracin del sistema es determinar la ar@uitectura%
esta8lecer un plan de desarrollo ( determinar los riesgos del pro(ecto,
Con la nueva era de desarrollo de 7ardware% se incrementa ( evolucionan cada veA mBs
las necesidades de procesamiento del sistema operativo para @ue pueda gestionar de
forma eficiente todos los dispositivos ( recursos del e@uipo de cmputo, Co( en d'a el
progreso en el desarrollo de los sistemas operativos 7a incrementado de forma paralela
con las nuevas tecnolog'as para me;orar los algoritmos @ue gestionan procesos dentro del
sistema operativo,
4as 8ases principales para el diseEo de sistemas operativos% son:
18straccin,L Define @uI 7ace el sistema operativo% sin tomar en cuenta el cmo
lo 7aceJ por e;emplo% para un usuario de un programa procesador de te$tos% no es
necesario @ue se dI cuenta cmo funcionan por dentro el proceso de captura de
datos ni de impresin de documentos,
1mplitud de funciones ( administrador de errores,L Como se menciona8a
respecto al constante avance tecnolgico% es conveniente aumentar las
posi8ilidades de multiprocesamiento de los sistemas operativos% para permitir la
e;ecucin de varias aplicaciones sin @ue el sistema operativo colapse, #s
conveniente @ue se mane;en una serie de funciones @ue permitan administrar los
posi8les errores% @ue el mismo sistema operativo no sea capaA de corregir de
forma automBtica,
#standariAacin,L 1ctualmente e$iste una gran variedad de sistemas operativos (
dispositivos de 7ardware @ue tienen su funcin espec'fica% por lo @ue es necesaria
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software G9
Programacin de sistemas operativos
Programa desarrollado
una estandariAacin para tratar de esta8lecer una comunicacin entre las
diferentes ar@uitecturas,
4a funcin principal de un sistema operativo% es esta8lecer ( definir las a8stracciones
correctas, 4a ma(or'a de ellas% como la administracin de procesos% arc7ivos (
su8procesos,
De8ido a @ue pueden e$istir mKltiples sesiones al mismo tiempo en una computadora% el
sistema operativo de8e proporcionar mecanismos para mantenerlos separados ( no de8erB
e$istir interferencia entre unos ( otros,
,1,1, 4a visin profesional del diseEo
HBsicamente los conceptos @ue se toman en cuenta para estructurar el diseEo del sistema
operativo se 8asan en lo siguiente:
Conectividad del sistema operativo,
Orientacin a o8;etos,
1plicaciones cliente"servidor,
Servicios
#stos conceptos% se con;ugan de forma interactiva (a @ue entre ellos se ofrece la solucin
glo8al para el desarrollo del sistema, 0ediante la visin del desarrollo del sistema% se
puede aprovec7ar para crear aplicaciones con funciones espec'ficas para los usuarios
8asadas en el rendimiento del sistema ( aprovec7amiento de cada dispositivo conectado
al sistema,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 90
Programacin de sistemas operativos
Programa desarrollado
,1,2, Cuestiones 8Bsicas so8re el diseEo
1l iniciar el proceso de diseEo del sistema operativo% se de8e 7acer 7incapiI en
determinar la idea conceptual de la ar@uitectura del sistema% pues es la @ue comKnmente se
estB utiliAando para el desarrollo de nuevos sistemas operativos,
1lgunos de los aspectos 8Bsicos @ue se de8en de tomar en cuenta para el diseEo de un
sistema operativo son:
)ransparencia,L HasBndose en programas% la transparencia se determina so8re el
diseEo de interfaces de llamadas al sistema% de modo @ue no sea visi8le la
e$istencia de dos o mBs procesadores, Se dice @ue un sistema no es transparente (a
@ue el acceso a los arc7ivos remotos se realiAan mediante el esta8lecimiento e$plicito
de una cone$in en la red con un servidor remoto% cuando el env'o
posterior de mensa;es a los servicios remotos sea distinto al acceso a los servicios
locales, Se tienen diferentes tipos de transparencia% lo cuales se 8asan los de
localiAacin% migracin% rIplica concurrencia ( paralelismo,
.le$i8ilidad,L 4a fle$i8ilidad es una de las cuestiones 8Bsicas so8re el diseEo de
un sistema operativoJ e$isten dos aspectos importantes en la estructura de los
sistemas: monol'tico @ue se refiere a @ue la mB@uina de8erB e;ecutar un nKcleo
tradicional @ue proporcione la ma(or'a de los servicios ( micronucleo comKnmente
nom8rado microRernel% @ue de8erB proporcionar lo menos posi8leJ el grueso de los
servicios del sistema operativo se de8e o8tener a partir de los servidores al nivel
de usuario, 4a ma(or'a de las llamadas al sistema se realiAan mediante
seEalamiento al nKcleo,
Confia8ilidad,L #ste punto puede llegar a ser cr'tico dependiendo de la o8;etividad
del sistemaJ o% si falla algKn proceso% otro adicional al sistema operativo de8erB
encargarse del tra8a;o, 4a confia8ilidad puede verse disminuida% (a @ue en
muc7as ocasiones% se re@uiere de @ue ciertos servicios simultBneos estIn
procesando informacin ( en funcionamiento% la disponi8ilidad se puede me;orar
mediante un diseEo @ue no re@uiera dentro de su ar@uitectura un funcionamiento
simultBneo de componentes cr'ticos ( esta8lecer un punto de redundancia% cu(a
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 91
Programacin de sistemas operativos
Programa desarrollado
caracter'stica es la duplicidad de componentes claves del sistema operativo, -o
olvidemos la parte de la seguridad% la cual se 8asa en la proteccin de recursos (
la tolerancia a fallos% donde por lo general se recomienda @ue las fallas del sistema
operativo sean ocultas con una recuperacin de forma transparente para el
usuario,
DesempeEo,L #l desempeEo ;uega un papel mu( importante% pues genera @ue
cuando se e;ecuta una aplicacin Ista sea de forma Bgil con capacidades de
poder realiAar tares de multiprocesos,
#scala8ilidad,L 4a nueva era de tecnolog'as indica @ue se tiene @ue ir me;orando
en cuestiones 8Bsicas de administracin de dispositivos de #"S% para @ue se estI
al d'a con los re@uerimientos del sistema operativo @ue de8erB tener la capacidad
de me;orar su procesos ( gestin de recursos,
Por lo general% cada sistema operativo suele ser distinto uno de otroJ por su naturaleAa
propia del nivel de comple;idad ( uso% var'a de acuerdo al o8;etivo de cada uno, Por lo
general un sistema operativo suele ser un programa e$tremadamente grande% por lo cual
se puede pensar @ue el diseEo suele ser de gran comple;idad ( dif'cil de desarrollar,
4os sistemas operativos tienen @ue enfrentar a usuarios 7ostiles ( @ue desean intervenir
en el funcionamiento del mismo lo cual provoca @ue el funcionamiento del sistema se vea
vulnera8le a las malas intenciones de los mismos usuarios, Se de8e cuidar no caer en
cuestiones como: no tener la idea clara de cmo se va utiliAar el sistema ( @uI es lo @ue
se utiliAarB de Iste,
4a porta8ilidad se 7a vuelto una necesidad 8Bsica en sistemas operativos modernos% pues
suelen diseEarse a modo @ue se puedan utiliAar en diferentes ar@uitecturas de 7ardware%
( de8an reconocer sin pro8lema la ma(or'a de dispositivos de #"S,
4a interfaA es la puerta de entrada a un sistema operativo, Por lo general se tiene @ue%
mientras mBs completa% sencilla e integra sea la cara de un sistema operativo% este podrB ser
sencillo de utiliAar por el usuario,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 92
Programacin de sistemas operativos
Programa desarrollado
,1,>, Conceptos generales de una ar@uitectura
4a ar@uitectura de un sistema% es la estructura @ue lo conforma de acuerdo a sus
componentes de software% propiedades e$tremamente visi8les ( la relacin entres ellosJ es
un con;unto de conceptos ( decisiones de diseEo relativos a la estructura del sistema
operativo% @ue de8en 7acerse antes de la ingenier'a% con el fin de asegurar la satisfaccin del
usuario, #sta conce8ida dentro un nivel de diseEo ( su importancia estB en ofrecer la
comunicacin entre las personas involucradas% la documentacin% restricciones de
implementacin% cualidades del sistema,
Se 8asa en un diseEo de alto nivel% a estructura del sistema% los componentes del sistema
sus relaciones ( principios de funcionalidad% componentes% conectores% configuracin (
restricciones,
Cuando se crean ar@uitecturas de los sistemas se comprende @ue:
4a visin ar@uitectnica% estilo% principios mecanismos ( claves de comunicacin
se refiere a la metaLar@uitectura,
4as vistas ar@uitectnicas% soportan la documentacin ( comunicacin de la
ar@uitectura en tIrminos de los componentes ( sus relaciones% las vistas son Ktiles
para interactuar con los componentes para desempeEar sus responsa8ilidades
evaluar el impacto,
4os patrones ar@uitectnicos% tales como capas% cliente servidor% mecanismos (
puentes% son utiliAados para ser tomados como 8ase del diseEo,
4os principios de diseEo ar@uitectnico claves% a8straccin% separacin de
responsa8ilidades simplicidad ( tIcnicas de ocultamiento de interfaces% son otros
de los conceptos @ue son utiliAados para el diseEo,
4a ar@uitectura de software de8e ser diferencial so8re el diseEo e implementacin de un
sistema operativo% (a @ue la ar@uitectura es la 8ase del diseEo ( la implementacin es la
puesta en operacin de un sistema operativo desarrollado,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 9>
Programacin de sistemas operativos
Programa desarrollado
,1,, Caracter'sticas diferenciales del diseEo
4a ar@uitectura de un sistema% es reconocida como un ingrediente esencial para el diseEo
de un sistema, Con la ar@uitectura definida se puede esta8lecer el diseEo ( desarrollo de
los sistemas% por lo general se tiene @ue la ma(or'a de los sistemas operativos esta8lecen
un punto de partida los re@uerimientos @ue de8en de cumplir para el desarrollo del
sistema,
#l diseEo de la ar@uitectura de un sistema% tiene @ue estar relacionado con la estructura
general ( las formas en @ue la estructura lleva a la satisfaccin de las propiedades clave del
sistema, #l diseEo de la ar@uitectura satisface 2 etapas 8Bsicas:
5n nivel de a8straccin del diseEo% donde los desarrolladores del sistema pueden
esta8lecer el comportamiento glo8al del mismo% en el @ue se toma en cuenta el
funcionamiento% rendimiento% confia8ilidad% etc, 1s' una e$celente ar@uitectura%
7ace al diseEo una parte fBcil de esta8lecer,
Sirve como memoria para el sistema en lo @ue va evolucionando en tiempo de
desarrolloJ el diseEo se usa en el proceso de me;orar el sistema% esta8leciendo los
aspectos del sistema,
#l documentar el proceso de la ar@uitectura del sistema a(uda 8astante al diseEo e% igual
a todo el ciclo de vida del sistema% para ofrecer el 8uen funcionamiento del mismo, Otras
de las caracter'sticas del diseEo son: las incluidas en servicios disponi8les%
especialiAacin de servicios% recursos compartidos% transparencia de localiAacin%
independencia de 7ardware% diBlogo 8asado en mensa;es% escala8ilidad ( reusa8ilidad de
componentes,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 9
Programacin de sistemas operativos
Programa desarrollado
1ctividad 1, DiseEo de un sistema operativo
#sta actividad tiene como finalidad @ue refle$iones cmo de8e ser el diseEo de un
sistema operativo,
!, /etoma la lectura de los temas anteriores,
6, Husca definiciones de un sistema operativo 9como Dindows o 4inu$:,
6, &dentifica @uI parBmetros de8es considerar para diseEar un 8uen sistema operativo (
@uI es lo mBs importante,
G, &ngresa al foro ( genera una nueva entrada,
,2, DiseEo de interfaces
4a administracin de los recursos de 7ardware es el o8;etivo principal del diseEo% pero
para ello% no se puede de;ar de lado el como los usuarios interactKan con la computadora (% a
travIs de Ista mane;an un sistema ( todas sus aplicaciones Lpudiendo ser este
proceso fascinante% pues muc7o del tra8a;o se puede plasmar en la presentacin de cmo
estB planteado el sistema para su mane;oL,
4os diferentes tipos de interfaces @ue se tienen consideradas para el desarrollo de un
sistema son:
&nteraccin 7umanoLcomputadora,L #stB relacionado con la prBctica del diseEo%
construccin e implementacin de sistemas de cmputo interactivos centrados en
el usuario, Su principal actividad es el desarrollo de nuevos sistemas de interface
para los usuarios% lo @ue implica nuevas tIcnicas de graficacin,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 9!
Programacin de sistemas operativos
Programa desarrollado
.igura 1, Dispositivos de interface
&nterface 8asada en te$to,L 1nteriormente% los desarrollos de sistemas orientados
en te$tos o caracteres% solo ten'an la capacidad de desplegar cdigos 1SC&& en
pantallaJ en contraste a los orientados a grBficos% la interface de te$to consisten
en un con;unto de comandos @ue el usuario de8e memoriAar ( con los cuales se
dan instrucciones al sistema para el mane;o de los recursos,
.igura 2, &nterface de usuario de 0SLDOS
&nterface grBfica de usuario,L #sta interface aprovec7a las capacidades de
despliegue grBfico de la computadora% lo cual permite 7acer mBs sencillo el
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 96
Programacin de sistemas operativos
Programa desarrollado
mane;o del sistema% este tipo de interface utiliAa iconos ( menKs tanto para para
realiAar comandos% como para a8rir arc7ivos o e;ecutar alguna accin dentro de la
aplicacin, 1lgunos de los componentes grBficos comunes en este tipo de
interfaces son% el apuntador% dispositivo apuntador% iconos% menKs% ventanas% (
escritorio, Cada sistema operativo tiene su propia ar@uitectura grBfica,
.igura >, &nterface grBfica
&nterface alternativas,L #ste tipo de interfaces son poco utiliAadas% pero de gran
utilidad para pensar en alguna alternativa de seguridad% las interfaces alternativas
pueden ser las @ue se 8asan en el reconocimiento de voA% la cual soporta un
diBlogo interactivo entre el usuario ( una aplicacin de software, 4os dispositivos
de interface neuronal% permiten a los usuarios aprovec7ar las seEales elIctricas
generadas por sus cuerpos para controlar una computadora o dispositivos
elIctricos conectados entre s',
&nterface de usuario,L Su principal o8;etivo es implementar interfaces @ue sean
eficientes ( efectivas al ser utiliAadas por el usuario% el inicio de su desarrollo estB
en el planteamiento de prototipos de interfaces donde se determinan @uI eventos
ocurrirBn ( los procesos lgicos a dic7os eventos,
#$iste una metodolog'a para la etapa de prue8as conocida como prue8as de usa8ilidad%
@ue puede validar el diseEo de la interface ( revelar Breas @ue re@uieran refinamiento, 4a
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 96
Programacin de sistemas operativos
Programa desarrollado
finalidad de esta tIcnica es poder identificar el uso @ue le da el usuario en forma directa,
Por e;emplo% se pude ensaEar a los usuarios a @ue sepan plasmar la idea de
me;oramiento de la interface% un usuario podr'a e$presar @uI desea: O@uiero @ue en la
parte superior de la interface grBfica% se pueda tener acceso a mis arc7ivos
almacenadosP, Con este tipo de anBlisis se interactKa de forma directa con el usuario para
@ue el desarrollador pueda ofrecer un me;oramiento en el diseEo de las interfaces,
,2,1, Principios so8re el diseEo de interfaces
Durante la etapa del diseEo de interfaces% se de8en de considerar diferentes principios
relevantes para el diseEo de los diferentes tipos de interfaces% como son:
SencilleA,L Para evitar @ue los usuario tengan complicaciones con las interfaces al
momento de estar utiliAando el sistema% estas de8en 8asarse en el principio de la
sencilleA% para 7acerlas mBs fBcil de entender e implementar,
&ntegridad,L Con la finalidad de poder permitir utiliAar todas las funciones del
sistema% se de8e 8asar su diseEo en el principio de la integridad par @ue permita el
uso completo,
#ficiencia,L Para los usuarios% las llamadas al sistema de8en ser de forma
transparente% para ello la implementacin de los mecanismos de8e ser de forma
eficiente% para el desarrollador de8e ser intuitivo para poder tener una eficiencia
del sistema,
Con estos principios% al desarrollador le permitirB @ue el uso del sistema pueda ser del
agrado de los usuarios,
,2,2, Paradigmas
Otros de los criterios @ue se de8en considerar para poder esta8lecer el diseEo de las
interfaces% se tienen algunas propuestas @ue se tienen para comenAar con el diseEo de las
interfaces,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 9G
Programacin de sistemas operativos
Programa desarrollado
4os paradigmas tienen una importancia clave en la programacin% pues por medio de
estos se pueden crear planteamientos ( 8ases para poder desarrollar un software, 1l
revisar los tipos de paradigmas de programacin mBs comunes se encuentran:
&mperativos,L #ste tipo de paradigma es el considerado como el mBs comKn para
el desarrollo de sistemas% 8asado en sentecias de cBlculos sencillos e iterativas%
asociadas a una direccin de memoria% de forma @ue al final de la iteracin
represente el resultado correcto,
.uncional,L Se 8asan en un tipo de programacin en forma de funciones
matemBticas,
4gico,L Para este paradigma se tienen definidas reglas lgicas @ue resuelven
pro8lemas planteados por el sistema,
Orientado a o8;etos,L Su finalidad es encapsular estado ( operaciones en
o8;etosJ poseen clases ( 7erencias% los cuales se pueden comunicar entre ellos,
#structurado,L #l cdigo se divide en 8lo@ues% estructuras% @ue pueden o no
comunicarse entre ellas% las cuales pueden ser controlados por secuencias%
seleccin e interaccin,
3uiada por eventos,L 4a estructura de este paradigma ( su e;ecucin de
programas van determinados por los sucesos @ue ocurran en el sistema o @ue
ellos mismos provo@uen,
,2,>, 4lamadas al sistema
Durante el desarrollo de las interfaces% las llamadas al sistema de8en cumplir con el
menor nKmero de llamadas% es importante contar con un paradigma de datos unificador el
cual serB de muc7a utilidad durante el proceso de diseEo,
4as llamadas al sistema no de8erBn interferir en la potencia del 7ardware Lsi el 7ardware
cuenta con un mecanismo 8astante eficiente para 7acer algo so8re los mecanismo de
accesoL (% si una llamada al sistema es rBpida los usuarios siempre podrBn construir
interfaces mBs cmodas con 8ase en ella,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 99
Programacin de sistemas operativos
Programa desarrollado
Como se mencion con anterioridad% el sistema operativo para ser eficiente% de8er'a de
ofrecer el menor nKmero de llamadas al sistema% por lo cual de8e de cumplir con estos
criterios:
Se de8e contar con un paradigma unificador de datos,
0ane;o de forma general de llamadas al sistema
Procedimientos de 8i8lioteca sencillos ( espec'ficos,
Determinar la implementacin de las llamadas al sistema so8re cone$iones o sin
cone$iones,
Otra consideracin @ue va relacionada con la interfaA de llamadas al sistema es su
visi8ilidadJ algunos sistemas operativos como 5ni$ reconoce las llamadas adicionales% as' la
lista de procesos es pK8lica% en el caso de Dindows no 7a 7ec7o pK8licas la lista de llamadas
al sistema, 4a diferencia entre 7acer pK8lico o no las listas% a(uda a los
implementadores en la fle$i8ilidad para cam8iar las llamadas al sistema reales,
4a cantidad ( tipo de llamadas al sistema% va en relacin al sistema operativo ( var'an de
uno a otro, #$isten% por lo general: las llamadasal sistema para la e;ecucin de fic7eros @ue
contienen programas ( para pedir mBs memoria dinBmica para un programa,
1ctividad 2, 1r@uitectura del diseEo del sistema operativo 4inu$
#sta actividad tiene como propsito @ue distingas cmo estB estructurada la ar@uitectura del
sistema operativo 4inu$,
1, &nvestiga so8re la ar@uitectura del sistema operativo 4inu$% principios del diseEo%
paradigmas ( llamadas al sistema,
2, Con 8ase en la investigacin% realiAa ela8ora un arc7ivo de te$to @ue contenga los
temas mencionados pero con enfo@ue en 4inu$,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 100
Programacin de sistemas operativos
Programa desarrollado
>, 3uarda la actividad con el nom8re PSOT5T12TSS<W, Sustitu(e las SS por las dos
primeras letras del primer nom8re% la < por la inicial del apellido paterno ( la W por la inicial del
apellido materno,
, #nv'a el arc7ivo a tu .acilitador9a: para reci8ir retroalimentacin,
,>, &mplementacin ( desempeEo
Para la implementacin de las aplicaciones en general es conveniente formar en tres
apartados:
&ntegracin de todos los componentes,
O8;etos distri8uidos,
Servicios,
#n estructuras similares de datos para sistemas operativos% e$iste la posi8ilidad @ue uno
sea mBs rBpido @ue otro% pero tam8iIn% puede ser @ue el sistema mBs rBpido puede ser
menos confia8le @ue el sistema mBs lento,
)ratar de realiAar optimiAaciones comple;as en estructura del sistema operativo puede
generar errores% para evitar estos errores es conveniente aplicarlos solo si son
necesarias, #$isten diferentes tIcnicas @ue pueden ser utiliAadas para me;orar el
desempeEo en la estructura del sistema% las cuales se verBn a continuacin,
,>,1, #structura del sistema
De acuerdo a todo lo @ue se 7a comentado en cap'tulos anteriores% so8re 1dministracin
de procesador% memoria ( dispositivos de #"S% as' como la administracin de arc7ivos%
seguridad ( proteccin del sistema operativo% la parte @ue corresponde a la estructura del
sistema operativo% sirve para dar referencia% sa8er por@uI algunos sistemas operativos
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 101
Programacin de sistemas operativos
Programa desarrollado
cuentan con mBs elementos @ue otros% como estBn ar@uitectnicamente construidos ( por
@uI adicionar o no servicios al sistema,
#s importante tener mu( en cuenta la etapa de anBlisis del sistema% (a @ue es a@u' donde se
tendrB l'nea para la etapa del desarrollo ( para sa8er lo @ue se tiene @ue 7acer% cmo 7acerlo
( cuBl serB su l'mite, 4a ar@uitectura de un sistema representa un paso 7acia el desarrollo del
mismo% una veA @ue se analiAan ( definen los re@uerimientos del usuario, #l sistema @uedarB
con todos los mdulos o su8sistemas para tener una estructura completa de los datos @ue se
tendrBn @ue procesar,
Co( en d'a e$isten diferentes tipos de sistemas operativos% dentro de los cuales estBn los
mBs comunes:
0onotarea,L Solo puede e;ecutar una tarea Knicamente,
0ultitarea,L )iene la capacidad de e;ecutar varias tareas,
0onousuario,L Permite ser ocupado por un usuario Knico durante el tiempo de
e;ecucin de sus procesos,
0ultiusuario,L Permite ser ocupado por dos o mBs usuarios durante el tiempo de
e;ecucin de sus procesos,
0onoproceso,L Solo puede gestionar un solo procesador
0ultiproceso,L Permite gestionar dos o mBs procesadores para gestionar la carga
entre ellos,
ClienteLServidor,L Distri8u(e las tareas entre diferentes llamadas al sistema,
)odos esos tipos de sistemas operativos tienen propiamente su estructura funcional% la
cual variarB dependiendo su tipo, 1s' como para cada tipo de sistema operativo 7a(
diferentes tipos de estructuras% e$isten diferentes alternativas:
Por capas ( anillos,L #n este tipo de estructura se contemplan seis capas para su
formacin:
Capa 0% capa @ue se encarga de la administracin de
multiprogramacin 8Bsica del microprocesador
Capa 1% en esta capa se encarga de gestionar el espacio en la
memoria,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 102
Programacin de sistemas operativos
Programa desarrollado
Capa 2% para esta capa su principal actividad es comunicar entre
cada proceso ( la consola del operador,
Capa >% en esta capa la gestin se enfoca so8re los dispositivos de
#"S,
Capa % esta capa se gestionan los programas de los usuarios,
Capa !% es donde se alo;an los procesos del operador del sistema,
1r@uitectura 0a@uina virtual,L #sta ar@uitectura% alternativa de software% se
vuelve cada veA mBs Ktil para el mane;o de servidores ( economiAador de
7ardware% de tal forma @ue el sistema emula la e$istencia de 7ardware ( el
software convierte las peticiones a la ma@uina virtual en operaciones so8re la
mB@uina f'sica, #$isten diferentes tipos de virtualiAacin:
&H0 =0% las ma@uina virtuales se 8asa8an en monoLtarea,
?ava =0% esta mB@uina permite la e;ecucin de cdigos 8inarios en
distintas plataformas,
=0Dare% tiene la facultad de poder e;ecutar varias mB@uinas con
distintas sesiones%
Citri$% al igual @ue vmware puede e;ecutar varias mB@uinas con
distintas sesiones% ( con sus caracter'sticas propias del software
@ue permite el mane;o de dispositivos entre sus ma@uinas,
1r@uitectura Rernel monol'tico,L #sta ar@uitectura se define por la e$istencia de
una coleccin de procedimientos (% de forma independiente% cada procedimiento
podrB invocar a cual@uiera de los otros% cada veA @ue re@uiere 7acerlo% por medio
su interface determinante a travIs de parBmetros ( resultados,
1r@uitectura microRernel ( multi7ilado,L #ste tipo de ar@uitectura% se 8asa en
o8tener la ma(or funcionalidad del Rernel% se limita para @ue se pueda e;ecutar en
modo privilegiado ( @ue permita las modificaciones ( e$tensiones de forma simple
( sencilla,
1r@uitectura orientada a o8;etos,L Para este tipo de ar@uitecturas los recursos
@ue provee el sistema operativo es por medio grafico u o8;etos,
1r@uitectura clienteLservidor,L #n esta ar@uitectura el modelo principal de
tra8a;o% se encarga en dividir los procesos independientes @ue operan entre ellos%
lo cual es de utilidad para intercam8iar informacin% recursos% procesos ( servicios,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 10>
Programacin de sistemas operativos
Programa desarrollado
4os nuevos desarrollos de sistemas operativos% tienen un panorama mBs amplio para su
desarrollo, Cada uno de sus componentes ar@uitectnicos forma parte de un e;emplo de
8ase de diseEo,
,>,2, 0ecanismos en comparacin con pol'ticas
4os mecanismos son parte de la estructura del sistema operativo% as' como las pol'ticas
de los procesos de cada usuarioJ donde e$istirBn estructuras% arreglos de datos ( uniones, 4a
separacin de estos conceptos a(uda a la co7erencia ( estructura del sistemaJ como lo dice
)anen8aum 9200>: G61:% OOtro principio @ue a(uda a la co7erencia ar@uitectnica% ademBs de
@ue evita @ue las cosas creAcan demasiado ( las mantiene 8ien estructuradas% es el de
separar el mecanismo ( las pol'ticas,P
4as pol'ticas pueden ser implementadas dentro del nKcleo ( las pol'ticas fuera o dentro del
mismo nKcleo,
4a intencin de permitir la meAcla de las estructuras contenidas por arreglos de enteros% de
caracteres% miem8ros de la estructura ( de uniones% permite definir un nuevo tipo de datos
el cual puede ser utiliAado como si fuera un tipo primitivo,
4a ortogonalidad% es la capacidad de poder com8inar estos distintos tipos de formas
independientesJ Ista se 8asa en los principios de la sencilleA e integridad para el
desarrollo de un sistema% por lo @ue puede ser utiliAada para separar los conceptos de
procesos ( su8procesos% donde un proceso es un contenedor de recursos ( un
su8proceso es una entidad,
,>,>, #structuras estBticas o dinBmicas
Para el desarrollo de la ar@uitectura de un sistema operativo% por lo general suele
utiliAarse dos tipos de estructuras:
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 10
Programacin de sistemas operativos
Programa desarrollado
DinBmicas, #ste tipo de estructuras se distingue por ser mBs fle$i8les ( permiten
adaptarse a todos los recursos disponi8les% pero tiene como desventa;a de @ue
re@uieren de un gestor de memoria dentro del sistema operativo,
#stBticas, #n este tipo de estructuras% se caracteriAan por ser de mBs fBcil
comprensin% su programacin es mBs simple ( su uso es mBs rBpido,
#l desarrollador de8erB determinar @uI tipo de estructura de8erB utiliAar para la
implementacin el desarrollo de su ar@uitectura% considerando espacios de procesos de
usuario o espacio de procesos en nKcleos,
,>,, &mplementacin descendente o ascendente
Para la implementacin de un sistema% e$isten diferentes tipos de tIcnicas @ue son de
gran utilidad para llevar a ca8o el proceso de implementacin% entre las @ue estBn:
Ocultacin del 7ardware,L #sta tIcnica permite ocultar las interrupciones%
convirtiIndolas en operaciones de sincroniAacin entre 7ilos, #l ocultar la
ar@uitectura del 7ardware% permite facilitar la transporta8ilidad del sistema
operativo, 4a fuente del sistema operativo de8e ser Knica ( una compilacin
condicional,
&ndireccin,L Para esta tIcnica de8erB e$istir cierta fle$i8ilidad por parte del
sistema operativo% (a @ue si por algKn motivo el usuario da la entrada de algKn
proceso por medio del teclado% al pulsar la tecla puede o8tener un valor @ue no
corresponde con lo deseado% para solucionarlo de8e e$istir la posi8ilidad de utiliAar
configuraciones distintas de teclados,
/eentra8ilidad,L #n esta tIcnica se permite la e;ecucin de forma simultBnea de
algKn fragmento de cdigo% la e;ecucin se puede dar dentro de un
multiprocesador o en un monprocesador Len este% pueden darse interrupciones
cuando se e;ecuten las mismas porciones del cdigo al anterior,
Para un 8uen proceso de la implementacin de un sistema% podr'a verificarse la e$istencia
de errores, Cuando una llamada al sistema falla% puede ser por@ue los fic7eros no e$isten
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 10!
Programacin de sistemas operativos
Programa desarrollado
dentro del mdulo o 8ien pertenecen a otro% se de8en considerar la ma(or parte de las
prue8as al inicio del procedimiento para validar la e;ecucin de llamadas al sistema,
,>,!, Principios de optimiAacin
Siempre @ue se tiene el sistema en proceso de implementacin% se tiene en mente la
comparacin al pensarse: @uI es mBs conveniente% un sistema operativo rBpido% confia8le o
lento, 4a optimiAacin comple;a es comKn @ue genere errores de diseEo% por lo cual es
conveniente optimiAar solo lo necesario dentro de la ar@uitectura del sistema,
1l ver @ue se espera @ue un sistema sea sencillo ( rBpido o ro8usto ( lento% de8en
considerarse las funciones @ue se desean adicionar a la estructura ( validar si es
necesario modificarla para su desempeEo, Para dar a un sistema: seguridad% integridad (
optimiAacin L@ue sean suficientes para un 8uen desempeEoL% es necesario dimensionar la
ar@uitectura del sistema mismo ( su optimiAacin,
,>,6, 5so de cac7Is
4a cac7e es un medio de utilidad de almacenamiento temporal% su funcin es 7a8ilitar el
acceso a datos @ue 7an sido recientemente consultados esto permite 7acer mBs Bgil el
proceso de lectura,
#n el desarrollo de un sistema esta tIcnica en 8astante conocida para me;orar el
desempeEo ( velocidad al acceso de arc7ivo% puede aplicarse en situaciones en las @ue
es pro8a8le @ue se va(a a necesitar el mismo resultado varias veces, Por lo general se
utiliAa para a@uellos dispositivos de #"S @ue re@uieran el mismo resultado en varias
ocasiones, #$isten diferentes tipos de cac7es entre los @ue estBn:
Cac7e de 8lo@ues,L #n este tipo de cac7e es un pe@ueEo segmento de memoria
/10% @ue se aEade algKn sitio del disco con la finalidad de almacenar los datos
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 106
Programacin de sistemas operativos
Programa desarrollado
@ue 7an sido le'dos con anterioridad% teniendo como resultado agilidad al cargar los
datos
Cac7e de paginacin,L #ste tipo de cac7e se almacena en memoria /10% dentro
del disco duro,
1ctividad >, Diagrama de flu;o para la implementacin de un SO
#n esta actividad realiAarBs un diagrama de flu;o de cmo se de8e realiAar un sistema
operativo,
2, #n un arc7ivo de te$to realiAa un diagrama de flu;o considerando la implementacin ( el
desempeEo de un SO,
2, 3uarda la actividad con el nom8re PSOT5T1>TSS<W, Sustitu(e las SS por las dos
primeras letras del primer nom8re% la < por la inicial del apellido paterno ( la W por la inicial del
apellido materno,
>, #nv'a el arc7ivo a tu .acilitador9a: para reci8ir retroalimentacin,
1ctividad , Cmo optimiAar Dindows
#l propsito de esta actividad es @ue realices una investigacin en &nternet ( 8us@ues
comentarios ( opiniones de personas @ue tienen e$periencia en el uso del sistema
operativo Dindows,
1, &nvestiga acerca de cmo se podr'a optimiAar Dindows 9@uI se recomienda para @ue
funcione me;or% con menos o mBs ventanas% mBs memoria% etc,:
2, #n un arc7ivo de te$to reporta tu investigacin ( recomendaciones, 3uarda la
actividad con el nom8re PSOT5T1TSS<W, Donde SS es tu apellido9s: ( << nom8re9s:,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 106
Programacin de sistemas operativos
Programa desarrollado
>, #nv'a el arc7ivo a tu .acilitador9a: para reci8ir retroalimentacin,
1utoevaluacin
Para reforAar los conocimientos relacionados con los temas @ue se a8ordaron en esta
tercera unidad del curso% es necesario @ue resuelvas la actividad integradora, /ecuerda
@ue es mu( importante leer cuidadosamente los planteamientos indicados ( elegir la opcin
adecuada para cada uno,
#videncia de aprendiAa;e, Diagrama de flu;o para diseEar un sistema
operativo
Como parte de la evaluacin de esta unidad% de8es llevar a ca8o una actividad cu(o
propsito es conceptuar el proceso de diseEo de un sistema operativo,
1, #n un arc7ivo de realiAa un diagrama de flu;o de cmo al diseEar un sistema operativo
afectan todos los temas ( su8temas de esta unidad en el orden ( forma @ue consideres
de8en irse resolviendo para realiAar un 8uen diseEo de un sistema operativo,
2, 3uarda la evidencia con el nom8re PSOT5T#1TSS<W, Sustitu(e las SS por las dos
primeras letras del primer nom8re% la < por la inicial del apellido paterno ( la W por la inicial del
apellido materno,
>, #nv'a el arc7ivo a tu .acilitador9a: para reci8ir retroalimentacin,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 10G
Programacin de sistemas operativos
Programa desarrollado
1utorrefle$iones
1demBs de enviar tu tra8a;o de la #videncia de aprendiAa;e% es importante @ue ingreses
al foro Preguntas de 1utorrefle$in ( consultes las preguntas @ue tu .acilitador9a:
presente% a partir de ellas% de8es ela8orar tu 1utorrefle$in en un arc7ivo de te$to llamado
PSOT5T1)/TSS<W, Posteriormente env'a tu arc7ivo mediante la 7erramienta
1utorrefle$iones,
Cierre de la unidad
Cas concluido la cuarta unidad del curso, 1 lo largo de Ista se vieron conceptos 8Bsicos
so8re diseEo de sistemas operativos% las 8ases del diseEo% diseEo de interfaces ( la
implementacin ( diseEo final con temas como la visin profesional del diseEo% cuestiones
8Bsicas ( conceptos generales% los principios del diseEo% paradigmas ( llamadas al
sistema ( por ultimo los su8temas de estructura% sus mecanismos sus estructuras% su
implementacin la optimiAacin ( el mane;o de los cac7es,
#s aconse;a8le @ue revises nuevamente la unidad en caso de @ue los temas @ue se
aca8an de mencionar no te sean familiares o no los recuerdes% de no ser este tu caso% (a
estBs listo para terminar esta materia de Programacin de Sistemas Operativos,
Para sa8er mBs
Si deseas sa8er acerca de cmo se crea un diagrama de flu;o% consulta la siguiente
direccin electrnica:
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 109
Programacin de sistemas operativos
Programa desarrollado
Cmo crear un diagrama de flu;o
7ttp:""www,educarc7ile,cl"5ser.iles"P0029".ile"O8;etosTDidacticos"#4OT12T#4#"
/ecursosTparaTlaT1ctividad"ComoTcrearTunTDiagramaTdeT.lu;o,pdf
.uentes de consulta
Candela% S, ( 3arc'a% C, 92006: .undamentos de Sistemas Operativos, )eor'a (
e;ercicios resueltos, #spaEa: Paraninfo,
OrtiA% C, 9200!: Sistemas Operativos 0odernos, Colom8ia: 0edellin,
)anen8aum% 1 9200>: Sistemas Operativos 0odernos, 0e$ico: Pearson #ducacin,
Stallings% D, 9200!: Sistemas Operativos 0odernos: 1spectos &nternos ( principios de
diseEo, 0I$ico: Pearson% Prentice Call
Sil8ersc7atA% 1 92006: .undamentos de Sistemas Operativos,#spaEa: 0c, 3raw Cill,
Ciencias #$actas% &ngenier'as ( )ecnolog'a * &ngenier'a en Desarrollo de Software 110

Das könnte Ihnen auch gefallen