Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programa desarrollado
Programa de la asignatura:
Programacin de sistemas operativos
Unidad 4. Diseo de Sistemas Operativos
1
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software
2
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software
Propsito
El propsito de esta unidad es que tengas los recursos necesarios para lograr un buen
diseo de un sistema y, con la ayuda de lenguajes de programacin, puedas implementar
lo aprendido en el nacimiento de un sistema.
Competencia especfica
Aplicar la visin bsica sobre el diseo, para la implementacin y desempeo del S.O.,
mediante el principio de diseo, con el uso de las diferentes caractersticas de la
arquitectura que lo conforman.
3
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software
Debido a que pueden existir mltiples sesiones al mismo tiempo en una computadora, el
sistema operativo debe proporcionar mecanismos para mantenerlos separados y no
deber existir interferencia entre unos y otros.
Orientacin a objetos.
Aplicaciones cliente/servidor.
Servicios
Estos conceptos, se conjugan de forma interactiva ya que entre ellos se ofrece la solucin
global para el desarrollo del sistema. Mediante la visin del desarrollo del sistema, se
puede aprovechar para crear aplicaciones con funciones especficas para los usuarios
basadas en el rendimiento del sistema y aprovechamiento de cada dispositivo conectado
al sistema.
5
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software
Por lo general, cada sistema operativo suele ser distinto uno de otro; por su naturaleza
propia del nivel de complejidad y uso, vara de acuerdo al objetivo de cada uno. Por lo
general un sistema operativo suele ser un programa extremadamente grande, por lo cual
se puede pensar que el diseo suele ser de gran complejidad y difcil de desarrollar.
Los sistemas operativos tienen que enfrentar a usuarios hostiles y que desean intervenir
en el funcionamiento del mismo lo cual provoca que el funcionamiento del sistema se vea
vulnerable a las malas intenciones de los mismos usuarios. Se debe cuidar no caer en
cuestiones como: no tener la idea clara de cmo se va utilizar el sistema y qu es lo que
se utilizar de ste.
La portabilidad se ha vuelto una necesidad bsica en sistemas operativos modernos,
pues suelen disearse a modo que se puedan utilizar en diferentes arquitecturas de
hardware, y deban reconocer sin problema la mayora de dispositivos de E/S.
La interfaz es la puerta de entrada a un sistema operativo. Por lo general se tiene que,
mientras ms completa, sencilla e integra sea la cara de un sistema operativo, este podr
ser sencillo de utilizar por el usuario.
7
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software
Se basa en un diseo de alto nivel, a estructura del sistema, los componentes del sistema
sus relaciones y principios de funcionalidad, componentes, conectores, configuracin y
restricciones.
8
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software
Un nivel de abstraccin del diseo, donde los desarrolladores del sistema pueden
establecer el comportamiento global del mismo, en el que se toma en cuenta el
funcionamiento, rendimiento, confiabilidad, etc. As una excelente arquitectura,
hace al diseo una parte fcil de establecer.
9
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software
10
11
Interface alternativas.- Este tipo de interfaces son poco utilizadas, pero de gran
utilidad para pensar en alguna alternativa de seguridad, las interfaces alternativas
pueden ser las que se basan en el reconocimiento de voz, la cual soporta un
dilogo interactivo entre el usuario y una aplicacin de software. Los dispositivos
de interface neuronal, permiten a los usuarios aprovechar las seales elctricas
generadas por sus cuerpos para controlar una computadora o dispositivos
elctricos conectados entre s.
Existe una metodologa para la etapa de pruebas conocida como pruebas de usabilidad,
que puede validar el diseo de la interface y revelar reas que requieran refinamiento. La
finalidad de esta tcnica es poder identificar el uso que le da el usuario en forma directa.
Por ejemplo, se pude ensaar a los usuarios a que sepan plasmar la idea de
mejoramiento de la interface, un usuario podra expresar qu desea: quiero que en la
parte superior de la interface grfica, se pueda tener acceso a mis archivos
almacenados. Con este tipo de anlisis se interacta de forma directa con el usuario para
que el desarrollador pueda ofrecer un mejoramiento en el diseo de las interfaces.
Sencillez.- Para evitar que los usuario tengan complicaciones con las interfaces al
momento de estar utilizando el sistema, estas deben basarse en el principio de la
sencillez, para hacerlas ms fcil de entender e implementar.
Integridad.- Con la finalidad de poder permitir utilizar todas las funciones del
sistema, se debe basar su diseo en el principio de la integridad par que permita el
uso completo.
12
12
Eficiencia.- Para los usuarios, las llamadas al sistema deben ser de forma
transparente, para ello la implementacin de los mecanismos debe ser de forma
eficiente, para el desarrollador debe ser intuitivo para poder tener una eficiencia
del sistema.
Con estos principios, al desarrollador le permitir que el uso del sistema pueda ser del
agrado de los usuarios.
4.2.2. Paradigmas
Otros de los criterios que se deben considerar para poder establecer el diseo de las
interfaces, se tienen algunas propuestas que se tienen para comenzar con el diseo de
las interfaces.
Los paradigmas tienen una importancia clave en la programacin, pues por medio de
estos se pueden crear planteamientos y bases para poder desarrollar un software. Al
revisar los tipos de paradigmas de programacin ms comunes se encuentran:
Lgico.- Para este paradigma se tienen definidas reglas lgicas que resuelven
problemas planteados por el sistema.
13
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software
13
Las llamadas al sistema no debern interferir en la potencia del hardware -si el hardware
cuenta con un mecanismo bastante eficiente para hacer algo sobre los mecanismo de
acceso- y, si una llamada al sistema es rpida los usuarios siempre podrn construir
interfaces ms cmodas con base en ella.
Como se mencion con anterioridad, el sistema operativo para ser eficiente, debera de
ofrecer el menor nmero de llamadas al sistema, por lo cual debe de cumplir con estos
criterios:
14
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software
14
1. Investiga sobre la arquitectura del sistema operativo Linux, principios del diseo,
paradigmas y llamadas al sistema.
2. Con base en la investigacin, realiza elabora un archivo de texto que contenga los
temas mencionados pero con enfoque en Linux.
3. Guarda la actividad con el nombre PSO_U4_A2_XXYZ. Sustituye las XX por las dos
primeras letras del primer nombre, la Y por la inicial del apellido paterno y la Z por la inicial
del apellido materno.
4. Enva el archivo a tu Facilitador(a) para recibir retroalimentacin.
Objetos distribuidos.
Servicios.
15
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software
15
Es importante tener muy en cuenta la etapa de anlisis del sistema, ya que es aqu donde
se tendr lnea para la etapa del desarrollo y para saber lo que se tiene que hacer, cmo
hacerlo y cul ser su lmite. La arquitectura de un sistema representa un paso hacia el
desarrollo del mismo, una vez que se analizan y definen los requerimientos del usuario. El
sistema quedar con todos los mdulos o subsistemas para tener una estructura completa
de los datos que se tendrn que procesar.
Hoy en da existen diferentes tipos de sistemas operativos, dentro de los cuales estn los
ms comunes:
16
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software
16
Por capas y anillos.- En este tipo de estructura se contemplan seis capas para su
formacin:
17
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software
17
Las polticas pueden ser implementadas dentro del ncleo y las polticas fuera o dentro
del mismo ncleo.
18
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software
18
19
Indireccin.- Para esta tcnica deber existir cierta flexibilidad por parte del
sistema operativo, ya que si por algn motivo el usuario da la entrada de algn
proceso por medio del teclado, al pulsar la tecla puede obtener un valor que no
corresponde con lo deseado, para solucionarlo debe existir la posibilidad de utilizar
configuraciones distintas de teclados.
Al ver que se espera que un sistema sea sencillo y rpido o robusto y lento, deben
considerarse las funciones que se desean adicionar a la estructura y validar si es
necesario modificarla para su desempeo. Para dar a un sistema: seguridad, integridad y
optimizacin -que sean suficientes para un buen desempeo-, es necesario dimensionar
la arquitectura del sistema mismo y su optimizacin.
20
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software
20
2. Guarda la actividad con el nombre PSO_U4_A3_XXYZ. Sustituye las XX por las dos
primeras letras del primer nombre, la Y por la inicial del apellido paterno y la Z por la inicial
del apellido materno.
3. Enva el archivo a tu Facilitador(a) para recibir retroalimentacin.
21
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software
21
Autoevaluacin
Para reforzar los conocimientos relacionados con los temas que se abordaron en esta
tercera unidad del curso, es necesario que resuelvas la actividad integradora. Recuerda
que es muy importante leer cuidadosamente los planteamientos indicados y elegir la
opcin adecuada para cada uno.
22
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software
22
2. Guarda la evidencia con el nombre PSO_U4_EA_XXYZ. Sustituye las XX por las dos
primeras letras del primer nombre, la Y por la inicial del apellido paterno y la Z por la inicial
del apellido materno.
3. Enva el archivo a tu Facilitador(a) para recibir retroalimentacin.
Autorreflexiones
Adems de enviar tu trabajo de la Evidencia de aprendizaje, es importante que ingreses
al foro Preguntas de Autorreflexin y consultes las preguntas que tu Facilitador(a)
presente, a partir de ellas, debes elaborar tu Autorreflexin en un archivo de texto llamado
PSO_U4_ATR_XXYZ. Posteriormente enva tu archivo mediante la herramienta
Autorreflexiones.
Cierre de la unidad
Has concluido la cuarta unidad del curso. A lo largo de sta se vieron conceptos bsicos
sobre diseo de sistemas operativos, las bases del diseo, diseo de interfaces y la
implementacin y diseo final con temas como la visin profesional del diseo, cuestiones
bsicas y conceptos generales, los principios del diseo, paradigmas y llamadas al
sistema y por ultimo los subtemas de estructura, sus mecanismos sus estructuras, su
implementacin la optimizacin y el manejo de los caches.
Es aconsejable que revises nuevamente la unidad en caso de que los temas que se
acaban de mencionar no te sean familiares o no los recuerdes, de no ser este tu caso, ya
ests listo para terminar esta materia de Programacin de Sistemas Operativos.
23
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software
23
Para saber ms
Si deseas saber acerca de cmo se crea un diagrama de flujo, consulta la siguiente
direccin electrnica:
Fuentes de consulta
24
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software
24