Está en la página 1de 16

TECNOLOGICO SUPERIOR DE SAN ANDRES TUXTLA

MAESTRO:
DIEGO DE JESÚS VELAZQUEZ LUCHO
ALUMNA :
JANDRI YAMILET FOMPEROSA CAMPOS
CARRERA:
INGENIERIA AN SISTEMAS COMPUTACIONALES
MATERIA:
SISTEMAS OPERATIVOS
GRUPO :
312 A
UNIDAD 1

Main
1 Generacion
1940 - 1950
 
Evento aparición de la 1° generación de computadoras
Aparicion
1947 - 1949
 
Aparicion de los sistemas operativos, aparicion discreta y bastante simple tales como el monitor
recidente y el almacenamiento temporal
2 Generacion
1950 - 1960
 
reemplazó a las válvulas de vacío por los transistores.
Por eso, las computadoras de la segunda generación son más pequeñas y consumen menos
electricidad que las anteriores, la forma de comunicación con estas nuevas computadoras es
mediante lenguajes más avanzados que el lenguaje de máquina, y que reciben el nombre de
"lenguajes de alto nivel" o lenguajes de programación.
Sistema Batch
1950 - 1955
 
A principios de los años 50 con el objeto de facilitar la interacción entre persona y computadora,
los sistemas operativos hacen una aparición discreta y bastante simple, con conceptos tales como
el monitor residente, el proceso por lotes y el almacenamiento temporal.
Circuitos integrados
1960 - 1965
 
Aparicion de los circuitos integrados, cambios notorios en varios campos de la informatica
Multiprogramación
1960 - 1965
 
En un sistema multiprogramado la memoria principal alberga a más de un programa de usuario.
Tiempo real
1963 - 1967
 
Estos sistemas se usan en entornos donde se deben aceptar y procesar en tiempos muy breves un
gran número de sucesos, en su mayoría externos al ordenador. Si el sistema no respeta las
restricciones de tiempo en las que las operaciones deben entregar su resultado se dice que ha
fallado.
UNIX
1964 - 1965
 
Aparicion del sistema operativo multiusuario
-->Desarrollo de UNIIX
Multiprocesador
1966 - 1969
 
Diseño que no se encuentran en ordenadores monoprocesador. Estos problemas derivan del
hecho de que dos programas pueden ejecutarse simultáneamente y, potencialmente, pueden
interferirse entre sí. Concretamente, en lo que se refiere a las lecturas y escrituras en memoria.
Inconvenientes de los Sistemas operativos
1969 - 1975
 
MULTICS (Multiplexed Information and Computing Service): Originalmente era un proyecto
cooperativo liderado por Fernando Corbató del MIT, con General Electric y los laboratorios Bell,
que comenzó en los 60, pero los laboratorios Bell abandonaron en 1969 para comenzar a crear el
sistema UNIX. Se desarrolló inicialmente para el mainframe GE-645, un sistema de 36 bits;
después fue soportado por la serie de máquinas Honeywell 6180.
Microordenadores
MS-DOS
1981 - 1985
 
En 1981 Microsoft compró un sistema operativo llamado QDOS que, tras realizar unas pocas
modificaciones, se convirtió en la primera versión de MS-DOS (Micro Soft Disk Operating System).
A partir de aquí se sucedieron una serie de cambios hasta llegar a la versión 7.1, versión 8 en
Windows Milenium, a partir de la cual MS-DOS dejó de existir como un componente del Sistema
Operativo.
GNU/Linux
1990 - 1999
 
Este sistema al parecer es una versión mejorada de Unix, basado en el estándar POSIX, un sistema
que en principio trabajaba en modo comandos. Hoy en día dispone de Ventanas, gracias a un
servidor gráfico y a gestores de ventanas como KDE, GNOME entre muchos. Recientemente
GNU/Linux dispone de un aplicativo que convierte las ventanas en un entorno 3D como por
ejemplo Beryl o Compiz. Lo que permite utilizar Linux de una forma visual atractiva.
Windows NET
1997 - 1998
 
