Sie sind auf Seite 1von 12

Republica Bolivariana De Venezuela

Ministerio del Poder Popular para la Educación Superior

Instituto Universitario De Tecnología Juan Pablo Pérez Alfonzo

I.U.T.E.P.A.L

Ampliación-Puerto Cabello

Integrantes

Fredy Arismendi

C.I: 20.465.930

Xiolimir Soteldo

C.I: 19.981.627

Puerto Cabello, Marzo del 2011


Sistema Operativo

En los años 60, un sistema operativo se podía definir como un software que
controla el hardware, sin embargo se puede definir como los programas instalados
en el software o firmware que hacen utilizable el hardware que a su vez
proporciona la capacidad bruta de computo, que ponen dicha capacidad de
computo al alcance de los usuarios y administración cuidadosamente el hardware
para lograr un buen rendimiento.

Funciones de un Sistema Operativo

La función de un sistema operativo es administrar los recursos como el


hardware del computador; los procesadores, los medios de almacenamiento, los
dispositivos de entrada/salida, entre otros.

Los sistemas operativos realizan muchas funciones como proporcionar la


interfaz con el usuario, permitir que los usuarios compartan entre si los hardware y
los datos, evitar que los usuarios se interfieran recíprocamente, planificar la
distribución de los recursos entre los usuarios, facilitar entrada/salida y manejar las
comunicaciones en red.

Tipos de Sistema Operativos

Por lote

La secuencia por lotes o procesamiento por lotes en microcomputadoras, es


la ejecución de una lista de comandos del sistema operativo uno tras otro sin
intervención del usuario. En los ordenadores mas grandes el proceso de recogida
de programas y de conjuntos de datos los usuarios y la entrega de los recursos.

La función de estos sistemas operativos consistía en cargar en memoria desde


donde reasumía el control del sistema operativo que cargaba el programa y lo
ejecutara.

Monousuario

Es un sistema operativo que sólo puede ser ocupado por un único usuario
en un determinado tiempo, son muy simples que solo aceptan la conexión de un
solo usuario y dicho sistema se pueden basar en técnicas de monoprogramacion
pudiendo ser sistemas que facilitan al usuario la ejecución de varios programas
simultáneamente
De Red

El sistema operativo de red determina estos recursos, asi como la forma de


compartirlos y acceder a ellos, la planificación de una red se puede simplificar de
forma significativa, si primero se determina la arquitectura de red (cliente/servidor
o trabajo en grupo) que mejor se ajusta a nuestras necesidades. Después de
identificar las necesidades de seguridad de la red, el siguiente paso es determinar
los tipos de interoperabilidad necesaria en la red para que se comporte como una
unidad.

Cada sistema de red considera la interoperabilidad de forma diferente y por


ello, resulta muy importante recordar nuestras propias necesidades de
interoperabilidad cuando se evalué cada sistema operativo de red.

Multiusuario

En general se le llama multiusuario a la característica de un sistema


operativo o programa que permite proveer servicio y procesamiento a múltiples
usuarios simultáneamente (tanto en paralelismo real como simulado).

En contraposición a los sistemas Monousuario, que proveen servicio y


procesamiento a un solo usuario, en la categoría de multiusuario se encuentran
todos los sistemas que cumplen simultáneamente las necesidades de dos o más
usuarios, que comparten los mismos recursos. Actualmente este tipo de sistemas
se emplean especialmente en redes, pero los primeros ejemplos de sistemas
multiusuario fueron sistemas centralizados que se compartían a través del uso de
múltiples dispositivos de interfaz humana

Distribuidos

Los sistemas operativos distribuidos desempeñan las mismas funciones


que un sistema operativo normal, pero con la diferencia de trabajar en un entorno
distribuido. Su misión principal consiste en facilitar el acceso y la gestión de los
recursos distribuidos en la red, también puede acceder a recursos remotos de la
misma manera en que lo hacen para los recursos locales, permiten distribuir
trabajos, tareas o procesos entre un conjunto de procesadores.

Estos sistemas pueden ser muy confiables y estables ya que si un


componente del sistema se descompone otro componente debe de ser capaz de
remplazarlo inmediatamente y no afectar los procesos del sistema.
Cliente/Servidor

