Diseño: prometheos.es.tl

   
  tallertecnologicosantiago
  los sistemas operativos
 


Los
sistemas operativos


1.
¿
Sistema Operativos De Tiempo Compartido?


 En computación, el uso del tiempo compartido se refiere a compartir
un recurso computacional entre muchos usuarios por medio de la multitarea. Su introducción en los años 1960,
y su asentamiento como modelo típico de la computación en los años 1970,
representa un cambio importante en la historia de la computación. Al permitir
que un gran número de usuarios interactuara simultáneamente en una sola
computadora, el coste del servicio de computación bajó drásticamente, mientras
que al mismo tiempo hacía la experiencia computacional mucho más interactiva.


Historia


Los primeros computadores eran dispositivos
extremadamente costosos y muy lentos. Las máquinas fueron típicamente dedicadas
a un conjunto particular de tareas y eran operados desde un panel de control,
el operador introducia manualmente pequeños programas por medio de interruptores
para cargar y ejecutar programas. Estos programas podían llevar horas o incluso
semanas para finalizar su tarea. A medida que las computadoras aumentaron su
velocidad, los tiempos de ejecución se redujeron, y repentinamente el tiempo
tomado para leer y cargar el siguiente programa empezaba a ser relativamente
grande en comparacion con el tiempo de uso de la CPU. Ésta última permanecía
demasiado tiempo inactiva mientras se realizaban tareas de entrada/salida,
hecho que se convirtió en una importante preocupación. Para mejorar el
aprovechamiento de las computadoras, las anteriores metodologías de
procesamiento por lotes simples evolucionaron a sistemas de procesamiento por
lotes multiprogramados, de modo que mientras un primer programa era ejecutado inmediatamente
se empezaba a cargar en los dispositivos de entrada el siguiente programa en la
cola, el cual se almacenaba en un buffer y se mantenia en espera, cuando el
primer programa dejaba de ejecutarse o realizaba nuevas tareas de
entrada/salida el siguiente en la cola ya estaba disponible para su
procesamiento. De este modo, se alineaban los programas uno detrás del otro
para que tan pronto como uno terminara el siguiente comenzara, reduciendo
drasticamente los tiempos muertos de la CPU.


Generalmente los programas introducidos en sistemas
de procesamiento por lotes, utilizaban tarjetas perforadas o cintas de papel. Los programadores utilizaban
máquinas de escribir baratas para escribir el codigo de sus programas, una vez
hecho esto se perforaban las ya mencionadas tarjetas perforadas. Cuando las
tarjetas finalmente estaban preparadas, eran enviadas al equipo de operaciones,
quienes le asignarían un horario determinado para su ejecucion. Se priorizaban
los programas importantes para que su tiempo de espera fuese menor, mientras
que los menos importantes debian esperar un tiempo indeterminado. Cuando el
programa finalmente era ejecutado, la salida, generalmente impresa, sería
retornada al programador. El proceso completo podía tardar días, durante los
cuales el programador podía no ver el computador nunca.


La alternativa, permitiendo al usuario operar el
computador directamente, era generalmente demasiado costosa para ser
considerada. Esto era debido a que el usuario debía esperar largos retardos
simplemente sentados allí mientras se introducía y cargaba el código. Esto
limitó los
desarrollos en la interactividad directa usuario/maquina únicamente a las
grandes organizaciones que podían pagar para despilfarrar ciclos
computacionales, así como grandes universidades en general. Los programadores
en las universidades denigraron los comportamientos inhumanos que el
procesamiento por lotes impuso, al punto que los estudiantes de Stanford
hicieron un cortometraje humorístico criticándolo. Ellos experimentaron con
nuevas maneras de interactuar directamente con el computador, un campo conocido
hoy como Interacción
Humano Máquina
.


Tiempo compartido


Debido a que los primeros mainframes y minicomputadores eran extremadamente costosos,
era rara vez posible permitir a un solo usuario el acceso exclusivo a la
máquina para uso interactivo. Pero dado que los computadores que debian
realizar tareas de forma interactiva a menudo perdian mucho tiempo mientras esperaban
la acción de entrada del usuario, fue sugerido que múltiples usuarios podrían
compartir una máquina al asignar el tiempo ocioso de un usuario para servir a
otros usuarios.


