0% encontró este documento útil (0 votos)
15 vistas6 páginas

Sistemas Operativos Intro

Cargado por

asambleasansei
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
15 vistas6 páginas

Sistemas Operativos Intro

Cargado por

asambleasansei
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

El Sistema Operativo (SO) es el programa que se encarga de administrar los recursos de

software y hardware del ordenador, facilitando la interacción de ambos con el usuario.

FUNCIONES DEL SISTEMA OPERATIVO


*Administración del procesador el sistema operativo administra la distribución del
procesador entre los distintos programas y/o procesos 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".

*Administración de autorizaciones: el sistema operativo se encarga de la seguridad en


relación con la ejecución de programas garantizando que los recursos sean utilizados sólo
por programas y usuarios que posean las autorizaciones correspondientes.

*Gestión de archivos: el sistema operativo gestiona la lectura y escritura en el sistema de


archivos, y las autorizaciones de acceso a archivos de aplicaciones y usuarios.

*Gestión de la información: el sistema operativo proporciona cierta cantidad de


indicadores que pueden utilizarse para diagnosticar el funcionamiento correcto del equipo.

MULTIPROCESO, MULTITAREA Y MULTIUSUARIO


Clasificación de los sistemas operativos. A continuación se pasará a estudiar estos
conceptos en profundidad:
Multiproceso. Un sistema operativo multiproceso es aquel que puede ejecutar varios
procesos de forma concurrente (a la vez). Para que se puedan ejecutar varios procesos a
la vez es necesario tener un sistema multiprocesador (con varios procesadores).
El objetivo de utilizar un sistema con varios procesadores no es ni mas no menos que
aumentar la potencia de cálculo y por lo tanto rendimiento del mismo. El sistema va
repartiendo la carga de trabajo entre los procesadores existentes y también tendrá que
gestionar la memoria para poder repartirla entre dichos procesadores. Generalmente
los sistemas multiprocesador se utilizan en workstations, servidores, etc.
El funcionamiento de un sistema operativo que pueda trabajar con varios procesadores de
forma concurrente es una tarea complicada y generalmente se diseña para que trabajen
de varias formas:

*Forma asimétrica. Se designa un procesador como el procesador master (maestro) y los


demás serán slave (esclavos) de este. En el procesador maestra se ejecuta el sistema
operativo y se encargara de repartir el trabajo entre los demás procesadores esclavos.
Este sistema tiene la ventaja de que es mas simple de implementar ya que se centraliza la
gestión en un procesador. Por el contrario, el que existan procesadores que realicen
distinto trabajo hace que el sistema no sea tan eficiente como un sistema operativo que
trabaje de forma simétrica.

*Forma simétrica. En este tipo de sistema operativo todos los procesadores realizan las
mismas funciones. Es más difícil de implementar pero son más eficientes que los
sistemas operativos multiprocesos asimétricas. El poder balancear la carga de trabajo
entre todos los procesadores existentes hace que el tiempo de inactividad de las mismos
sea mucho menor y por le tanta la productividad mucho más alta. Otra ventaja es que si
un procesador falla. Gracias al balanceo de carga, los demás procesadores se hacen
cargo de las tareas del procesador que ha fallado.

*Multitarea. En un sistema operativo multitarea, varios procesos se pueden estar


ejecutando aparentemente al mismo tiempo sin que el usuario la perciba. La gran mayoría
de sistemas operativos actuales son multitarea. Un sistema multitarea permite a la vez
estar escuchando música, navegando por internet y realizando una videoconferencia. El
sistema operativo fracciona el tiempo de CPU y lo va repartiendo entre los procesos que
lo necesitan de la mejor forma posible.

*Multiusuario. Un sistema operativo multiusuario es un sistema que puede dar servicio a


varios usuarios de forma simultánea. Hay que tener en cuenta que un sistema con varias
cuentas de usuario no es necesariamente un sistema multiusuario. Por ejemplo, las
versiones domésticas de los sistemas Windows permiten tener varias cuentas de usuario
en el mismo sistema operativo pero no permiten que haya varios usuarios trabajando en
el sistema al mismo tiempo Las versiones Server de Windows si permiten esta
característica a través de terminal server. Por el contrario, las versiones Linux si son
multiusuarios desde hace mucho tiempo.