Esta arquitectura consiste básicamente en un cliente que realiza peticiones


a otro programa (el servidor) que le de respuesta. Aunque esta idea se puede
aplicar a programas que se ejecutan sobre una sola computadora es mas
ventajosa en un sistema operativo multiusuario/distribuido a través de una red de
computadoras

La separación entre cliente servidor es de tipo lógico, donde el servidor no


se ejecuta necesariamente sobre una sola maquina ni es necesariamente un solo
programa.

Tiempo Compartido

En este tipo de sistema, el control lo tiene el usuario registrando su entrada


y obteniendo todo el tiempo del CPU hasta que sale del sistema y entra otro
usuario, pero para permitir que otro usuario pueda hacer uso también del CPU el
sistema operativo cada cierto tiempo atenderá a cada usuario que tenga
conectado, siendo asi de tiempo compartido.

Conceptos

Definición de Paralelismo:

El paralelismo es una forma de computación en la cual varios cálculos pueden


realizarse si-multáneamente, basado en el principio de dividir los problemas
grandes para obtener varios problemas pequeños, que son posteriormente
solucionados en paralelo. Hay varios tipos diferentes de paralelismo: nivel de bit,
nivel de instrucción, de datos y de tarea. El paralelismo ha sido empleado durante
muchos años, sobre todo para la Computación de alto rendimiento.

Concurrencia

La concurrencia es la propiedad de los sistemas que permiten que los


múltiples procesos sean ejecutados al mismo tiempo, y que potencialmente
puedan interactuar entre sí. Los procesos concurrentes pueden ser ejecutados
realmente de forma simultánea, sólo cuando uno es ejecutado en diferentes
procesadores, en cambio la concurrencia es simulada si solo existe un procesador
encargado de ejecutar los procesos concurrentes, simulando la concurrencia,
ocupándose de forma alternada en uno y otro proceso a pequeñísimos intervalos
de tiempo. De esta manera simula que están ejecutándose a la vez.
Proceso

Este termino fue acuñado por primera vez por los diseñadores de Multics en los
años 70 en un termino se incluyen otras definiciones como:

- Es un programa de ejecución de la entidad asignada al procesador que es


ejecutada en funcionamiento del computador

- Es el conjunto de faces sucesivas de un fenómeno en un lapso de tiempo


proporcionando una marcha hacia un fin determinado.

Exclusión Mutua

Es un sistema multiprogramado con un único procesador, los procesos se


intercalan en el tiempo para dar apariencia de ejecución simultánea

En un sistema multiprocesador de memoria compartida, se usa la operación


indivisible test-and-set sobre una bandera, para esperar hasta que el otro
procesador la despeje. La operación test-and-set realiza ambas operaciones sin
liberar el bus de memoria a otro procesador. Así, cuando el código deja la sección
crítica, se despeja la bandera. Esto se conoce como spin lock o espera activa.

Algunos sistemas tienen instrucciones multioperación indivisibles similares


a las anteriormente descritas para manipular las listas enlazadas que se utilizan
para las colas de eventos y otras estructuras de datos que los sistemas operativos
usan comúnmente.

Memoria Virtual

La memoria virtual es una técnica de administración de la memoria real que


permite al sistema operativo brindarle al software de usuario y a si mismo un
espacio de direcciones mayor que la memoria real o física.

La mayoría de los ordenadores tienen cuatro tipos de memoria: registros en


el CPU, la memoria cache (tanto dentro y fuera del CPU), la memoria física (RAM),
y el disco duro que es mucho más lento, pero también mas grande y seguro.

Emulación

Es una técnica utilizada para lograr que un computador se comporte como


si fuera otro, además son un conjunto de instrucciones en lenguaje de maquina del
computador que se va a emular se microprograma en la maquina anfitriona asi, los
programas en lenguaje de máquina de la maquina emulada pueden ejecutarse
directamente en la anfitriona.

Puede definirse también como un software que permite ejecutar programas


de computadora o video juegos en una plataforma diferente de aquella a la cual
fueron escritos originalmente.

Spooling:

En informática, el Spooling hace referencia al proceso de transferir datos