El tiempo compartido se desarrolló al darse cuenta
que mientras un usuario solo era ineficiente, un grupo grande de usuarios
juntos no lo era. Esto era debido al patrón de la interacción; en la mayoría de
los casos los usuarios envían explosiones (ráfagas) de información seguidas por
una larga pausa o inactividad, pero un grupo de usuarios trabajando al mismo
tiempo significaría que las pausas de un usuario en un momento determinado
serían consumidas por la actividad de los otros. Una vez hallado el tamaño de
grupo óptimo, el proceso total podía ser muy eficiente. Similar mente se podría
conceder a otros usuarios, las pequeñas porciones de tiempo gastadas en esperar
por el disco, la cinta,
o la entrada de la tarjeta de red.


La implementación de un sistema capaz de tomar
provecho de esto sería difícil. El procesamiento por lotes era realmente un
desarrollo metodológico encima de los primeros sistemas; las computadoras
todavía ejecutaban programas simples para usuarios en un momento determinado,
hasta ese momento, lo unico que el procesamiento por lotes multiprogramados
había cambiado era el retardo de tiempo entre un programa y el siguiente.
Desarrollar un sistema que soportara múltiples usuarios al mismo tiempo era un
concepto totalmente diferente, el "estado" de cada usuario y sus
programas tendría que ser mantenidos en la máquina, y luego cambiado entre
ellos rápidamente. Esto tomaría ciclos de la computadora, y en las máquinas
lentas de la época esto era una preocupación. Sin embargo, a medida que las
computadoras rápidamente mejoraban en velocidad y especialmente la capacidad de
la memoria de núcleos
magneticos
que se podía utilizar para mantener el estado de un
programa en un instante determinado (guardandolo hasta su reanudación), estos
gastos indirectos en la implementación del tiempo compartido se redujeron
continuamente en términos globales.


El concepto primero fue descrito públicamente a
principios de 1957 por Bob Bemer
como parte de un artículo en Automatic Control Magazine. El primer
proyecto para implementar un sistema de tiempo compartido fue iniciado por John McCarthy a finales de 1957, en un IBM 704 modificado, y más adelante en una
computadora IBM 7090 adicionalmente modificada. Aunque él
se fue para trabajar en el Project MAC y otros proyectos, uno de los
resultados del proyecto, conocido como el Compatible
Time-Sharing System
o CTSS compatible, fue demostrado en noviembre
de 1961. El CTSS tiene una buena aclamación de ser el primer sistema de tiempo
compartido y permaneció en uso hasta 1973. Otro candidato para el primer
sistema de tiempo compartido demostrado fue PLATO
II creado por Donald
Bitzer
en una demostración pública en Robert
Allerton Park
en la Universidad de
Illinois
a principios de 1961. Bitzer ha dicho que el proyecto de
PLATO habría conseguido la patente sobre el tiempo compartido si la Universidad
de Illinois hubiera sabido cómo procesar solicitudes de patente más
rápidamente, pero en ese tiempo, las patentes de la universidad eran tan pocas que
tardaron un tiempo largo en realizarla. El primer sistema de tiempo compartido
comercialmente exitoso fue el Dartmouth
Time-Sharing System
(DTSS) que fue implementado por primera vez en
el Dartmouth College
en 1964 y subsecuentemente formó la base de los computer bureau services de General Electric. El DTSS influenció el diseño
de otros sistemas de tiempo compartido tempranos desarrollados por Hewlett Packard, Control Data
Corporation
, UNIVAC y otros, además de
introducir el lenguaje de
programación
BASIC (el Dartmouth BASIC).


2. ¿Sistema operativos
distribuidos?