Historia SO
La primera computadora digital verdadera fue diseñada por el matemático inglés Charles
Babbage (de 1792 a 1871). Aunque Babbage gastó la mayor parte de su vida y fortuna
tratando de construir su “máquina analítica”, nunca logró hacer que funcionara de manera
apropiada, debido a que era puramente mecánica y la tecnología de su era no podía
producir las ruedas, engranes y dientes con la alta precisión que requería. Por supuesto,
la máquina analítica no tenía un sistema operativo

La primera generación (1945 a 1955): tubos al vacío


Después de los esfuerzos infructuosos de Babbage, no hubo muchos progresos en la
construcción de computadoras digitales sino hasta la Segunda Guerra Mundial, que
estimuló una explosión de esta actividad. El profesor John Atanasoff y su estudiante
graduado Clifford Berry construyeron lo que ahora se conoce como la primera
computadora digital funcional en Iowa State University. Utilizaba 300 tubos de vacío
(bulbos). Aproximadamente al mismo tiempo, Konrad Zuse en Berlín construyó la
computadora Z3 a partir de relevadores. En 1944, la máquina Colossus fue construida por
un equipo de trabajo en Bletchley Park, Inglaterra; la Mark I, por Howard Aiken en
Harvard, y la ENIAC, por William Mauchley y su estudiante graduado J. Presper Eckert en
la Universidad de Pennsylvania. Algunas fueron binarias, otras utilizaron bulbos, algunas
eran programables, pero todas eran muy primitivas y tardaban segundos en realizar
incluso hasta el cálculo más simple. En estos primeros días, un solo grupo de personas
(generalmente ingenieros) diseñaban, construían, programaban, operaban y daban
mantenimiento a cada máquina. Toda la programación se realizaba exclusivamente en
lenguaje máquina o, peor aún, creando circuitos eléctricos mediante la conexión de miles
de cables a tableros de conexiones (plugboards) para controlar las funciones básicas de
la máquina. Los lenguajes de programación eran desconocidos (incluso se desconocía el
lenguaje ensamblador). Los sistemas operativos también se desconocían. El modo usual
de operación consistía en que el programador trabajaba un periodo dado, registrándose
en una hoja de firmas, y después entraba al cuarto de máquinas, insertaba su tablero de
conexiones en la computadora e invertía varias horas esperando que ninguno de los
cerca de 20,000 bulbos se quemara durante la ejecución. Prácticamente todos los
problemas eran cálculos numéricos bastante simples, como obtener tablas de senos,
cosenos y logaritmos. A principios de la década de 1950, la rutina había mejorado un poco
con la introducción de las tarjetas perforadas. Entonces fue posible escribir programas en
tarjetas y leerlas en vez de usar tableros de conexiones; aparte de esto, el procedimiento
era el mismo.

La segunda generación (1955 a 1965): transistores y sistemas de procesamiento por lotes


Estas máquinas, ahora conocidas como mainframes, estaban encerradas en cuartos
especiales con aire acondicionado y grupos de operadores profesionales para manejarlas.
Sólo las empresas grandes, universidades o agencias gubernamentales importantes
podían financiar el costo multimillonario de operar estas máquinas. Para ejecutar un
trabajo (es decir, un programa o conjunto de programas), el programador primero escribía
el programa en papel (en FORTRAN o en ensamblador) y después lo pasaba a tarjetas
perforadas. agencias gubernamentales importantes podían financiar el costo
multimillonario de operar estas máquinas. Para ejecutar un trabajo (es decir, un programa
o conjunto de programas), el programador primero escribía el programa en papel (en
FORTRAN o en ensamblador) y después lo pasaba a tarjetas perforadas.
Dado el alto costo del equipo, no es sorprendente que las personas buscaran
rápidamente formas de reducir el tiempo desperdiciado. La solución que se adoptó en
forma general fue el sistema de procesamiento por lotes. La idea detrás de este concepto
era recolectar una bandeja llena de trabajos en el cuarto de entrada de datos y luego
pasarlos a una cinta magnética mediante el uso de una pequeña computadora
relativamente económica, tal como la IBM 1401, que era muy adecuada para leer las
tarjetas, copiar cintas e imprimir los resultados, pero no tan buena para los cálculos
numéricos.
Después de aproximadamente una hora de recolectar un lote de trabajos, las tarjetas se
leían y se colocaban en una cinta magnética, la cual se llevaba al cuarto de máquinas, en
donde se montaba en una unidad de cinta. Después, el operador cargaba un programa
especial (el ancestro del sistema operativo de hoy en día), el cual leía el primer trabajo de
la cinta y lo ejecutaba. Los resultados se escribían en una segunda cinta, en vez de
imprimirlos.