Para 1997 el proyecto no había lanzado ninguna versión, por lo que los miembros de éste,
coordinados por Jason Filby, pudieron revivirlo. Se decidió cambiar el núcleo del sistema
compatible con MS-DOS y de ahora en adelante basarlo en uno compatible con Windows NT y así
el proyecto pudo seguir adelante con el nombre actual de ReactOS, que comenzó en febrero de
1998, desarrollando las bases del kernel y algunos drivers básicos.
ReactOS
1998 - 2000
 
ReactOS (React Operating System) es un sistema operativo de código abierto destinado a lograr la
compatibilidad binaria con aplicaciones de software y controladores de dispositivos hechos para
Microsoft Windows NT versiones
Sistemas operativos

Vigentes en la industria.
estructuras dediferentes sistemas operativos, su clasificación, funciones y
características.

Características de los sistemas Operativos

En general, se puede decir que un Sistema Operativo tiene las siguientes características:

Conveniencia: Un Sistema Operativo hace más conveniente el uso de una computadora.

Eficiencia: Un Sistema Operativo permite que los recursos de la computadora se usen de la


manera más eficiente posible.

Habilidad para evolucionar:  Un Sistema Operativo deberá construirse de manera que permita el
desarrollo, prueba o introducción efectiva de nuevas funciones del sistema sin interferir con el
servicio.

Encargado de administrar el hardware:  El Sistema Operativo se encarga de manejar de una mejor


manera los recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada
proceso una parte del procesador para poder compartir los recursos.

Relacionar dispositivos: (gestionar a través del kernel)El Sistema Operativo se debe encargar de


comunicar a los dispositivos periféricos, cuando el usuario así lo requiera.

CLASIFICACCION

-Con el paso del tiempo, los Sistemas Operativos fueron clasificándose de diferentes maneras,
dependiendo del uso o de la aplicación que se les daba. A continuación se mostrarán diversos
tipos de Sistemas Operativos que existen en la actualidad, con algunas de sus características:
FUNCIONES

El sistema operativo cumple varias funciones:

Administración del procesador: el sistema operativo administra la distribución del procesador


entre los distintos programas por medio de un algoritmo de programación. El tipo de programador
depende completamente del sistema operativo, según el objetivo deseado.

Gestión de la memoria de acceso aleatorio: el sistema operativo se encarga de gestionar el


espacio de memoria asignado para cada aplicación y para cada usuario, si resulta pertinente.
Cuando la memoria física es insuficiente, el sistema operativo puede crear una zona de memoria
en el disco duro, denominada "memoria virtual". La memoria virtual permite ejecutar aplicaciones
que requieren una memoria superior a la memoria RAM disponible en el sistema. Sin embargo,
esta memoria es mucho más lenta.

Gestión de entradas/salidas: el sistema operativo permite unificar y controlar el acceso de los


programas a los recursos materiales a través de los drivers (también conocidos como
administradores periféricos o de entrada/salida).

Gestión de ejecución de aplicaciones: el sistema operativo se encarga de que las aplicaciones se


ejecuten sin problemas asignándoles los recursos que éstas necesitan para funcionar. Esto significa
que si una aplicación no responde correctamente puede "sucumbir
Conceptos Básicos
 Un sistema operativo es un software de sistema, es decir, un conjunto de programas de
computación destinados a realizar muchas tareas entre las que destaca la administración
eficaz de sus recursos.

 Comienza a trabajar cuando en memoria se carga un programa especifico y aun antes de


ello, que se ejecuta al iniciar el equipo, o al iniciar una máquina virtual, y gestiona el
hardware de la máquina desde los niveles más básicos, brindando una interfaz con el
usuario.

 Multitarea