Un sistema operativo distribuido es la unión lógica de un grupo de sistemas operativos
sobre una colección de nodos computacionales independientes, conectados
en red
, comunicándose y físicamente separados. [1] Cada nodo
contiene de forma individual un subconjunto específico de los programas que
componen el sistema operativo distribuido. Cada subconjunto es una combinación
de dos proveedores de servicios distintos. [2] El primero es un núcleo ubicuo mínimo o micro
núcleo
, que controla el hardware del nodo. El segundo es una
colección de componente de administración del sistema de alto nivel que
coordinan las actividades individuales y colaborativas del nodo. Estas
componentes son una abstracción de las funciones del micro núcleo y dan soporte
a las aplicaciones de usuario. [3]


El micro núcleo y las componentes de administración
trabajan en conjunto. Ambos dan soporte al objetivo del sistema el cual es
integrar múltiples recursos y capacidad de procesamiento en un sistema
eficiente y estable. [4] Esta integración sin fisuras de nodos individuales en un
sistema global es conocido como transparencia, o sistema
de imagen única
; haciendo referencia a la ilusión que se le brinda a
los usuarios de que el sistema global luce como una entidad computacional
única.


Descripción


Un sistema operativo distribuido provee las
funcionalidades esenciales requeridas por un sistema distribuido, agregando
atributos y configuraciones
para dar soporte a los requerimientos adicionales, tales como aumento de escala
y disponibilidad. Desde el punto de vista del usuario el SO funciona de forma
similar a un Sistema Operativo monolítico de un solo nodo. O sea que,
aunque está compuesto por múltiples nodos, para los usuarios y aplicaciones
luce como un solo nodo.


Separando las funcionalidades mínimas a nivel de
sistema de los servicios modulares adicionales a nivel de usuario provee “una
separación de mecanismos y políticas”. Mecanismos y políticas pueden ser
interpretados de la siguiente manera “cómo algo se hace” contra “por qué algo
se hace” respectivamente. Esta separación incrementa la escalabilidad y la
flexibilidad.


 Descripción
General


El núcleo


En cada unidad (típicamente un nodo), el núcleo provee un conjunto
mínimo pero completo de utilidades necesarias para operar con los recurso y
hardware subyacentes del nodo. Estos mecanismos incluyen la asignación, manejo
y disposición de los recursos de un nodo, los procesos, la comunicación y las
funciones de administración la entrada/salida.[5] Dentro del núcleo el
subsistema de comunicación es de suma importancia para el sistema distribuido.[3]


En un sistema distribuido el núcleo comúnmente
soporta un conjunto mínimo de funciones que incluyen administración de direcciones de bajo nivel,
administración de hilos y comunicación
entre procesos
. Un núcleo con este diseño se conoce como
micro-núcleo. [6][7] Su naturaleza modular mejora la seguridad y la fiabilidad,
características fundamentales para un sistema distribuido. [8] Es común que
todos los nodos en un sistema tengan réplicas de un mismo núcleo y por tanto
que todos los nodos usen hardware similar. [9] La combinación de diseño
minimalista y cobertura ubicua de los nodos mejora la extensibilidad del
sistema global así como su habilidad de agregar nuevos nodos o servicios de
manera dinámica. [10]


Componentes de
administración del sistema


Las componentes de administración del sistema son
procesos de software que definen las políticas del nodo. Estas componentes son
la parte del SO fuera del núcleo. Proveen comunicación de alto nivel,
administración de procesos y recursos, confiabilidad, rendimiento y seguridad.
Estas componentes tienen las mismas funcionalidades de un sistema formado por
una sola entidad, adicionando la transparencia requerida en un sistema
operativo distribuido. [3]


La naturaleza distribuida del sistema distribuido
requiere servicios adicionales para soportar las responsabilidades del nodo en
el sistema global. Además las componentes de administración del sistema aceptan
las responsabilidades “defensivas” de confiabilidad, disponibilidad y
persistencia. Estas responsabilidades pueden entrar en conflicto una con otra.
La separación de políticas y mecanismos pueden mitigar dichos conflictos
. [10]


3. sistema operativos de red


