Este documento resume los conceptos clave de los sistemas operativos. Explica que un sistema operativo administra los recursos de una computadora y coordina el hardware. Luego describe los objetivos de conocer sobre la comunicación entre el sistema operativo y la computadora y cómo controlan los procesos. Finalmente, cubre temas como la concurrencia de procesos, los niveles de planificación, y el acceso directo a memoria.
Clasificaciones, modalidades y tendencias de investigación educativa.
Sistemas Operativos: Funciones y Conceptos Básicos
1. UNIVERSIDAD REGIONAL AUTONOMA DE LOS ANDES
EXTENSIÓN SANTO DOMINGO
FACULTAD:Sistemas Mercantiles
CARRERA:Sistemas
MODULO: Sistemas Operativos
TEMA: Sistemas Operativos
AUTOR: William Paúl Delgado. W
TUTOR: Ing. Javier Ulloa
FECHA: Jueves 13 de Junio del 2013
PERIODO MAYO – OCTUBRE 2013
2. 1
1. INTRODUCCIÓN
Un Sistema Operativo (SO) es el software básico de una computadora que provee
una interfaz entre el resto de programas del ordenador.
Las funciones básicas del Sistema Operativo son administrar los recursos de la
máquina, coordinar el hardware y organizar archivos y directorios en dispositivos de
almacenamiento.
El sistema operativo es el programa (o software) más importante de un ordenador.
Para que funcionen los otros programas, cada ordenador de uso general debe tener
un sistema operativo. Los sistemas operativos realizan tareas básicas, tales como
reconocimiento de la conexión del teclado, enviar la información a la pantalla, no
perder de vista archivos y directorios en el disco, y controlar los dispositivos
periféricos tales como impresoras, escáner, etc.
2. OBJETIVOS
2.1. GENERAL
Conocer acerca de la comunicación entre el sistema operativo y el ordenador como
realizan y controlan procesos para hacer funcionar el computador
2.2. ESPECIFICOS
a) Conocer los conceptos acerca de la concurrencia de procesios
b) Entender acerca de los niveles de planificacion y que funcion realiza cada nivel
c) Conocer los procesos que realiza el acceso directo a memoria dma.
3. 2
3. DESARROLLO
CONCURRENCIA DE PORCESOS.
La concurrencia de procesos se refiere a las situaciones en las que dos o más
procesos puedan coincidir en el acceso a un recurso compartido o, dicho de otra
forma, que requieran coordinarse en su ejecución. Para evitar dicha coincidencia, el
sistema operativo ofrece mecanismos de arbitraje que permiten coordinar la
ejecución de los procesos.
En un sistema multiprogramado con un único procesador, los procesos se intercalan
en el tiempo aparentando una ejecución simultánea. Aunque no se logra un
procesamiento paralelo y produce una sobrecarga en los intercambios de procesos,
la ejecución intercalada produce beneficios en la eficiencia del procesamiento y en la
estructuración de los programas.
La intercalación y la superposición pueden contemplarse como ejemplos de
procesamiento concurrente en un sistema monoprocesador, los problemas son
consecuencia de la velocidad de ejecución de los procesos que no pueden
predecirse y depende de las actividades de otros procesos, de la forma en que el
sistema operativo trata las interrupciones surgen las siguientes dificultades:
1. Compartir recursos globales es riesgoso
2. Para el sistema operativo es difícil gestionar la asignación óptima de recursos.
Las dificultades anteriores también se presentan en los sistemas multiprocesador.
El hecho de compartir recursos ocasiona problemas, por esto es necesario proteger
a dichos recursos.
Los problemas de concurrencia se producen incluso cuando hay un único procesado
LABORES DEL SISTEMA OPERATIVO.
Elementos de gestión y diseño que surgen por causa de la concurrencia:
4. 3
1) El sistema operativo debe seguir a los distintos procesos activos
2) El sistema operativo debe asignar y retirar los distintos recursos a cada proceso
activo, entre estos se incluyen:
Tiempo de procesador
Memoria
Archivos
Dispositivos de E/S
3) El sistema operativo debe proteger los datos y los recursos físicos de cada
proceso contra injerencias no intencionadas de otros procesos.
4) Los resultados de un proceso deben ser independientes de la velocidad a la que
se realiza la ejecución de otros procesos concurrentes.
Para abordar la independencia de la velocidad debemos ver las formas en las que
los procesos interactúan.
INTERACCIÓN ENTRE PROCESOS.
Se puede clasificar los en que interactúan los procesos en función del nivel de
conocimiento que cada proceso tiene de la existencia de los demás. Existen tres
niveles de conocimiento:
1) Los procesos no tienen conocimiento de los demás: son procesos independientes
que no operan juntos. Ej: la multiprogramación de procesos independientes. Aunque
los procesos no trabajen juntos, el sistema operativo se encarga de la
"competencia" por los recursos.
2) Los procesos tienen un conocimiento indirecto de los otros: los procesos no
conocen a los otros por sus identificadores de proceso, pero muestran cooperación
el objeto común.
3) Los procesos tienen conocimiento directo de los otros: los procesos se comunican
por el identificador de proceso y pueden trabajar conjuntamente.
5. 4
COMPETENCIA ENTRE LOS PROCESOS POR LOS RECURSOS.
Los procesos concurrentes entran en conflicto cuando compiten por el uso del
mismo recurso; dos o más procesos necesitan acceder a un recurso durante su
ejecución .Cada proceso debe dejar tal y como esté el estado del recurso que utilice.
La ejecución de un proceso puede influir en el comportamiento de los procesos que
compiten. Por Ej. Si dos procesos desean acceder a un recurso, el sistema operativo
le asignará el recurso a uno y el otro tendrá que esperar.
Cuando hay procesos en competencia, se deben solucionar tres problemas de
control: la necesidad de exclusión mutua. Suponiendo que dos procesos quieren
acceder a un recurso no compartible. A estos recursos se les llama "recursos
críticos" y la parte del programa que los utiliza es la "sección crítica” del programa.
Es importante que sólo un programa pueda acceder a su sección crítica en un
momento dado.
Hacer que se cumpla la exclusión mutua provoca un interbloqueo.
Otro problema es la inanición si tres procesos necesitan acceder a un recurso, P1
posee al recurso, luego lo abandona y le concede el acceso al siguiente proceso P2,
P1 solicita acceso de nuevo y el sistema operativo concede el acceso a P1 YP2
alternativamente, se puede negar indefinidamente a P3 el acceso al recurso.
El control de competencia involucra al sistema operativo, porque es el que asigna los
recursos.
NIVELES DE PLANIFICACION.
En este tema se consideran tres niveles importantes de planificación, los que se
detallan a continuación:
Planificación de alto nivel: Se encarga de llevar procesos de disco a memoria y
viceversa. Seleccionando los trabajos que deben admitirse en el sistema.
6. 5
También se denomina Planificación de trabajos.
Determina a qué trabajos se les va a permitir competir activamente por los
recursos del sistema, lo cual se denomina Planificación de admisión.
Administrar todos los recursos del sistema excepto el CPU.
Mantiene las colas de procesos bloqueados y suspendidos.
Controla la creación de procesos.
Maneja el nivel de multiprogramación.
Planificación de nivel intermedio: En algunos casos, en especial cuando el
sistema está sobrecargado, el planificador de nivel medio encuentra ventajoso retirar
trabajos activos de la memoria para reducir el grado de multiprogramación, y por lo
tanto, permitir que los trabajos se completen mas aprisa. Este subadministrador
controla los trabajos que se intercambian hacia fuera y de regreso.
Determina a qué procesos se les puede permitir competir por la cpu.
Efectúa “suspensiones” y “activaciones” (“reanudaciones”) de procesos.
Debe ayudar a alcanzar ciertas metas en el rendimiento total del sistema.
Equilibrar la administración de trabajos en el sistema con la asignación del
CPU a dichos procesos.
Nivelar la carga del sistema (procesos activos y pasivos).
Planificación de bajo nivel: Se encarga de pasar de un proceso a otro en
memoria principal. Determinando a cuál proceso listo se le asignará el CPU cuando
éste se encuentra disponible.
Determina a qué proceso listo se le asigna la cpu cuando esta queda
disponible y asigna la cpu al mismo, es decir que “despacha” la cpu al
proceso.
OBJETIVOS DE LA PLANIFICACION DE PROCESOS.
7. 6
El objetivo principal de la planificacion es optimizar el rendimiento del sistema y
proporcionar un buen servicio a todos los procesos que se encuentren en el. En
general, la planificacion trata de cubrir los siguientes objetivos:
Justicia: La planificacion debe ser lo mas justa posible con todos los
procesos, sin favorecer a unos y perjudicar a otros.
Maxima capacidad de ejecucion: Debe dar un servicio eficiente para que
todos los trabajos se realicen lo mas rapidamente posible. Esto se puede
lograr disminuyendo el numero de cambios de proceso.
Maximo numero de usuarios interactivos: En los sistemas de tiempo
compartido se tratara de que puedan estar trabajando el mayor numero de
usuarios al mismo tiempo.
Predecibilidad: La planificacion debe realizarse de tal forma que en todo
momento pueda saberse como sera su ejecucion.
Minimizacion de la sobrecarga: La computadora debe tener poca
sobrecarga ya que esta afecta directamente al rendimiento final del sistema: a
menor sobrecarga mayor velocidad de proceso.
Equilibrio en el uso de recursos: Para obtener un mayor rendimiento en el
uso de los recursos y que estos esten ocupados equitativamente el mayor
tiempo posible.
Seguridad de las prioridades: Si un proceso tiene mayor prioridad que otro,
este debe ejecutarse mas rapidamente.
Evitar la postergacion indefinida: Esto se logra aumentando la prioridad de
un proceso mientras espere por un recurso. La prioridad llegara a ser tan alta
que al proceso le sera asignado el recurso que pidio.
ACCESO DIRECTO A MEMORIA DMA.
El acceso directo a memoria (DMA, del inglés direct memory access) permite a cierto
tipo de componentes de una computadora acceder a la memoria del sistema para
leer o escribir independientemente de la unidad central de procesamiento (CPU)
principal. Muchos sistemas hardware utilizan DMA, incluyendo controladores de
unidades de disco, tarjetas gráficas y tarjetas de sonido. DMA es una característica
esencial en todos los ordenadores modernos, ya que permite a dispositivos de
8. 7
diferentes velocidades comunicarse sin someter a la CPU a una carga masiva de
interrupciones.
Una transferencia DMA consiste principalmente en copiar un bloque de memoria de
un dispositivo a otro. En lugar de que la CPU inicie la transferencia, la transferencia
se lleva a cabo por el controlador DMA. Un ejemplo típico es mover un bloque de
memoria desde una memoria externa a una interna más rápida. Tal operación no
ocupa al procesador y, por ende, éste puede efectuar otras tareas. Las
transferencias DMA son esenciales para aumentar el rendimiento
de aplicaciones que requieran muchos recursos.
Cabe destacar que aunque no se necesite a la CPU para la transacción de datos, sí
se necesita el bus del sistema (tanto bus de datos como bus de direcciones), por lo
que existen diferentes estrategias para regular su uso, permitiendo así que no quede
totalmente acaparado por el controlador DMA.
4. CONCLUSIONES
Como vimos anteriormente en los distintos temas podemos concluir que un
computador es una maquina muy compleja tanto en la arquitectura logica como en la
fisica ya que es capaz de realizar varias tareas a la ves manteniendo un orden y
controlando que cada una funcione o trabaje de forma correcta
5. BIBLIOGRAFIA
http://1984.lsi.us.es/wiki-ssoo/index.php/Concurrencia_de_procesos. (s.f.). Recuperado el 13
de junio de 2013
http://es.wikipedia.org/wiki/Acceso_directo_a_memoria. (s.f.). Recuperado el 13 de junio de
2013
http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/MonogSO/CONCEM02.h
tm. (s.f.). Recuperado el 13 de junio de 2013
http://www.ecured.cu/index.php/Planificaci%C3%B3n_de_procesos_en_Sistemas_Operativo
s. (s.f.). Recuperado el 13 de junio de 2013
https://sites.google.com/site/osupaep2010/entrada-salida/acceso-directo-a-memoria-dma.
(s.f.). Recuperado el 13 de junio de 201