El término multitarea se refiere a la capacidad del Sistema Operativo para correr más de
un programa al mismo tiempo. Existen dos esquemas que los programas de sistemas
operativos utilizan para desarrollar Sistema Operativo multitarea, el primero requiere de
la cooperación entre el Sistema Operativo y los programas de aplicación.Los programas
son escritos de tal manera que periódicamente inspeccionan con el
Sistema Operativo para ver si cualquier otro programa necesita a la CPU, si este es el caso,
entonces dejan el control del CPU al siguiente programa, a este método se le llama
multitarea cooperativa y es el método utilizado por el Sistema Operativo de las
computadoras de Machintosh y DOS corriendo Windows de Microsoft.

 El segundo método es el llamada multitarea con asignación de prioridades. Con este
esquema el Sistema Operativo mantiene una lista de procesos (programas) que están
corriendo. Cuando se inicia cada proceso en la lista el Sistema Operativo le asigna una
prioridad. En cualquier momento el Sistema Operativo puede intervenir y modificar la
prioridad de un proceso organizando en forma efectiva la lista de prioridad, el Sistema
Operativo también mantiene el control de la cantidad de tiempo que utiliza con cualquier
proceso antes de ir al siguiente.Con multitarea de asignación de prioridades el Sistema
Operativo puede sustituir en cualquier momento el proceso que está corriendo y
reasignar el tiempo a una tarea de más prioridad. Unix OS-2 y Windows NT emplean este
tipo de multitarea.

Multiusuario

Un Sistema Operativo multiusuario permite a más de un solo usuario accesar una


computadora. Claro que, para llevarse esto a cabo, el Sistema Operativo también debe ser
capaz de efectuar multitareas.
Unix es el Sistema Operativo Multiusuario más utilizado. Debido a que Unix fue
originalmente diseñado para correr en una minicomputadora, era multiusuario y
multitarea desde su concepción.
Actualmente se producen versiones de Unix para PC tales como The Santa Cruz
Corporation Microport, Esix, IBM,y Sunsoft. Apple también produce una versión de Unix
para la Machintosh llamada: A/UX.UnixUnix proporciona tres maneras de permitir a
múltiples personas utilizar la misma PC al mismo tiempo:

Mediante Módems.

Mediante conexión de terminales a través de puertos seriales

Mediante Redes.

Multiproceso

Las computadoras que tienen más de un CPU son llamadas multiproceso. Un sistema
operativo multiproceso coordina las operaciones de las computadoras multiprocesadoras.
Ya que cada CPU en una computadora de multiproceso puede estar ejecutando una
instrucción, el otro procesador queda liberado para procesar otras instrucciones
simultáneamente.Al usar una computadora con capacidades de multiproceso
incrementamos su velocidad de respuesta y procesos. Casi todas las computadoras que
tienen capacidad de multiproceso ofrecen una gran ventaja.

Los primeros Sistemas Operativos Multiproceso realizaban lo que se conoce como:

Multiproceso asimétrico: Una CPU principal retiene el control global de la computadora,


así como el de los otros procesadores. Esto fue un primer paso hacia el multiproceso pero
no fue la dirección ideal a seguir ya que la CPU principal podía convertirse en un cuello de
botella.

Multiproceso simétrico: En un sistema multiproceso simétrico, no existe una CPU


controladora única. La barrera a vencer al implementar el multiproceso simétrico es que
los Sistema Operativo tienen que ser rediseñados o diseñados desde el principio para
trabajar en un ambiente multiproceso. Las extensiones de Unix, que soportan
multiproceso asimétrico ya están disponibles y las extensiones simétricas se están
haciendo disponibles.
UNIDAD 2

Diagrama de Estado de los Procesos

Los bloques de control de los procesos se almacenan en colas, cada una de las cuales representa
un estado particular de los
procesos, existiendo en cada bloque, entre otras informaciones. Los estados de los procesos son
internos del sistema operativo y transparentes al usuario.

Los estados de los procesos se pueden dividir en dos tipos: activos e inactivos.