El sistema operativo de red permite la
interconexión de ordenadores para poder acceder a los servicios y recursos. Al
igual que un equipo no puede trabajar sin un sistema operativo, una red de
equipos no puede funcionar sin un sistema operativo de red. Si no se dispone de
ningún sistema operativo de red, el equipo, no pueden compartir recursos y los
usuarios no podran utilizar estos recursos.


Dependiendo del fabricante del sistema operativo de red,
tenemos que el software de red para un equipo personal se puede añadir al
propio sistema operativo del equipo o integrarse con él.


NetWare de Novell es el ejemplo más familiar y famoso de
sistema operativo de red donde el software de red del equipo cliente se
incorpora en el sistema operativo del equipo. El equipo personal necesita ambos
sistema operativos para gestionar conjuntamente las funciones de red y las
funciones individuales.


El software del sistema operativo de red se integra en un
número importante de sistemas operativos conocidos, incluyendo Windows 2000
Server/Professional, Windows NT Server/Workstation, Windows 95/98/ME y Apple
Talk.


Cada configuración (sistemas operativos de red y del
equipo separados, o sistema operativo combinando las funciones de ambos) tiene
sus ventajas e inconvenientes. Por tanto, nuestro trabajo como especialistas en
redes es determinar la configuración que mejor se adapte a las necesidades de
nuestra red.


Es un componente software de una computadora que tiene como objetivo coordinar
y manejar las actividades de los recursos del ordenador en una red de equipos. Consiste en un software que
posibilita la comunicación de un sistema informático
con otros equipos en el ámbito de una red.


4. sistemas operativos paralelos


En estos tipos de Sistemas Operativos se pretende que
cuando existan dos o más procesos que compitan por algún recurso se puedan
realizar o ejecutar al mismo tiempo.


Un puerto paralelo es una interfaz entre una computadora y un periférico, cuya principal característica es
que los bits de datos viajan juntos, enviando un
paquete de byte a la vez. Es decir, se implementa un
cable o una vía física para cada bit de datos formando un bus. Mediante el puerto paralelo podemos
controlar también periféricos como focos, motores entre otros dispositivos,
adecuados para automatización.


El cable paralelo es
el conector físico entre el puerto paralelo y el dispositivo periférico. En un
puerto paralelo habrá una serie de bits de control en vías aparte que irán en
ambos sentidos por caminos distintos.


En contraposición al puerto paralelo está el puerto serie, que envía los datos bit a bit
por el mismo hilo


5. programas de aplicación


Desde la
perspectiva de la informática,
un programa de aplicación consiste en una clase de software que se diseña con el fin de
que para el usuario sea más sencilla la concreción de un determinado trabajo.
Esta particularidad lo distingue del resto de los programas, entre los cuales se pueden
citar a los sistemas
operativos
(que son los que permiten el funcionamiento de la computadora), los
lenguajes de programación (aquellos que dan las herramientas necesarias para
desarrollar los programas informáticos en general) y las utilidades (pensadas
para realizar acciones de mantenimiento y tareas generales).


El software es
el elemento intangible y lógico que forma parte de una computadora. El hardware, en cambio, es el componente
material y físico. Se dice que los sistemas operativos constituyen el lazo que
une al software con el hardware.


6. Procesador de palabras


Un procesador de palabras es un tipo programa (software),
que sirve para crear documentos de texto, y que permite introducir, además de
diversos formatos al texto, imágenes, gráficas, tablas, sonidos y hasta
animaciones y video. Este “tipo” de programas puede variar, dependiendo del
fabricante y de la versión; algunos procesadores son muy básicos y existen los
especializados que ofrecen más funciones para el manejo de alguna herramienta
específica.


La ventaja común de los procesadores es la
facilidad de escribir y/o introducir datos a un documento, sin tener que
imprimir cada letra (y borrar en caso de errores) como se tenía que hacer con
las máquinas de escribir.


