El documento discute las razones para diseñar un sistema operativo, incluyendo que son programas grandes que manejan concurrencia y recursos compartidos, y deben ser flexibles, portables y compatibles. También ofrece consejos para comenzar el diseño como leer documentación sobre sistemas operativos, elegir una plataforma, lenguaje de programación e implementar componentes básicos como el arranque y controlador de video.
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
Diagrama de Flujo de un Sistema Operativo
1. Enrique Torrescano Montiel
Sencillas Razones Para Sentarse Un Buen Día A Iniciar
El Diseño De Un Sistema Operativo
Los SISTEMAS OPERATIVOS son programas extremadamente grandes
Los SISTEMAS OPERATIVOS tienen que manejar concurrencia
Los SISTEMAS OPERATIVOS tienen que enfrentarse a usuarios hostiles en potencia
Los SISTEMAS OPERATIVOS deben permitir a los usuarios compartir información y recursos con otros usuarios
seleccionados
Los SISTEMAS OPERATIVOS deben ser flexibles para poder adaptarse a posibles cambios futuros en el Hardware y en el
Software
Los SISTEMAS OPERATIVOS deben ser generales para poder ser usados de muchas formas distintas
Los SISTEMAS OPERATIVOS deben ser (trans)portables
Muchos SISTEMAS OPERATIVOS deben ser compatibles con algún SO anterior
AHORA, YA QUE TIENES LA INTENCION DE INICIAR EL DISEÑO DE UN SISTEMA OPERATIVO, UNOS HUMILDES CONSEJOS
Una Pregunta…
¿Por dónde comenzar?
Pues es un tanto difícil de responder, créeme que hacer un sistema operativo, en su diseño, es una tarea ardua, bastante extenuante. Si lo hace una persona
sola, puede llevarle más de un año su diseño (con una inversión diaria de al menos cinco horas), si lo hacen un grupo de personas, aún así es difícil pues el
trabajo grupal ha de centrarse en el producto total llamado sistema operativo.
Por un lado es difícil el diseño, pues el trabajo debe finalizar en un producto que esté hecho para que las personas, en relación con el sistema informático, el
sistema operativo, sus datos y los programas, realicen cosas eficientemente y sucede que en muchas ocasiones nos encontramos con problemática, pues los
sistemas operativos suelen tener fallas.
Uno de los casos importantes en el de los productos Windows. Windows se caracteriza por vender producto no terminados y frecuentemente nos enfrentamos a
detallitos en cuestión a fallas o imprevistos.
Como medida de seguridad Windows implemento las famosas actualizaciones y los service pack, que no son otra cosa que “reparaciones” virtuales a las fallas
en sus sistemas.
Aparte de ello, necesitas esperar a que todo esté listo de parte de Microsoft, pues uno como usuario no puede acceder al código fuente, pues tiene propietario.
Los sistemas operativos de código abierto, si bien no son los más socorridos por los usuarios (pues estamos muy acostumbrados a lo de marca) son muy
eficientes en su aplicación, pues tienen la ventaja del Open Source, con ello sabemos que todo programador, ingeniero, puede acceder al código y puede hacer
los arreglos que considere necesario.
Si bien las compañías, Microsoft, i mac, tienen en su grupo de desarrolladores a gente muy talentosa que está luchando por hacer cada día mejor los sistemas
operativos, lo cierto es que no pueden competir con los miles de desarrolladores del Open Source que día con día están haciendo las mejoras en los sistemas de
código abierto. Mejoras que son puestas a la disposición de los usuarios en modo inmediato.
No pretendo que esto se vea como pesimismo (criticar no es la intención de mi trabajo), es de entenderse que si estudio una carrera afín los sistemas
informáticos, entonces, es cierto que todo lo referente a las computadoras me apasiona y, no tengo nada en contra de Microsoft, u otra compañía, sólo es un
punto de comparación; mismo que se debe hacer.
Y bueno, aun es difícil de iniciar la gestión en el diseño de un sistema operativo, en base a lo estudiado, integro puntos generales que creo deben considerarse
al momento de hacer la gestión:
Primero: debemos leer algunos documentos y libros para empaparnos sobre Sistemas Operativos. Tanto orientado a diseño como a conceptos, ya que si
no sabemos lo que es un Sistema Operativo no podemos pretender hacer uno.
Segundo: Elegir una plataforma para el Sistema Operativo, hay que limitar desde el primer momento, porque no se puede hacer un Sistema Operativo para
todas las plataformas. O al menos no al principio.
Tercero: Elegir un lenguaje de alto nivel, y un compilador que genere código del procesador al que tenemos de objetivo, y que proporcione facilidades a
bajo nivel, porque no nos engañemos, va a haber que programar en ensamblador, y lo mejor es buscar un lenguaje de alto nivel en el que se pueda insertar
código ensamblador en línea.
Cuarto: Especializarse en ciertos componentes físicos del ordenador (procesador, registros, buses, puertos, tarjetas, E/S, memoria, etcétera), y su forma de
programación.
Quinto: Planificación del Sistema y del arranque, colocación física de los datos, tanto en disco como en memoria, esto no es asunto ligero, ya que nos
quitará de muchos quebraderos de cabeza. Además hay que tener en cuenta que hay que limitar desde el primer momento, porque para ampliar siempre
hay tiempo.
2. Sexto: Elegir una plataforma de desarrollo, que nos proporcione las mayores facilidades de programación posibles, que tenga o estén disponibles muchas
herramientas de programación, e incluso proyectos que nos ayuden a depurar el Sistema Operativo.
Séptimo: Comenzar a programar, recomiendo que se haga primero el arranque del sistema, y el controlador de video, para poder ver las cosas como van, y
no desanimarnos tan pronto. Cuando hagamos el controlador de video, nos daremos cuenta que necesitaremos varios ficheros más, como la
entrada/salida, controlador de memoria, e incluso uno de los tipos del sistema. Y cuando hagamos el controlador de memoria, necesitaremos otras cosas y
así sucesivamente. Hay que hacer casi todas las cosas a la vez, y hasta que arranque el sistema no vamos a tener nada sólido, y vamos a tardar mucho.
Octavo: Buscar un nombre para el Sistema Operativo, no es que sea importante, pero si ha sido una buena obra, habrá que bautizarle un nombre de pila
impuesto por nosotros
Bueno, existen infinidad de cosas, pero la verdad no soy experto en esto, ya con el tiempo y la experiencia más “experimentada”, éste apartado dará más de qué
hablar. El asunto es que podamos iniciar pensando que nada será fácil y el verte entre miles de líneas de código, éstas no te atrapen y te desanimes. Piensa,
cuando activas una aplicación (ejemplo negritas en Word), detrás de esto existe gente que trabajo arduamente.
3. EL SISTEMA OPERATIVO… MIRA
VAMOS AL DIAGRAMA DE FLUJO, AHORA CONCEPTUALIZADO
Sistema Operativo (SO): Software básico de una computadora que provee una interfaz entre el resto de programas del ordenador, los dispositivos hardware y el usuario.
Funciones básicas del Sistema Operativo; Administrar los recursos de la máquina, coordinar el hardware y organizar archivos y directorios en dispositivos de
almacenamiento.
Sistemas Operativos más utilizados son , Windows, Linux y Mac. Algunos SO ya vienen con un navegador integrado, como Windows que trae el navegador Internet Explorer.
ARCHIVOS: La parte más visible de un
sistema operativo es el sistema de
MEMORIA: Tiene estrecha relación con la
archivos. La mayoría de los programas
computadora y el sistema operativo, ya
leen o escriben cuando menos un archivo
que todos los programas que se ejecuten
, la comodidad y utilidad del sistema
por el usuario, serán colocados ahí; se dice
operativo dependen principalmente de la
llamados a memoria
interfaz, estructura y confiabilidad del
sistema de archivos
RECURSOS DE HARDWARE: Concretamente, los principales recursos
de hardware en una PC son la memoria (RAM principalmente, ROM,
Caché, etc.), las direcciones ó puertos de I/O (Imput/Output), las IRQ RECURSOS DE SOFTWARE: Software es todo el conjunto
(Interrupt ReQuest) y los canales de DMA. intangible de datos y programas de la computadora.
La interacción entre el Software y el Hardware hace operativa la máquina, es decir, el
Software envía instrucciones al Hardware haciendo posible su funcionamiento.
DISPOSITIVOS DISPOSITIVOS ENTRADA: Son
DE SALIDA: Son los que permiten SEGURIDAD Y PROTECCIÓN: Se prevén los mecanismos de protección para poder aquellos que sirven para introducir
representar los resultados (salida) del implementar políticas de seguridad. Definen qué hay que hacer , qué datos y recursos datos a la computadora para su
proceso de datos. El dispositivo de proceso. Los datos se leen de los
deben protegerse de quién. Los mismos mecanismos, si son flexibles, pueden usarse
salida típico es la pantalla o monitor. dispositivos de entrada y se
para implementar distintas políticas.
Otros dispositivos de salida son: almacenan en la memoria central o
impresoras (imprimen resultados en Los mecanismos que ofrece el sistema operativo necesariamente deben
interna. Los dispositivos de entrada
papel), trazadores gráficos (plotters), complementarse con otros de carácter externo; impedir el acceso físico de personas convierten la información en
bocinas, entre otros... no autorizadas a los sistemas es un mecanismo de protección cuya implementación señales eléctricas que se
no tiene nada que ver con el sistema operativo. almacenan en la memoria central.
Un aspecto importante de la seguridad es el de impedir la pérdida de información, la / SALIDA
cual puede producirse por diversas causas: fenómenos naturales, guerras, errores de
hardware o de software, o errores humanos.
ABSTRACCION:
Define qué hace el sistema operativo, sin ¿QUÉ ADMINISTRA EL SISTEMA OPERATIVO? AMPLITUD DE FUNCIONES Y
tomar en cuenta el cómo lo hace ADMINISTRADOR DE ERRORES:
SISTEMA es conveniente aumentar las
debe considerar posibilidades de multiprocesamiento de
los sistemas operativos, para permitir la
ejecución de varias aplicaciones sin que
el sistema operativo colapse
SUS BASES
PRINCIPALES
ESTANDARIZACION: ESTABLECE LA COMUNICACIÓN
ENTRE LAS DIFERENTES ARQUITECTURAS
APLICACIÓN CONECTIVIDAD DEL ORIENTACION A OBJETOS SERVICIOS
CLIENTE/SERVIDOR SISTEMA OPERATIVO
UN SISTEMA OPERATIVO
FLEXIBILIDAD: Aspecto CON VISION PROFESIONAL
importantes en la estructura de
los sistemas: monolítico que se Necesaria la conjugación de forma interactiva ya que entre ellos se ofrecerá al usuario la solución global para el desarrollo del sistema. Mediante la
refiere a que la máquina deberá
ejecutar un núcleo tradicional visión profesional del desarrollo del sistema, se puede aprovechar para crear aplicaciones con funciones específicas para los usuarios basándose en
que proporcione la mayoría de el rendimiento del sistema y aprovechamiento de cada dispositivo conectado al sistema
los servicios y micronucleo
comúnmente nombrado
TRANSPARENCIA:
microkernel, que debe
La transparencia suele determinarse
proporcionar lo menos posible;
sobre el diseño de interfaces de llamadas DESEMPEÑO: En el sistema
el grueso de los servicios del
al sistema, de modo que no sea visible la Se genera cuando se ejecuta una
sistema operativo se debe
existencia de dos o más procesadores. NACE EL (SO) aplicación ésta sea de forma ágil con
obtener a partir de los servidores
al nivel de usuario. CON VISION capacidades de poder realizar tares de
multiprocesos.
PROFESIONAL
PORTABILIDAD: Antes Microsoft era para Microsoft, su software y su hardware, ahora es
una necesidad básica en sistemas operativos modernos, pues suelen diseñarse a modo que CONFIABILIDAD:
se puedan utilizar en diferentes arquitecturas de hardware, y deban reconocer sin problema Aspecto de mucha importancia, ya que INTERFAZ
dependiendo de la objetividad del Es el medio por el cual se ingresa a
la mayoría de dispositivos de E/S.
sistema; o, si falla algún proceso, otro
un sistema operativo. Por lo general
adicional al sistema operativo deberá
ESCALABILIDAD: Si el software “normal” debe ser escalable, imaginar el sistema operativo, encargarse del trabajo. se tiene que, mientras más completa,
como parte fundamental de una computadora, entonces, Importante el diseño y la sencilla e integra sea la cara de un
La nueva era de tecnologías indica que se tiene que ir mejorando en cuestiones básicas de arquitectura, la seguridad, la sistema operativo, este podrá ser
administración de dispositivos de E/S, para que se esté al día con los requerimientos del sistema tolerancia a los fallos del sistema sencillo de utilizar por el usuario.
operativo que deberá tener la capacidad de mejorar su procesos y gestión de recursos.
4. Debemos entender como arquitectura de un sistema a la conformación de éste de acuerdo a sus componentes de software, sus propiedades extremamente visibles y la relación que existe entre
ellos: esto es un conjunto de conceptos y decisiones de diseño relativos a la estructura del sistema operativo, que deben considerarse antes de la ingeniería, con el fin de asegurar la satisfacción
del usuario. Y está concebida dentro un nivel de diseño la importancia está en ofrecer la comunicación entre las personas que van a involucradas, la documentación, restricciones de
implementación, cualidades del sistema.
Se basa en el diseño de alto nivel, a la estructura del sistema, los componentes del sistema sus relaciones y principios de funcionalidad, componentes, conectores, configuración y sus
restricciones.
La arquitectura del diseño del sistema operativo, debe ser diferencial al diseño e implementación de un sistema operativo, la arquitectura es la base del
diseño, la implementación es la puesta en operación de un sistema operativo ya desarrollado.
VISTAS VISION ARQUITECTONICA PATRONES PRINCIPIOS DEL
ARQUITECTONICAS PORTABILIAD ARQUITECTONICOS DISEÑO
LOS CONCEPTOS
INCLUIDOS EN
LA ARQUITECTURA DEL (SO)
NIVEL DE ABSTRACCION
Diseño de Alto Nivel SOPORTE EN MEMORIA,
DEL DISEÑO
TRAS SU EVOLUCION
EL INGREDIENTE ESENCIAL PARA EL
DISEÑO
CARACTERISTICAS
DIFERENCIALES
INTERFACES,
SU DISEÑO
La administración de los recursos de hardware es uno de los objetivos principales del diseño, por ello, no se puede hace a un lado el
cómo los usuarios van a interactuar con la computadora y, a través de ésta manejan el sistema y todas sus aplicaciones, pudiendo ser
este proceso fascinante, pues mucho del trabajo se puede plasmar en la presentación de cómo está planteado el sistema para su
manejo
EL DISEÑO DE INTERFACES
SUS PRINCIPIOS
INTERACCION HUMANO-COMPUTADORA
Esto se relaciona con la práctica del diseño, construcción e implementación de sistemas de cómputo interactivos basados en el
usuario; actividad principal, el desarrollo de nuevos sistemas de interface para los usuarios, lo que implica nuevas técnicas de
graficación.; ver la interfaz
INTERFACE GRAFICA DE USUARIO INTERFACE BASADA EN TEXTO
INTERFACE DE USUARIO INTERFACE ALTERNATIVA
Se beneficia de las capacidades de “Arcaicamente” los desarrollos de
Tiene como principal objetivo la implementación de Se utilizan muy poco, sin embargo
despliegue gráfico de la computadora, sistemas orientados en textos o
interfaces que sean eficientes y efectivas al ser son de mucha utilidad para pensar en
permitiendo hacer más sencillo el manejo caracteres, nada más tenían la
utilizadas por el usuario, su principio de su desarrollo alguna alternativa de seguridad,. Son
capacidad de desplegar códigos ASCII
está en el planteamiento de prototipos de interfaces las que se basan en el reconocimiento del sistema, utiliza iconos y menús tanto
en la pantalla, contrastando esto a los
donde se determinan qué eventos ocurrirán y los de voz, la cual soporta un diálogo para realizar comandos, como para abrir orientados a gráficos, en donde la
procesos lógicos a seguir por tales eventos. interactivo entre el usuario y una archivos, ejecutar alguna acción dentro de interface de texto consiste en un
aplicación de software. En los
la aplicación.. Componentes gráficos conjunto de comandos que el usuario
dispositivos de interface neuronal el
comunes en este tipo de interfaces: El debe memorizar y con los cuales se
sistema provecha de los usuarios las
apuntador, dispositivo apuntador, iconos, dan instrucciones al sistema para el
señales eléctricas generadas por sus
menús, ventanas, y escritorio. Cada sistema manejo de los recursos del sistema.
cuerpos para controlar una
computadora o dispositivos eléctricos operativo tiene su propia arquitectura
conectados entre sí. gráfica.
SENCILLEZ SUS PRINCIPIOS EFICIENCIA
Como literalmente suena: Evita que los usuarios Si un usuario llama al sistema y sus aplicaciones, esto
tengan complicaciones al uso del sistema, entonces debe ser de forma eficiente y transparente, entonces, la
un sistema operativo debe basarse en el principio de INTEGRIDAD implementación de los mecanismos debe ser de forma
Todo sistema operativo debe permitir utilizar todas y eficaz. Para el desarrollador debe ser automático para
la sencillez al uso
cada una de las aplicaciones, el principio de la poder tener una eficiencia del sistema.
integridad permitirá un uso integral del mismo.
EL PARADIGMA DEL
SISTEMA OPERATIVO
Los paradigmas son de importancia extrema, pues son
la clave en la programación, ya que por estos se
pueden generar planteamientos y bases para poder
desarrollar un software… son:
ORIENTADO A
IMPERATIVO ESTRUCTURADO FUNIONAL LOGICO GUIADO POR EVENTOS OBJETOS
Se basa en un
Nuestro código se En este paradigma Los sistemas
Se basa en tipo de Definición de
sentencias de divide en bloques, programación reglas lógicas y su ejecución de operativos
cálculos sencillos e estructuras, que pueden en forma de que va a programas se basados en,
iterativas, asociadas o no comunicarse entre funciones determinan por los poseen clases y
ellas, mismas que
resolver
a una dirección de matemáticas. problemas sucesos que herencias, los
memoria y al final de pueden ser controlados cuales se pueden
por secuencias, planteados por ocurran en el
la iteración comunicar entre
selección e interacción. el sistema. sistema
represente el ellos.
resultado correcto. OBJETOS
5. LLAMADAS AL
SISTEMA
En informática, llamada al sistema (en inglés system call) es el mecanismo usado por una aplicación para solicitar un servicio al sistema operativo.
En el proceso de las interfaces, las llamadas al sistema deben cumplir con el menor número de llamadas, es importante contar con un paradigma de datos unificador el cual es muy útil durante el
proceso de diseño.
Las llamadas al sistema no deberán interferir en la potencia del hardware
Si una llamada al sistema es rápida los usuarios siempre podrán construir interfaces más cómodas con base en ella.
Todo sistema operativo para ser eficiente, debería de ofrecer el menor número de llamadas al sistema, por lo cual debe de cumplir con los criterios abajo mencionados
LLAMADAS AL PARADIGMA UNIFICADOR LLAMADAS AL SISTEMA PROCEDIMIENTOS
SISTEMA, SOBRE O DE DATOS CRITERIOS A EN MODO GENERALIZADO DE BIBLIOTECA CON
SIN CONEXION CONSIDERAR… SENCILLEZ
Las llamadas al sistema comúnmente emplean una instrucción especial de la CPU, esto origina que el procesador transfiera el control a un código privilegiado, previamente
especificado por el mismo código. Esto permite al código privilegiado especificar donde va a ser conectado así como el estado del procesador.
Cuando una llamada al sistema es invocada, la ejecución del programa que invoca es interrumpida y sus datos son guardados, normalmente en su PCB (Bloque de Control de
Proceso del inglés Process Control Block), para poder continuar ejecutándose luego. El procesador entonces comienza a ejecutar las instrucciones de código de alto nivel de
privilegio, para realizar la tarea requerida. Cuando esta finaliza, se retorna al proceso original, y continúa su ejecución. El retorno al proceso demandante no obligatoriamente es
inmediato, depende del tiempo de ejecución de la llamada al sistema y del algoritmo de planificación de CPU.
Generalmente, los sistemas operativos proveen bibliotecas que relacionan los programas de usuario y el resto del sistema operativo, usualmente una biblioteca C como glibc o el
runtime de Microsoft C. Esta biblioteca maneja los detalles de bajo nivel para transferir información al kernel y conmutar a modo supervisor, así como cualquier procesamiento de
datos o tareas que deba ser realizada en modo supervisor. Idealmente, esto reduce la dependencia entre el sistema operativo y la aplicación, e incrementa su portabilidad.
En los sistemas operativos bajo norma POSIX o similares, algunas llamadas al sistema muy usadas son open, Read (system call), write, close, wait, exec, fork, exit y kill. Los sistemas
operativos actuales tienen cientos de llamadas, por ejemplo Linux 2.x y FreeBSD tienen más de 300.
La implementación de las llamadas al sistema requiere un control de transferencia que involucra características especificas de la arquitectura del procesador. Una forma típica de
implementar es usar una interrupción por software. Linux usa esta implementación en la arquitectura x86.
Para los procesadores con arquitectura RISC, ésta es la única forma, pero arquitecturas CISC como x86 soportan otras técnicas adicionales. Un ejemplo es SYSCALL/SYSRE.
IMPLEMENTACION Y DESEMPEÑO DEL
SISTEMA OPERATIVO
En estructuras similares de datos para sistemas operativos, tenemos la posibilidad que uno sea más rápido que otro, pero también, puede ser que el sistema
más rápido puede ser menos confiable que el sistema más lento.
Tratar de realizar optimizaciones complejas en estructura del sistema operativo puede generar errores, para evitar estos errores es conveniente aplicarlos solo si
son necesarias. Existen diferentes técnicas que pueden ser utilizadas para mejorar el desempeño en la estructura del sistema, Son las siguientes
OBJETOS INTEGRACION DE LOS SERVICIOS
DISTRIBUIDOS COMPONENTES
ESTRCUTURA DEL
SISTEMA
Durante la etapa de análisis del sistema operativo es aquí donde se tendrá línea para la etapa del desarrollo y para saber lo que se tiene que hacer para un futuro sistema, cómo hacerlo
y cuáles serán sus límites.
La arquitectura de un sistema es un paso hacia el desarrollo del mismo, y cuando se analizan y definen los requerimientos del usuario, el sistema quedará con todos los módulos o
subsistemas para tener una estructura completa de los datos que se tendrán que procesar.
Un Sistema Operativo debe ser…
MULTITAREA:
CAPAS Y ANILLOS ARQUITECTURA
Tiene la capacidad de ejecutar
En este tipo de Capa 0, se encarga de la administración de multiprogramación básica del MAQUINA VIRTUAL
microprocesador varias tareas a la vez
estructura se Arquitectura,
contemplan seis Capa 1, en esta capa se encarga de gestionar el espacio en la memoria. alternativa de
capas para su software, cada vez
formación: Capa 2, para esta capa su principal actividad es comunicar entre cada ARQUITECTURA MICROKERNEL Y más útil para el
proceso y la consola del operador. CLIENTE SERVIDOR: MULTIHILADO manejo de servidores
Distribuye las tareas Este tipo de arquitectura, y economizador de
Capa 3, en esta capa la gestión se enfoca sobre los dispositivos de E/S. se basa en obtener la
ORIENTADO A entre diferentes hardware, en el
Capa 4, esta capa se gestionan los programas de los usuarios. llamadas al sistema. mayor funcionalidad del sistema emula la
OBJETOS kernel, se limita para que
Capa 5, es donde se alojan los procesos del operador del sistema. existencia de
Para este tipo de se pueda ejecutar en modo hardware y el
arquitecturas los No te espantes, no es que no sepa contar, es que todo inicia desde el cero privilegiado y que permita software convierte
MULTIUSUARO
recursos que provee las modificaciones y las peticiones a la
Permite ser ocupado
el sistema operativo extensiones de forma maquina virtual en
por dos o más
es por medio grafico simple y sencilla. operaciones sobre la
MULTIPROCESO: usuarios durante el
u objetos. Permite gestionar dos o más procesadores para tiempo de ejecución máquina física.
gestionar la carga entre ellos. de sus procesos.
6. ESTRUCTURA ESTATICA O ESTRUCTURAS DINAMICAS
ESTRUCTURA DINAMICA ESTRUCTURA ESTATICA
Suele distinguirse por ser más flexible y permite Aquí, el tipo de estructura, se caracteriza por ser de
adaptarse a todos los recursos disponibles, pero tiene más fácil comprensión, su programación es más simple
como desventaja de que requieren de un gestor de y su uso es más rápido.
memoria dentro del sistema operativo.
REENTRABILIDAD IMPLEMENTACION ASCENDENTE
DESCENDENTE
Técnica se permitirá la ejecución de forma INDIRECCION
simultánea de algún fragmento de código, la
ejecución se puede dar dentro de un En la técnica deberá existir cierta flexibilidad
multiprocesador o en un monoprocesador , en por parte del sistema operativo, ya que si por
este, pueden darse interrupciones cuando se algún motivo el usuario da la entrada de algún
Para un buen proceso de la
ejecuten las mismas porciones del código al proceso por medio del teclado, al pulsar la tecla
implementación de un sistema, puede obtener un valor que no corresponde con
anterior. OCULTACION DE HARDWARE bien se podría verificar la lo deseado, para solucionarlo debe existir la
Técnica que permite ocultar las existencia de errores. Cuando posibilidad de utilizar configuraciones distintas
determinada llamada al de teclados.
interrupciones, convirtiéndolas
en operaciones de sistema falle, puede ser porque
sincronización entre hilos. El los ficheros no existen dentro
ocultar la arquitectura del del módulo o bien pertenecen a
hardware, permite facilitar la otro, se deben considerar la
transportabilidad del sistema mayor parte de las pruebas al
operativo. La fuente del sistema inicio del procedimiento para
operativo deberá ser única y validar que la ejecución de
una compilación condicional. llamadas al sistema. sean las
correctas
CACHES
CACHE DE BLOQUE CACHE DE PAGINACIÓN
Esto representa un pequeño segmento de
memoria RAM, que se añade algún sitio del Este tipo de cache se almacena en memoria
disco duro con la finalidad de almacenar los RAM, esto dentro del disco duro.
datos que han sido leídos con anterioridad,
teniendo como resultado agilidad al cargar los
datos
PRINCIPIOS DE OPTIMIZACION
BUENO, YA TENEMOS EL DISEÑO DE NUESTRO SISTEMA OPERATIVO Y NO DEBEMOS OLVIDAR UNA PARTE MUY IMPORTANTE:
TODO SISTEMA CUANDO ES RECIEN COMPRADO NOS MARAVILLA CON SUS POTENCIALIDADES EN CUANTO A LA VELOCIDAD CON QUE
TRABAJA Y VEMOS QUE LOS LLAMADOS A LAS APLICACIONES CORREN CON SORPRENDENTE VELOCIDAD, EN FIN, TODO NOS MARAVILLA.
PERO, CUANDO PASAN LOS MESES Y NOS VEMOS EN LA NECESIDAD DE INTEGAR PROGRAMAS, DE ABRIRLES Y CERRARLES, DE METERSE
A LA RED, DE GUARDAR ARCHIVOS, DE OLVIDARNOS DEL MANTENIMIENTO BÁSICO DEL SISTEMA, INICAN LOS PROBLEMA EN CUANTO A LA
VELOCIDAD.
SOBRA DECIR QUE TODO SISTEMA OPERATIVO DEBE SER DISEÑADO E IMPLEMENTADO BAJO LA METODOLOGIA DEL DESARROLLO PARA
QUE EN CUANTO SURJAN INCONVENIENTES EN CUANTO AL USO DEL HARDWARE Y EL SOFTWARE, EL SISTEMA OPERATIVO ESTE EN
POSIBILIDADES DE OPTIMIZAR SU USO.
TODA EMPRESA DESARROLLADORA DE SISTEMAS OPERATIVOS, DEBE INCLUIR EN SU DISEÑO E IMPLEMENTACIÓN, LAS FASES DE LA
OPTIMIZACIÓN, YA QUE DE ELLO DEPENDERÁ QUE EL SISTEMA NO PIERDA TANTA VELOCIDAD.
ENTONCES, ÉSTE ES UNO DE LOS PUNTOS POR DEMAS IMPORTANTES PARA EL DISEÑO DE NUESTRO SISTEMA OPERATIVO.
Espero te
haya gustado,
fue un
fuentes empleadas verdadero
gusto
Unidad 4. Diseño de Sistemas Operativos documento PDF
http://ditec.um.es/deiso/apuntes/tema1.pdf desarrollarle
http://so.fciencias.unam.mx/presentaciones/ch2.pdf
http://galeon.com/ipnupiicsaif/unidad4.html#1
ATENTAMENTE
Enrique Torrescano Montiel