1.- Estados activos

Son aquellos que compiten con el procesador o están en condiciones de hacerlo. Se dividen en:

Ejecución:Estado en el que se encuentra un proceso cuando tiene el control del procesador. En un


sistema monoprocesador este estado sólo lo puede tener un proceso.

Preparado: Aquellos procesos que están dispuestos para ser ejecutados, pero no están en
ejecución por alguna causa (Interrupción, haber entrado en cola estando otro proceso en
ejecución, etc.).

Bloqueado: Son los procesos que no pueden ejecutarse de momento por necesitar algún recurso
no disponible (generalmente recursos de entrada/salida). 

• 2.- Estados inactivos

• Son aquellos que no pueden competir por el procesador, pero que pueden volver a
hacerlo por medio de ciertas operaciones. En estos estados se mantiene el bloque de
control de proceso aparcado hasta que vuelva a ser activado. Se trata de procesos que no
han terminado su trabajo que lo han impedido y que pueden volver a activarse desde el
punto en que se quedaron sin que tengan que volver a ejecutarse desde el principio.

• Son de dos tipos:

• Suspendido bloqueado: Es el proceso que fue suspendido en espera de un evento, sin que
hayan desaparecido las causas de su bloqueo.

• Suspendido programado: Es el proceso que han sido suspendido, pero no tiene causa
parta estar bloqueado.

• Información asociada con cada proceso:

• Estado del proceso.


• Program counter.

• Registros del CPU.

• Información de planificación del CPU.

• Memoria.

• Información para administración.

• Información de estatus de E/S.


ejemplificar con cosas de la vida real un proceso, programa y

procesador.

Procesador,

Es una herramienta para ínter-actuar con el dispositivo y el usuario por medio de

cuatro pasos que casi todos los CPU usan en su operación.


Ejemplo

En la vida real podemos emplearlo por ejemplo para elaborar la nómina del
personal, se requiere  un programa específico adecuado a las necesidades   y
requerimientos de la empresa
HILOS
Cuadro comparativo
PROCESOS

Los principales estados de los hilos son: Todo el software ejecutable, inclusive el Sistema
Ejecución, Listo y Bloqueado. No tiene sentido Operativo, se organiza en varios procesos
asociar estados de suspensión de hilos ya que es secuenciales o procesos.
un concepto de proceso

 Cuando se crea un proceso se crea un hilo para  El corazón de un sistema operativo es el núcleo,
ese proceso. Luego, este hilo puede crear otros un programa de control que reacciona ante
hilos dentro del mismo proceso. El hilo tendrá cualquier interrupción de eventos externos y
su propio contexto y su propio espacio de pila, y que da servicio a los procesos
pasara a la cola de listas.

Todos los hilos comparten el mismo espacio de  gira en torno a un sistema operativo es el de
direcciones y otros recursos como pueden ser proceso. Un proceso es un programa en
archivos abierto ejecución junto con el entorno asociad

la programación multihilo es que los programas Un solo procesador puede ser compartido entre
operan con mayor velocidad en sistemas de varios procesos con cierto “algoritmo de
computadores con múltiples CPUs planificación” , el cual determina cuándo
detener el trabajo en un proceso y dar servicio a
otro distinto
Glosario comparativo

conceptos algoritmo Un algoritmo es una serie de


instrucciones secuenciales ―es decir,
que van uno después del otro― que
permiten ejecutar acciones o
programas. Es crucial para avances
tecnológicos como la inteligencia
artificial
programa  hace referencia a un plan o proyecto
organizado de las distintas
actividades que se irá a realizar.
proceso Un proceso se trata entonces, en
general, de una serie de operaciones
realizadas en orden específico y con un
objetivo
tarea o job es un conjunto coherente de
instrucciones para realizar un trabajo
particular.
sesión una sesión es un período temporal
ocupado por una cierta actividad
lote  es un sustantivo. El nombre o
sustantivo es aquel tipo de palabras
cuyo significado determina la realidad.
Definir las diferencias fundamentales y