La tercera generación (1965 a 1980): circuitos integrados y multiprogramación


A pesar de su enorme tamaño y sus problemas, el OS/360 y los sistemas operativos
similares de tercera generación producidos por otros fabricantes de computadoras en
realidad dejaban razo- nablemente satisfechos a la mayoría de sus clientes. También
popularizaron varias técnicas clave ausentes en los sistemas operativos de segunda
generación. Quizá la más importante de éstas fue la multiprogramación. En la 7094,
cuando el trabajo actual se detenía para esperar a que se completara una operación con
cinta u otro dispositivo de E/S, la CPU simplemente permanecía inactiva hasta terminar la
operación de E/S. Con los cálculos científicos que requieren un uso intensivo de la CPU,
la E/S no es frecuente, por lo que este tiempo desperdiciado no es considerable. Con el
procesamiento de datos comerciales, el tiempo de espera de las operaciones de E/S
puede ser a menudo de 80 a 90 por ciento del tiempo total, por lo que debía hacerse algo
para evitar que la (costosa) CPU esté inactiva por mucho tiempo. La solución que surgió
fue particionar la memoria en varias piezas, con un trabajo distinto en cada partición,
como se muestra en la figura 1-5. Mientras que un trabajo esperaba a que se completara
una operación de E/S, otro podía estar usando la CPU. Si pudieran contenerse suficientes
trabajos en memoria principal al mismo tiempo, la CPU podía estar ocupada casi 100 por
ciento del tiempo. Para tener varios trabajos de forma segura en memoria a la vez, se
requiere hardware especial para proteger cada trabajo y evitar que los otros se
entrometan y lo malogren; el 360 y los demás sistemas de tercera generación estaban
equipados con este hardware. Un sistema de multiprogramación con tres trabajos en
memoria. Otra característica importante de los sistemas operativos de tercera generación
fue la capacidad para leer trabajos en tarjetas y colocarlos en el disco tan pronto como se
llevaban al cuarto de computadoras. Así, cada vez que terminaba un trabajo en ejecución,
el sistema operativo podía cargar un nuevo trabajo del disco en la partición que entonces
estaba vacía y lo ejecutaba. A esta técnica se le conoce como spooling (de Simultaneous
Peripheral Operation On Line, operación periférica simultánea en línea) y también se
utilizó para las operaciones de salida. Con el spooling, las máquinas 1401 no eran ya
necesarias y desapareció la mayor parte del trabajo de transportar las cintas.
Aunque los sistemas operativos de tercera generación eran apropiados para los cálculos
científicos extensos y las ejecuciones de procesamiento de datos comerciales masivos,
seguían siendo en esencia sistemas de procesamiento por lotes. Muchos programadores
añoraban los días de la primera generación en los que tenían toda la máquina para ellos
durante unas cuantas horas, por lo que podían depurar sus programas con rapidez. Con
los sistemas de tercera generación, el tiempo que transcurría entre enviar un trabajo y
recibir de vuelta la salida era comúnmente de varias horas, por lo que una sola coma mal
colocada podía ocasionar que fallara la compilación, y el programador desperdiciara la
mitad del día.
Este deseo de obtener un tiempo rápido de respuesta allanó el camino para el tiempo
compartido (timesharing), una variante de la multiprogramación donde cada usuario tenía
una terminal ennlínea. En un sistema de tiempo compartido, si 20 usuarios están
conectados y 17 de ellos están pensando en dar un paseo o tomar café, la CPU se puede
asignar por turno a los tres trabajos que desean ser atendidos. Como las personas que
depuran programas generalmente envían comandos cortos (por ejemplo, compilar un
procedimiento de cinco hojas) en vez de largos (por ejemplo, ordenar un archivo con un
millón de registros), la computadora puede proporcionar un servicio rápido e interactivo a
varios usuarios y, tal vez, también ocuparse en trabajos grandes por lotes en segundo
plano, cuando la CPU estaría inactiva de otra manera. El primer sistema de tiempo
compartido de propósito general, conocido como CTSS (Compatible Time Sharing
System, Sistema compatible de tiempo compartido), se desarrolló en el M.I.T. en una 7094
modificada en forma especial (Corbató y colaboradores, 1962). Sin embargo, en realidad
el tiempo compartido no se popularizó sino hasta que el hardware de protección necesario
se empezó a utilizar ampliamente durante la tercera generación.
La cuarta generación (1980 a la fecha): las computadoras personales
Con el desarrollo de los circuitos LSI (Large Scale Integration, Integración a gran escala),
que contienen miles de transistores en un centímetro cuadrado de silicio (chip), nació la
era de la computadora personal. En términos de arquitectura, las computadoras
personales (que al principio eran conocidas como microcomputadoras) no eran del todo
distintas de las minicomputadoras de la clase PDP-11, pero en términos de precio sin
duda eran distintas. Mientras que la minicomputadora hizo posible que un departamento
en una compañía o universidad tuviera su propia computadora, el chip microprocesador
logró que un individuo tuviera su propia computadora personal. Cuando Intel presentó el
microprocesador 8080 en 1974 (la primera CPU de 8 bits de propósito general), deseaba
un sistema operativo, en parte para poder probarlo. Intel pidió a uno de sus consultores,
Gary Kildall, que escribiera uno. Kildall y un amigo construyeron primero un dispositivo
controlador para el disco flexible de 8 pulgadas de Shugart Associates que recién había
sido sacado al mercado, y conectaron el disco flexible con el 8080, con lo cual produjeron
la primera microcomputadora con un disco. Después Kildall escribió un sistema operativo
basado en disco conocido como CP/M (Control Program for Microcomputers; Programa
de Control para Microcomputadoras) para esta CPU. Como Intel no pensó que las
microcomputadoras basadas en disco tuvieran mucho futuro, cuando Kildall pidió los
derechos para CP/M, Intel le concedió su petición. Después Kildall formó una compañía
llamada Digital Research para desarrollar y vender el CP/M.