Existen algunos pasos que, gracias a los avances
tecnológicos, ya no se tienen que seguir estrictamente en orden: Captura
del texto; teclear la información para que esta sea reconocida por la
computadora y aparezca en la pantalla, Edición de textos; agregar o
eliminar lo escrito para refinar y reacomodar, Formato de texto; da un
formato específico al documento, permite definir márgenes, alineaciones, estilo
y tipo de letra etc.. Revisión del documento; permite tener una vista
completa del documento para verificar la impresión que da el documento como si
estuviera impreso, Guardar el documento en el disco; para poder tener
acceso al documento cuando se desee sin necesidad de imprimir y así poder
cambiar la edición en un futuro, Impresión del documento.


En la actualidad, los procesadores contienen
herramientas que actúan como asistentes para el escritor: los “Revisores
Ortográficos” le evitan las tareas de recurrir al diccionario, ya que el
programa trae consigo, no sólo el de la lengua en que esta escrito, sino que
contiene una amplia gama de lenguas para corregir o revisar la ortografía y
gramática del documento; los “Buscadores de Sinónimos” que son herramientas muy
utilizadas por editores y trabajadores de medios de comunicación; “Referencias
Digitales”, que se puede acudir a ellas desde el procesador para obtener
información o bien, introducirla al documento; “Procesadores de Ideas o Bosquejos”
que muestran un formato predeterminado al escritor para crear organizadamente
el documento.


7. hoja de cálculo


Una hoja
de cálculo
es un programa,
más precisamente una aplicación,
que permite manipular datos numéricos y alfanuméricos dispuestos en forma de tablas
compuestas por celdas (las cuales se suelen organizar en una matriz
bidimensional de filas y columnas). La celda es la unidad básica de información
en la hoja de cálculo, donde se insertan los valores y las fórmulas que
realizan los cálculos. Habitualmente es posible realizar cálculos complejos con
fórmulas funciones y
dibujar distintos tipos de gráficas.


Orígenes de las
hojas de cálculo


En 1961 se vislumbró el concepto de una hoja de
cálculo electrónica en el artículo Budgeting Models and System Simulation
de Richard Mattessich. Pardo y Landau merecen parte del crédito de este tipo de
programas, y de hecho intentaron patentar (patente en EE.UU. número 4.398.249)
algunos de los algoritmos en 1970.
La patente no fue concedida por la oficina de patentes por ser una invención
puramente matemática. Pardo y Landau ganaron un caso en la corte estableciendo
que "algo no deja de ser patentable solamente porque el punto de la
novedad es un algoritmo". Este caso ayudó al comienzo de las patentes de software.


Dan Bricklin es el inventor generalmente aceptado de las hojas de
cálculo. Bricklin contó la historia de un profesor de la universidad que hizo una tabla de cálculos en
una pizarra. Cuando el profesor encontró un error,
tuvo que borrar y reescribir una gran cantidad de pasos de forma muy tediosa,
impulsando a Bricklin a pensar que podría replicar el proceso en un computador,
usando el paradigma tablero/hoja de cálculo para ver los
resultados de las fórmulas que intervenían en el proceso.


Su idea se convirtió en VisiCalc, la primera hoja de cálculo, y la
"aplicación fundamental" que hizo que el PC (ordenador u computador
personal)
dejase de ser sólo un hobby
para entusiastas del computador para convertirse también en una herramienta en
los negocios y en las empresas.


8. Diferencia
entre funciones de Lotus 1-2-3 y Microsoft Excel


Las siguientes funciones de Microsoft Excel no
tienen equivalentes en Lotus 1-2-3 versión 3.1 o anteriores ni en Lotus 1-2-3
para Windows versión 1.0. Si se guarda un libro en uno de estos formatos, estas
funciones se reemplazarán con el valor resultante de la función.


Nota En
esta lista no se incluyen muchas funciones de complementos ni funciones
estadísticas de Microsoft Excel que no tienen funciones equivalentes en Lotus
1-2-3.


9. base de datos


Una base de datos o banco de datos es
un conjunto de datos pertenecientes a un mismo contexto y almacenados
sistemáticamente para su posterior uso. En este sentido, una biblioteca puede
considerarse una base de datos compuesta en su mayoría por documentos y textos
impresos en papel e indexados para su consulta. Actualmente, y debido al
desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos
están en formato digital (electrónico), y por ende se ha desarrollado y se
ofrece un amplio rango de soluciones al problema del almacenamiento de datos.