poniéndolos en un área temporal de trabajo, donde otro programa puede acceder
para su procesamiento en otro momento. Esta área de trabajo temporal suele
estar en un archivo o en un dispositivo de almacenamiento

Instrucciones Cobegin y Coend:

Cobegin:

Cobegin (o par) es una forma estructurada de denotar la ejecución


concurrente de un conjunto de instrucciones:

Cobegin

S1;

S2;

Sn;

Coend:

S0

S1 Sn

Sn+1

S2 ...
Este código permite la ejecución concurrente de las instrucciones SI, S2, etc. La
instrucción

cobegin («comienzo») termina cuando han terminado todas las instrucciones


concurrentes. Cada

instrucción Si puede ser cualquiera de las construcciones permitidas en el


lenguaje, incluyendo las

asignaciones sencillas o las llamadas a procedimientos. De invocar algún


procedimiento, podrán

pasarse datos a los procesos invocados mediante los parámetros de la llamada.


La instrucción cobegin

podría incluir, a su vez, una secuencia de instrucciones donde apareciera cobegin,


y así construir una

jerarquía de procesos.

Todas las instrucciones insertadas entre las palabras clave COBEGIN y COEND
se ejecutarán concurrentemente.

Ejemplo:

Implementar, usando COBEGIN/COEND el grafo de precedencia de la


figura adjunta:

S1;

COBEGIN

S3;

BEGIN

S2;

S4;

COBEGIN

S5;
S6;

COEND

END

COEND;

S7;

Instrucción Hardware:

Hardware corresponde a todas las partes tangibles de una computadora:


sus componentes eléc-tricos, electrónicos, electromecánicos y mecánicos;1 sus
cables, gabinetes o cajas, periféricos de todo tipo y cualquier otro elemento físico
involucrado; contrariamente, el soporte lógico es intangible, y que es llamado
software. El término es propio del idioma inglés (literalmente traducido: partes
duras), su traducción al español no tiene un significado acorde, por tal motivo se la
ha adoptado tal cual es y sue-na; la Real Academia Española lo define como
«Conjunto de los componentes que integran la parte material de una
computadora».2 El término, aunque es lo más común, no solamente se aplica a
una computadora tal como se la conoce, ya que, por ejemplo, un robot, un teléfono
móvil, una cámara fo-tográfica o un reproductor multimedia también poseen
hardware (y software).3 4

El término hardware tampoco correspondería a un sinónimo exacto de


«componentes informá-ticos», ya que esta última definición se suele limitar
exclusivamente a las piezas y elementos internos, independientemente de los
periféricos.

La historia del hardware del computador se puede clasificar en cuatro


generaciones, cada una caracterizada por un cambio tecnológico de importancia.
Este hardware se puede clasificar en: básico, el estrictamente necesario para el
funcionamiento normal del equipo; y complementario, el que realiza funciones
específicas.

Un sistema informático se compone de una unidad central de


procesamiento (CPU), encargada de procesar los datos, uno o varios periféricos
de entrada, los que permiten el ingreso de la información y uno o varios periféricos
de salida, los que posibilitan dar salida (normalmente en forma visual o audi-tiva) a
los datos procesados.
Instrucción Software:

Se define como Proceso al conjunto ordenado de pasos a seguir para llegar


a la solución de un problema u obtención de un producto, en este caso particular,
para lograr la obtención de un producto software que resuelva un problema.

El proceso de creación de software puede llegar a ser muy complejo,


dependiendo de su porte, características y criticidad del mismo. Por ejemplo la
creación de un sistema operativo es una tarea que requiere proyecto, gestión,
numerosos recursos y todo un equipo disciplinado de trabajo. En el otro extremo,
si se trata de un sencillo programa (por ejemplo, la resolución de una ecuación de
segundo orden), éste puede ser realizado por un solo programador (incluso
aficionado) fácilmente. Es así que normalmente se dividen en tres categorías
según su tamaño (líneas de código) o costo: de Pequeño, Mediano y Gran porte.
Existen varias metodologías para estimarlo, una de las más populares es el sis-
tema COCOMO que provee métodos y un software (programa) que calcula y
provee una estimación de todos los costos de producción en un «proyecto
software» (relación horas/hombre, costo monetario, cantidad de líneas fuente de
acuerdo a lenguaje usado, etc.).