específicas de proceso, thread y multi-thread

Proceso:

Una instancia en ejecución de un programa se llama proceso.

Algunos sistemas operativos utilizan el término "tarea" para referirse a un programa que se está
ejecutando.

Un proceso siempre se almacena en la memoria principal, también denominado memoria primaria


o memoria de acceso aleatorio.

Por lo tanto, un proceso se denomina como una entidad activa. Desaparece si la máquina se
reinicia.

Varios procesos pueden estar asociados con un mismo programa.

En un sistema multiprocesador, se pueden ejecutar múltiples procesos en paralelo.

En un sistema de uni procesador, aunque no se logra un verdadero paralelismo, se aplica un


algoritmo de programación de procesos y se programa al procesador para que ejecute cada
proceso uno por uno, lo que produce una ilusión de concurrencia.

Ejemplo: Ejecución de varias instancias del programa "Calculadora". Cada una de las instancias se
denomina como un proceso.

Hilo:

Un hilo es un subconjunto del proceso.

Se denomina "proceso ligero", ya que es similar a un proceso real pero se ejecuta dentro del
contexto de un proceso y comparte los mismos recursos asignados al proceso por el kernel.

Por lo general, un proceso solo tiene un hilo de control: un conjunto de instrucciones de máquina
que se ejecutan a la vez.

Un proceso también puede estar compuesto por varios subprocesos de ejecución que ejecutan
instrucciones simultáneamente.

Múltiples hilos de control pueden explotar el verdadero paralelismo posible en sistemas


multiprocesador.

En un sistema de uni procesador, se aplica un algoritmo de programación de subprocesos y el


procesador está programado para ejecutar cada subproceso uno a la vez.

Todos los subprocesos que se ejecutan dentro de un proceso comparten el mismo espacio de
direcciones, descriptores de archivos, pila y otros atributos relacionados con el proceso.Dado que
los hilos de un proceso comparten la misma memoria, la sincronización del acceso a los datos
compartidos dentro del proceso adquiere una importancia sin precedentes .
Interbloqueo (DeadLock).

Es el bloqueo permanente de un conjunto de procesos que compiten por los recursos del sistema o
bien se comunican unos con otros. A diferencia de otros problemas de la gestión concurrente
de procesos, para el caso general no existe una solución eficiente.
En esta sección, se examinará la naturaleza del problema del interbloqueo

Todos los interbloqueos suponen demandas contradictorias de recursos por parte de dos o más procesos.

Los dos ejes del diagrama representan el avance de los dos procesos en términos de instrucciones
ejecutadas. El avance conjunto de los dos procesos se representa entonces con una secuencia
discreta de puntos en el espacio. Las líneas horizontales o verticales representan el intervalo
de tiempo en el que sólo uno de los procesos está ejecutándose (intercalado); una línea diagonal
significa ejecución simultánea (solapamiento). Supóngase que existe un punto en la ejecución de
proceso en el que se requiere el uso exclusivo de ambos recursos, Rl y R2, para continuar.
En el ejemplo,
llega un punto en el que el proceso Pl ha adquirido el recurso Rl y el proceso P2 ha adquirido
el recurso R2 y cada proceso necesita el otro recurso. Este es el punto de interbloqueo

El interbloqueo se produce si cada proceso retiene un recurso y solicita el otro.


Puede parecer que es un error de programación en lugar de un error del diseño del
sistema operativo. Sin embargo, se ha visto que el diseño de un programa concurrente entraña
gran dificultad. Se producen interbloqueos como éste y la causa está frecuentemente en la
compleja lógica del programa, lo que hace más difícil su detección. Una posible estrategia para
resolver estos interbloqueos es imponer restricciones en el diseño del sistema sobre el orden en
el que se solicitan los recursos

También podría gustarte