Está en la página 1de 6

EVOLUCION DE LOS SISTEMAS OPERATIVO

RESUMEN
Para grandes sistemas operativos, que van desde cientos de miles a millones de líneas
de código, la programación modular por sí sola no es suficiente. En su lugar, ha ido
creciendo el uso de conceptos como los de niveles jerárquicos y abstracción de la
información. La estructura jerárquica de un sistema operativo moderno separa sus
funciones de acuerdo a su complejidad, su escala característica de tiempo y su nivel de
abstracción. Se puede contemplar al sistema como una serie de niveles. Cada nivel lleva
a cabo un determinado subconjunto de funciones requeridas por el sistema operativo.
Este se basa en el nivel inferior para llevar a cabo funciones más primitivas y ocultar los
detalles de dichas funciones.
Historia
Los sistemas han ido evolucionando constantemente a través de los años, según la
investigación, se detalla, que la primera computadora digital verdadera fue diseñada por
Charles Babbage, el gasto su fortuna y gran parte de su vida la dedico a la construcción,
de su máquina al analítica, pero todo fue un fracaso ya que nunca logro que funcionara
adecuadamente, debido a que, era mecánica, y la tecnología de su era no podría
producir las diferentes piezas y herramientas para su adecuado funcionamiento, por
razones obvias la computadora no tenía sistema operativo, , como algo interesante
Babbage se dio cuenta de que necesitaba un sistema operativo, para su máquina, en
donde contrato a Ada Lovelace, como la primera programada del mundo, de aquí nace
el Lenguaje de programación Ada de ahí su nombre.
(Tanenbaum, Sistemas operativos modernos, 2009)
Las primeras computadoras electrónicas digitales no tenían S. O. las mecánicas de esta
época eran tan simples que con frecuencia los programas se introducían bit a bit
mediante grupos de interruptores mecánicos. Posteriormente los programas se
introducían en la computadora en lenguaje máquina mediante tarjetas perforadas y se
desarrollaron los lenguajes ensambladores para acelerar el proceso de programación.
Dos sucesos provocan que el procesador vaya a por la instrucción siguiente del programa
monitor. De este modo, la frase "el control se le pasa al trabajo" quiere decir
simplemente que el procesador pasa a leer y ejecutar instrucciones del programa de
usuario, mientras que la frase "el control vuelve al monitor" quiere decir que el
procesador pasa ahora a leer y ejecutar las instrucciones del programa monitor. Debe
quedar claro que es el monitor el que gestiona el problema de la planificación. Se pone
en cola un lote de trabajos y éstos son ejecutados tan rápido como es posible, sin que
haya tiempo alguno de desocupación. Si se almacena en cinta, entonces se requiere la
tarjeta $LOAD. Esta tarjeta es leída por el monitor, quien retoma el control después de
la operación de compilación. El monitor llama al cargador, que carga el programa objeto
en memoria en el lugar del compilador y le transfiere el control. De esta manera, un
segmento grande de memoria se puede compartir entre diferentes subsistemas, aunque
en cada momento sólo uno de ellos tiene que estar presente y ejecutándose.
En el proceso de la ejecución del programa de usuario, cada instrucción de entrada
origina la lectura de una tarjeta de datos. La instrucción de entrada en el programa del
usuario hace que se invoque una rutina de entrada, que forma parte del sistema
operativo. La rutina de entrada se asegura de que el programa de usuario no ha leído
accidentalmente una tarjeta JCL. Si esto sucede, se produce un error y el control se
transfiere al monitor.Con el uso de la multiprogramación, el tratamiento por lotes puede
llegar a ser bastante eficiente. Sin embargo, para muchas tareas, es conveniente
suministrar un modo en que el usuario interactúe directamente con el computador. De
hecho, para algunos trabajos, tales como el proceso de transacciones, este modo
interactivo es fundamental. Hoy en día, los requisitos de un servicio de computación
interactiva pueden y suelen llevarse a cabo con el empleo de un computador dedicada.
Esta opción no estaba disponible en los años 60, cuando la mayoría de los computadores
eran grandes y costosas. En su lugar, se desarrollaron las técnicas de tiempo compartido.
Al igual que la multiprogramación permite al procesador manejar varias tareas por lotes
al mismo tiempo, la multiprogramación puede también utilizarse para manejar varias
tareas interactivas. En este último caso, la técnica se conoce como tiempo compartido,
porque refleja el hecho de que el tiempo del procesador es compartido entre los
diversos usuarios. La técnica básica de un sistema de tiempo compartido es tener a
varios usuarios utilizando simultáneamente el sistema mediante terminales, mientras
que el sistema operativo intercala la ejecución de cada programa de usuario en ráfagas
cortas de cómputo o cuantos (quantum). De esta manera, si hay n usuarios que solicitan
servicio a la vez, cada usuario sólo dispondrá, en promedio, de Un de la atención efectiva
del computador, sin contar con la sobrecarga del sistema operativo. Sin embargo, dado
el tiempo de reacción relativamente lento que tiene el ser humano, el tiempo de
respuesta en un sistema correctamente diseñado debería ser comparable al de un
computador dedicada. (Pedro, 2010)
Para grandes sistemas operativos, que van desde cientos de miles a millones de líneas
de código, la programación modular por si sola no es suficiente. En su lugar, ha ido
creciendo el uso de conceptos como los de niveles jerárquicos y abstracción de la
información. La estructura jerárquica de un sistema operativo moderno separa sus
funciones de acuerdo a su complejidad, su escala característica de tiempo y su nivel de
abstracción. Se puede contemplar al sistema como una serie de niveles. Cada nivel lleva
a cabo un determinado subconjunto de funciones requeridas por el sistema operativo.
Este se basa en el nivel inferior para llevar a cabo funciones más primitivas y ocultar los
detalles de dichas funciones. A su vez, cada nivel ofrece servicios al nivel superior. En el
mejor de los casos, los niveles deben estar definidos de forma que los cambios en un
nivel no requieran cambios en otros niveles. De este modo, se descompone un problema
en un número de subproblemas más manejables.
El sistema operativo como administrador de recursos.
Los sistemas operativos modernos permiten, la ejecución de varios programas a la vez,
en donde su tarea principal, es llevar un registro de que programa se está utilizando y
que recursos está utilizando para dicha ejecución, y de esta manera poder prevenir el
colapso de distintos programas y usuarios.
La administración de recursos incluye el multiplexaje que significa compartir recursos en
dos formas distintas: en el tiempo y en el espacio. Cuando un recurso se multiplexa en
el tiempo, los distintos programas o usuarios toman turnos para utilizarlo: uno de ellos
obtiene acceso al recurso, después otro, y así en lo sucesivo, un ejemplo multiplexaje en
el tiempo es la compartición de la impresora en donde hay varios trabajos en una cola
de impresión, para imprimirlos en una sola impresora, se debe tomar una decisión en
cuanto a cuál trabajo debe imprimirse a continuación.

Servicios del Sistema Operativo

Ejecución de programas
El sistema operativo deberá ser capaz de cargar y ejecutar un programa el programa
deberá poder finalizar, de forma normal o anormal.
Operaciones
El sistema operativo deberá dar un mecanismo de acceso ya que por eficiencia y
protección los usuarios no accederán directamente al dispositivo.

Manipulación del Sistema de archivos

Se deberá dar el libre acceso al sistema de archivos y poder, como opción mínima, leer,
escribir, borrar y crear.

Comunicación entre procesos

Los procesos deben comunicarse, pueden estar en el mismo computador o en diferentes


computadores.

Manipulación de errores

El sistema debe tomar decisiones al momento que se produzca un error, ejemplo fallo
de dispositivo de memoria o fallo de un programa.

Estructura del Sistema


Continuación tenemos tres diseños posibles de un sistema operativo, teniendo en
cuenta que la estructura interna de los sistemas operativos, pueden ser muy diferentes,
porque se debe tener en cuenta los requerimientos de los usuarios como por ejemplo,
el fácil uso, que se confiable, que rápido.

Sistema Monolítico
No tienen estructura definida, aquí cualquier procedimiento puede involucrar a otro,
ejemplos de estos sistemas pueden ser MS-DOS o Linux es importante tener en cuenta
que ningún sistema es puramente de un tipo.

Sistema en capas
Estos sistemas tienen como ventaja que son accesibles y la verificación se puede hacer
a cada capa por separado lo negativo es su diseño es muy costoso y es menos eficiente
que el sistema monolítico ya que pierde tiempo pasando por cada capa.

Sistema con micro núcleo


En estos sistemas el núcleo ya es más seguro ya que los servicios corren en modo de
usuario y tienen como ventaja un diseño simple y funcional, que aumenta la
Portabilidad y la accesibilidad.
(Tanenbaum, Sistemas operativos modernos, 2009)
La automatización de los procesos para obtener mejores beneficios no solo en el mundo
de la computación, pero a partir del inicio de las computadoras los mismos ha
evolucionado mucho más rápido, por su puesto a la par de la tecnología computacional,
digo esto porque como sabrán lo uno depende de lo otro para realizar tan complejos
procesos y presentarlos a los usuarios de la forma más comprensible para los mismos.
Un sistema operativo debe tener buenas características de portabilidad, de
mantenimiento muy funcional y productivo y en esto tiene mucho que ver la ingeniería
del software, para esto tenemos el término “Métodos agiles” termino que implica ser
eficaz y fácil de manejar (Amaya, 2013)
Una vez comprendido esto, los desarrolladores comienzan a competir si cabe el termino,
por ofrecer todas las mejores características de sus sistemas para ser aceptados por la
mayor parte d los usuarios, lógicamente unos van a sobresalir en ciertos aspectos más
que otros, o bien, van estar orientados a tipos selectos de usuarios, o convertidos en
algo así como monopolios.
A lo dicho anteriormente hay diferentes alternativas a la hora de elegir el Sistema
Operativo tomando en cuenta que se deben analizar los requisitos que debe cumplir el
computador para cierto Sistema Operativo.
Los tres Sistemas Operativos más utilizados en el mundo de la computación son
Windows en sus diferentes versiones de Microsoft Corporation, Mac OS de Apple y las
distintas distribuciones de GNU/Linux creados por diferentes empresas desarrolladoras
de Software que trabajan sobre la plataforma Kernel o núcleo Linux, aunque Windows®
domina por mucho el mercado (92.77%, según Market Share, 2009), Mac OS® y las
“distros” GNU/ Linux® crecen día trás día como fuertes competidores. (Lopez, 2010)

Las categorías de Sistemas Operativos


Los tipos de software que se utilizan se definen más por los tipos de licencia que utilizan
que
Por lo que hacen y que a la vez se refiere al provecho que le saquen los usuarios, para
esto se debe hablar del código fuente que el lenguaje de programación en su forma
original o sea las instrucciones que le dicen al programa lo que tiene que hacer. En este
caso solo existe Linux (Software libre) la cual permite editar el código fuente para
hacerle mejoras y subirlas a la red para que sean compartidos son la mayoría de la
comunidad de usuarios de Linux. Pero la mayor parte de sistemas vienen con restricción
a este código (Software Privado) por tener sus derechos reservados a nombre de las
empresas desarrolladoras las cuales te venden licencias con ciertas restricciones de
instalación en un número determinado de computadoras y no te permiten el acceso a
su código fuente, mucho menos que lo puedas redistribuir como cualquier cosa.
Parte del Mac OS se fundamenta en software de código abierto, lo que le ha traído muy
buenos beneficios para su compañía. En su página web se promueve el estudio de su
código fuente para realizar mejoras en el software, Los principales componentes de Mac
OS X, incluido el núcleo de UNIX, están disponibles bajo la licencia Open Source de Apple,
condescendiendo a los desarrolladores y estudiantes ver el código fuente, aprender de
él y enviar consejos e innovaciones. Pero, esta libertad se limita al acceso al código
fuente, ya que su uso y distribución están restringidos.(libre, 2013)

CONCLUSIONES
Los sistema operativos desde su inicio hasta la actualidad han evolucionado de una
manera muy rápida, esto de la mano de la tecnología, ya que ambos son un
complemento, tenemos diferentes sistemas en los cuales se aplican a diferentes
dispositivos, se han portátiles, de escritorio, administradores, gestores, buscadores, en
los cuales hacen del mundo del internet una herramienta muy excepcional para los
usuarios en tanto empresas, negocios, redes sociales y el comercio online.
No debemos olvidarnos de como iniciaron los sistemas operativos, ya que en su Commented [GM1]:
principios la computador solo obedecía a un tipo de lenguaje que era el lenguaje binario, Commented [GM2R1]:
mucho tiempo tuvo que pasar para que los desarrolladores adapten este código a un
código más entendible por los mismo programadores y a la ves para un mejor diseño de
interfaces entendibles y fáciles de utilizar para el usuario.
De estos sistemas operativos tenemos software privado que es el que no me da el código
fuente y el libre que si lo hace, entonces este podemos realizar cambios según nuestras
necesidad y podemos utilizarlas en la red para que la comunidad de Linux puede tener
acceso a las mejoras alrededor del mundo.
Bibliografía
Amaya, Y. (2013). Metodologías ágiles en el desarrollo de aplicaciones. Journal Technology, 111-
124.

libre, C. d. (3 de April de 2013). GNU Operating System. Obtenido de


<http://www.gnu.org/philosophy/categories.es.html>

Lopez, A. (2010). La Guerra de los Sistemas Operativos. Revista Reflexiones, 61-73.

Tanenbaum, A. (2009). Sistemas operativos. Obtenido de


https://norbertomn.files.wordpress.com/2013/09/sistemas-operativos-modernos.pdf

Tanenbaum, A. (2009). Sistemas operativos modernos. Pearson, 1104.

También podría gustarte