Considerando los de gran porte, es necesario realizar complejas tareas,


tanto técnicas como de gerencia, una fuerte gestión y análisis diversos (entre otras
cosas), por lo cual se ha desarrollado una ingeniería para su estudio y realización:
es conocida como Ingeniería de Software.

En tanto que en los de mediano porte, pequeños equipos de trabajo (incluso


un avezado analista-programador solitario) pueden realizar la tarea. Aunque,
siempre en casos de mediano y gran porte (y a veces también en algunos de
pequeño porte, según su complejidad), se deben seguir ciertas etapas que son
necesarias para la construcción del software. Tales etapas, si bien deben existir,
son flexibles en su forma de aplicación, de acuerdo a la metodología o Proceso de
Desarrollo escogido y utilizado por el equipo de desarrollo o por el analista-
programador solitario (si fuere el caso).

Los «procesos de desarrollo de software» poseen reglas preestablecidas, y


deben ser aplicados en la creación del software de mediano y gran porte, ya que
en caso contrario lo más seguro es que el proyecto o no logre concluir o termine
sin cumplir los objetivos previstos, y con variedad de fallos in-aceptables
(fracasan, en pocas palabras). Entre tales «procesos» los hay ágiles o livianos
(ejemplo XP), pesados y lentos (ejemplo RUP) y variantes intermedias; y
normalmente se aplican de acuerdo al tipo, porte y tipología del software a
desarrollar, a criterio del líder (si lo hay) del equipo de desarrollo.
Multiprogramación

Se denomina multiprogramación a la técnica que permite que dos o más


procesos ocupen la misma unidad de memoria principal. Multiprogramación
implica multiproceso, sin embargo multiproceso no implica multiprogramación.
Aporta las siguientes ventajas:

-Aumenta el uso de la CPU.

-Las direcciones de los procesos son relativas, el programador no se


preocupa por saber en dónde estará el proceso dado que el sistema operativo es
el que se encarga de convertir la dirección lógica en física.

Multiproceso

Es tradicionalmente conocido como el uso de múltiples procesos


concurrentes en un sistema en lugar de un único proceso en un instante
determinado. Como la multitarea que permite a múltiples procesos compartir una
única CPU, múltiples CPUs pueden ser utilizados para ejecutar múltiples hilos
dentro de un único proceso.

El multiproceso para tareas generales es, a menudo, bastante difícil de


conseguir debido a que puede haber varios programas manejando datos internos
(conocido como estado o contexto) a la vez. Los programas típicamente se
escriben asumiendo que sus datos son incorruptibles. Sin embargo, si otra copia
del programa se ejecuta en otro procesador, las dos copias pueden interferir entre
sí intentando ambas leer o escribir su estado al mismo tiempo. Para evitar este
problema se usa una variedad de técnicas de programación incluyendo semáforos
y otras comprobaciones y bloqueos que permiten a una sola copia del programa
cambiar de forma exclusiva ciertos valores, además comparten una memoria
principal común y un solo sistema operativo.

Microprogramación

Es un tipo particular de firmware utilizado en algunos microprocesadores de


propósito general.
Semáforos

Es una variable especial (o tipo abstracto de datos) que constituye el


método clásico para restringir o permitir el acceso a recursos compartidos (por
ejemplo, un recurso de almacenamiento del sistema o variables del código fuente)
en un entorno de multiprocesamiento (en el que se ejecutarán varios procesos
concurrentemente). Fueron inventados por Edsger Dijkstra y se usaron por
primera vez en el sistema operativo THEOS.

Monitores

Los monitores son objetos destinados a ser usados sin peligro por más de
un hilo de ejecución. La característica que principalmente los define es que sus
métodos son ejecutados con exclusión mutua. Lo que significa, que en cada
momento en el tiempo, un hilo como máximo puede estar ejecutando cualquiera
de sus métodos. Esta exclusión mutua simplifica el razonamiento de implementar
monitores en lugar de código a ser ejecutado en paralelo.
Bibliografía

www.google.co.ve

Das könnte Ihnen auch gefallen