Sistemas operativos como DOS, Macintosh, windows 3.11, windows 95, windows xp, linix,
unix, etc, fueron sistemas operativos de pc personales que se implantaron en
Ordenadores posteriores que siguen la evolución de la tecnología de microchips.

Software es todo equipo o soporte lógico (intangible) de un sistema informático que


abarca el conjunto de los componentes que son necesarios para la realización de tareas
específicas. En contraposición está el hardware que se refiere a las partes físicas. Dicho
de otra manera, se trata de las aplicaciones o programas que únicamente funcionan en un
ordenador.

Clasificación

Son tres los grandes grupos en los que se divide este concepto informático:

 Software de sistema. Elementos que permiten el mantenimiento del sistema en


global: sistemas operativos, controladores de dispositivos, servidores, utilidades,
herramientas de diagnóstico, de corrección y optimización. Estos se dividen en sis-
temas operativos; drivers y utilitarios propios del SO: como por ejemplo scandisk,
paint, mapa de caracteres, consola, etc.

 Software de programación. Diferentes alternativas y lenguajes para desarrollar


programas de informática: editores de texto, compiladores, intérpretes, enlazado-
res, depuradores, entornos de desarrollo integrados (IDE). Estos pude ser de alto
nivel o de bajo nivel. De alto nivel son los IDE y los bajo nivel es el lenguaje ensam-
blador o inferiores.
 Software de aplicación. Permite a los usuarios llevar a cabo una o varias tareas
específicas en cualquier campo de actividad: aplicaciones ofimáticas, para control
de sistemas y automatización industrial, software educativo, software empresarial,
bases de datos, telecomunicaciones (Internet), videojuegos, etc. Estos se divides
en software de propósito general y de propósito específico.

También podría gustarte