Existen programas
denominados sistemas
gestores de bases de datos
, abreviado SGBD, que permiten almacenar y
posteriormente acceder a los datos de forma rápida y estructurada. Las
propiedades de estos SGBD, así como su utilización y administración, se
estudian dentro del ámbito de la informática.


Las aplicaciones más usuales son para la gestión de
empresas e instituciones públicas. También son ampliamente utilizadas en
entornos científicos con el objeto de almacenar la información experimental.


Aunque las bases de datos pueden contener muchos
tipos de datos, algunos de ellos se encuentran protegidos por las leyes de
varios países. Por ejemplo en España, los datos personales se encuentran
protegidos por la Ley Orgánica de Protección de Datos de Carácter Personal
(LOPD).


 


10. ¿Que es un
macro?


Una macro (del griego μακρο, makro, que significa
‘grande’) ―abreviatura de macroinstrucción― es una serie de instrucciones
que se almacenan para que se puedan ejecutar de manera secuencial mediante una
sola llamada u orden de ejecución. Dicho de otra manera, una macroinstrucción
es una instrucción compleja, formada por otras instrucciones más sencillas.
Esto permite la automatización de tareas repetitivas.


Las macros tienden a almacenarse en el ámbito del
propio programa que las utiliza y se ejecutan pulsando una combinación especial
de teclas o un botón especialmente creado y asignado para tal efecto.


La diferencia entre una macroinstrucción y un
programa es que en las macroinstrucciones la ejecución es secuencial y no
existe otro concepto del flujo de programa, y por tanto, no puede bifurcarse.


Macros de
aplicaciones


Las macros son grupos de instrucciones que se
ejecutan secuencialmente y se utilizan para economizar tareas. Una macro no es
más que un conjunto de instrucciones (tales como «borrar archivo», «añadir
registro», etc.), y que se almacenan en una ubicación especial. Por ejemplo, en
Microsoft Access se observa que hay una zona
para crear macros. Una macro en Access trabajando para una base de datos podría ser un archivo que, al
llamarse desde otra instrucción, borrara los registros de un cliente o
accionista, luego borrara ciertos registros
en otras tablas, extraera su información de un log,
entre otras cosas
.


Macros en
programación


Con
el fin de evitar al programador
la tediosa
repetición de partes idénticas de un programa, los ensambladores y compiladores cuentan con macroprocesadores
que permiten definir una abreviatura para representar una parte de un programa
y utilizar esa abreviatura cuantas veces sea necesario. Para utilizar una
macro, primero hay que declararla. En la declaración se establece el nombre que
se le dará a la macro y el conjunto de instrucciones que representará.


El programador escribirá el nombre de la macro en
cada uno de los lugares donde se requiera la aplicación de las instrucciones
por ella representadas. La declaración se realiza una sola vez, pero la
utilización o invocación a la macro (macrollamada) puede hacerse cuantas veces
sea necesario. La utilización de macros posibilita la reducción del tamaño del código fuente, aunque el código objeto tiende a ser mayor que cuando se
utilizan funciones.


Es tan común el empleo de macroinstrucciones que se
les considera como una extensión de los lenguajes.
De manera similar se considera al procesador de macroinstrucciones o
macroprocesador como una extensión del ensamblador o compilador utilizado. El
macroprocesador se encarga, en una primera pasada, de registrar todas las
declaraciones de macros y de rastrear el programa fuente para detectar todas
las macrollamadas. En cada lugar donde encuentre una macro llamada, el
macroprocesador hará la sustitución por las instrucciones correspondientes. A
este proceso de sustitución se le denomina expansión de la macro. El
macroprocesador elabora dos tablas para el manejo de las macros.


Ejemplos de lenguaje de macros son Visual Basic
for Applications
o el lenguaje de macros integrado en Microsoft Excel.


 


 
   
 
Diseño: prometheos.es.tl
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis