Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema 1 SO
Tema 1 SO
1. INTRODUCCION
Un sistema de computacin tiene una o ms Unidades Centrales de Procesamiento (CPU), memoria principal,
discos, impresoras, interfaz de red y otros dispositivos de E/S. Con el transcurrir del tiempo surgi la necesidad
de proteger al programador de la complejidad del hardware. Una solucin que ha evolucionado gradualmente
consiste en poner una capa de software encima del hardware solo, que se encargue de administrar todas las
partes del sistema y presente al usuario una interfaz o mquina virtual que sea ms fcil de entender y
programar. Esta capa de software es el Sistema Operativo.
Esta situacin se muestra en la siguiente figura:
Almacn
Planilla
Navegador
Programas de Aplicacin
Compiladores
Editores
Interprete de
Comandos
Sistemas Operativos
Lenguaje de mquina
Microprogramacin
Hardware
Dispositivos fsicos
Es un programa...
SISTEMAS OPERATIVOS
La importancia de los sistemas operativos nace histricamente desde los 50's, cuando se hizo evidente que el
operar una computadora por medio de tableros enchufables en la primera generacin y luego por medio del
trabajo en lote en la segunda generacin se poda mejorar notoriamente, pues el operador realizaba siempre una
secuencia de pasos repetitivos, lo cual es una de las caractersticas contempladas en la definicin de lo que es un
programa. Es decir, se comenz a ver que las tareas mismas del operador podan plasmarse en un programa, el
cual a travs del tiempo y por su enorme complejidad se le llam "Sistema Operativo". As, tenemos entre los
primeros sistemas operativos al Fortran Monitor System ( FMS ) e IBSYS [Tan92].
Posteriormente, en la tercera generacin de computadoras nace uno de los primeros sistemas operativos con la
filosofa de administrar una familia de computadoras: el OS/360 de IBM. Fue este un proyecto tan novedoso y
ambicioso que enfrent por primera vez una serie de problemas conflictivos debido a que anteriormente las
computadoras eran creadas para dos propsitos en general: el comercial y el cientfico. As, al tratar de crear un
solo sistema operativo para computadoras que podan dedicarse a un propsito, al otro o ambos, puso en
evidencia la problemtica del trabajo en equipos de anlisis, diseo e implantacin de sistemas grandes. El
resultado fue un sistema del cual uno de sus mismos diseadores patentiz su opinin en la portada de un libro:
una horda de bestias prehistricas atascadas en un foso de brea.
Surge tambin en la tercera generacin de computadoras el concepto de la multiprogramacin, porque debido al
alto costo de las computadoras era necesario idear un esquema de trabajo que mantuviese a la unidad central de
procesamiento ms tiempo ocupada, as como el encolado (spooling) de trabajos para su lectura hacia los lugares
libres de memoria o la escritura de resultados. Sin embargo, se puede afirmar que los sistemas durante la tercera
generacin siguieron siendo bsicamente sistemas de lote.
En la cuarta generacin la electrnica avanza hacia la integracin a gran escala, pudiendo crear circuitos con
miles de transistores en un centmetro cuadrado de silicn y ya es posible hablar de las computadoras personales
y las estaciones de trabajo. Surgen los conceptos de interfaces amigables intentando as atraer al pblico en
general al uso de las computadoras como herramientas cotidianas. Se hacen populares el MS-DOS y UNIX en
estas mquinas. Tambin es comn encontrar clones de computadoras personales y una multitud de empresas
pequeas ensamblndolas por todo el mundo.
Para mediados de los 80's, comienza el auge de las redes de computadoras y la necesidad de sistemas operativos
en red y sistemas operativos distribuidos. La red mundial Internet se va haciendo accesible a toda clase de
instituciones y se comienzan a dar muchas soluciones ( y problemas ) al querer hacer convivir recursos
residentes en computadoras con sistemas operativos diferentes. Para los 90's el paradigma de la programacin
orientada a objetos cobra auge, as como el manejo de objetos desde los sistemas operativos. Las aplicaciones
intentan crearse para ser ejecutadas en una plataforma especfica y poder ver sus resultados en la pantalla o
monitor de otra diferente (por ejemplo, ejecutar una simulacin en una mquina con UNIX y ver los resultados
en otra con DOS ). Los niveles de interaccin se van haciendo cada vez ms profundos.
SISTEMAS OPERATIVOS
1.-PROCESAMIENTO EN SERIE:
En los sistemas informticos primitivos la programacin de la Maquina desnuda, fue muy habitual. Una
versin mas avanzado a este modo de operaciones con la tarjeta de evaluacin simple.
Los programas se arrancan cargando el registro del contador del programa con la direccin de la primera
instruccin, la ejecucin se obtienen examinando los registros relevantes y las posiciones de memoria.
La programacin de mquina desnuda, resulta ser de baja productividad para los usuarios y para el hardware. El
siguiente paso de la evolucin en el uso del sistema de informtico vino con la llegada de dispositivos de entrada
y salida tales como la tarjeta perforada, cintas de papel y con los traductores de lenguajes.
El mecanismo de desarrollo y preparacin de programa en esos entornos eran bastante lentos y fragosos debido
a la ejecucin en serie de los programas y los numerosos operaciones manuales en el proceso.
Los traductores de lenguajes mltiples de paso puede requerir que se introduzca en cdigo fuente, durante cada
paso cuando se usan dispositivos de entrada en serie,como la lectora de tarjetas .
En esta segunda etapa de procesamiento por lotes se tienen las siguientes caractersticas (1.955- 1.965)
Hardware:
El diseador del hardware, los programadores y los operadores ya no son la misma persona. Hay una
especializacin.
Metodologa:
Se utiliza una cinta de sistema que contiene los programas del sistema: compiladores, linkadores, libreras.
-Montar la cinta de entrada.
-Mientras hayan trabajos lectura del prximo trabajo y ejecucin
(se realiza el clculo asociado a cada trabajo y se deja la salida en la cinta de salida)
-Desmontar la cinta de entrada.
-Desmontar la cinta de salida.
Sistema Operativo:
Monitor batch.
SISTEMAS OPERATIVOS
Cdigo residente en la mquina que interpreta y ejecuta las tarjetas de control incluidas entre las tarjetas de
trabajo.
Problemas:
Trabajo no interactivo.
Durante la ejecucin de un programa los tiempos de CPU son del orden de nanosegundos y los de entrada /
salida del orden de milisegundos. Seguimos teniendo la CPU mucho rato ociosa. Para mejorar la velocidad
hay dos posibilidades:
1.-MULTIPROGRAMACION:
La multiprogramacin designa a un sistema operativo que adems de soportar multitareas proporciona formas
sofisticadas de proteccin de memoria y fuerza el control de la concurrencia cuando los procesos acceden a los
dispositivos de E/S y archivos compartidos. Para aumentar la utilizacin de recursos, los sistemas de
multiprogramacin reales permite generalmente que ms de dos programas compitan por los recursos de los
sistemas al mismo tiempo.
El nmero de programas activos en competencia por los recursos de un sistema informtico multiprogramado, se
denomina grado de multiprogramacin.
La multiprogramacin ha sido tradicionalmente empleada para aumentar la utilizacin de los recursos de un
sistema informtico y para soportar mltiples usuarios simultneamente,
Se caracteriza por, una multitud de programas activos simultneamente que compiten por los recursos del
sistema como: procesador, Memoria y dispositivos de E/S.
Un sistema operativo de multiprogramacin vigila el estado de todos los programas activos y de todos los
recursos del sistema.
Ing. Mario Borja B.
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
operativo local y tiene su propio usuario (o grupo de usuarios). Los sistemas operativos de red no difieren de los
sistemas operativos tradicionales de un slo procesador. Necesitan un controlador de red, algunas rutinas de E/S
para utilizar dicho controlador, y programas que permitan la conexin y el acceso a ordenadores remotos, pero
esas caractersticas adicionales no modifican la estructura esencial del sistema operativo.
En un sistema distribuido los ficheros que utiliza un usuario (as como el procesador en el que se ejecutan sus
programas) pueden estar situados en cualquier ordenador de la red. Adems, esto es transparente al usuario. Los
sistemas operativos distribuidos requieren algo ms que aadir un poco de cdigo a un sistema operativo de un
nico procesador, ya que los sistemas distribuidos difieren en aspectos crticos de los sistemas centralizados.
SISTEMAS OPERATIVOS
Forma de tareas mltiples en las que el sistema operativo asigna, a su vez, el mismo y pequeo lapso a cada proceso.
TAREAS MLTIPLES APROPIATIVAS (POR ANTICIPADO)
Forma de tareas mltiples en la que el sistema operativo ejecuta una aplicacin durante un tiempo especfico, de acuerdo con la prioridad
que tiene asignada. En ese momento se dice que la aplicacin est anticipada, y se da acceso a otra tarea de la unidad central de
procesamiento para que se ejecute durante el tiempo que le ha sido asignado. Aun cuando una aplicacin puede dejar el control antes de
que finalice su tiempo de ejecucin asignado, tal como durante la espera por la entrada y (o) salida [input/output] de datos, a ninguna
tarea se le autoriza para que se ejecute por ms tiempo del que le ha sido asignado. El OS/2, UNIX, Windows NT, todos utilizan tareas
mltiples apropiativas (por anticipado).
SISTEMA EN TIEMPO REAL
Cualquier sistema de cmputo diseado para responder de inmediato, a medida que ocurren los acontecimientos en la vida real. Los
sistemas de cmputo utilizados en los pilotos automticos de los aviones, en los sistemas de monitoreo de los pacientes, en el control de
proceso, o en los sistemas de control de trfico, son todos sistemas que funcionan en tiempo real; las computadoras que realizan
operaciones de procesamiento por lotes [batch processing operations] no lo son.
INPUT/OUTPUT O ENTRADA/SALIDA
Abreviado I/O. Transferencia de datos [data] entre la computadora y sus dispositivos perifricos [peripheral], unidades de disco,
terminales e impresoras [disk drives, terminals y printers].
INTERFACE O INTERFAZ
Punto donde se efecta una conexin entre dos dispositivos de hardware, entre un usuario y un programa o el sistema operativo, o
simplemente entre dos programas de aplicacin. En el hardware, el trmino interfaz describe las conexiones lgicas y fsicas utilizadas,
tal como la RS-232-C, y a menudo se le considera sinnimo del trmino transportar.
Una interfaz de usuario [user interface] consta de mecanismos mediante los cuales un programa se comunica con el usuario, incluyendo la
interfaz de lnea de comandos [command line], mens, cuadros de dilogo, sistemas de ayuda en lnea, y as sucesivamente. Las interfaces
de usuario se pueden clasificar como: basadas en caracteres, controladas por men, o grficas. Las interfaces de software son Interfaces
de programas de aplicacin [Application Program Interfaces (APIs)] y constan de los cdigos y mensajes que utilizan los programas para
comunicarse en el trasfondo.
SISTEMA DISTRIBUIDO
Coleccin de sistemas informaticos autonomos de comunicacin y cooperacion mediante interconexiones hardware y software.
Proporcionan generalmente medios para la comparticion global de los recursos del sistema.
BIOS
Acrnimo de basic input/output system [sistema bsico de entrada/salida]. En una computadora personal, el BIOS es un conjunto de
instrucciones almacenadas en la memoria de slo lectura [read-only memory] que le permite al hardware de la computadora, y al sistema
operativo, comunicarse con los programas de aplicacin y con los dispositivos perifricos, tales como los discos duros, las impresoras y
los adaptadores de vdeo.
Estas instrucciones estn almacenadas en la memoria no voltil como parte permanente de la computadora. Siempre estn disponibles en
direcciones especficas en la memoria, de modo que todos los programas puedan tener acceso a ellas para que desempeen su funcin
bsica de entrada/salida [input/output].
HOST O ANFITRIN
En un entorno interconectado [networked environment] o en un entorno de procesamiento distribuido [distributed processing],
computadora central o computadora controladora. El anfritin [host] ofrece servicios a los que pueden tener acceso otras computadoras o
terminales, a travs de la red [network]. Las computadoras conectadas a Internet tambin se conocen como anfitriones [hosts], y se puede
tener acceso ellas utilizando el ftp, telnet, Gopher, o un ojeador de la red mundial Web [Web browser].
CILINDRO
Trmino que identifica a todas las pistas [tracks] en la misma posicin concntrica en un disco duro [hard disk]. Un disco duro consta de
dos o ms platos [platters], cada uno con dos lados. Cada lado est dividido en crculos concntricos conocidos como pistas, y todas las
pistas en la misma posicin concntrica en el disco se conocen, colectivamente, como cilindro.
SISTEMAS OPERATIVOS
REENTRANT O REENTRANTE
Describe una tcnica de programacin que permite que una copia de un programa sea cargada y compartida en la memoria. Cuando un
programa ejecuta el cdigo reentrante, un programa distinto puede interrumpir su ejecucin y luego arrancar o continuar la ejecucin de
ese mismo cdigo. Muchas rutinas de servicio del sistema operativo utilizan el cdigo reentrante, de manera que slo sea necesaria una
copia del cdigo. Esta tcnica tambin se utiliza en las aplicaciones de procesamiento concurrente de subtareas simultneas, en las cuales
tienen lugar simultneamente diferentes eventos en la computadora. El DOS no es reentrante.
PROTOTYPING O CREACIN DE PROTOTIPOS
Creacin de un sistema de ensayo o de demostracin, de modo que los usuarios potenciales puedan evaluar, pulir y comentar el diseo
antes que el fabricante comience a trabajar en el producto final. Hay herramientas disponibles para la creacin de prototipos tanto de
hardware como de software; en efecto, algunas herramientas para la creacin de prototipos de software en realidad se pueden utilizar para
generar el cdigo definitivo, por ejemplo, una vez que la disposicin fsica de la pantalla haya sido aprobada.
RAM
Acrnimo de random access memory [memoria de acceso aleatorio]. Memoria del sistema principal de la computadora, utilizada por el
sistema operativo, los programas de aplicacin y los datos.
PIPE O CAUCE
Seccin de la memoria que un comando puede utilizar para pasarle informacin a un segundo comando de manera que sta se procese.
Una forma especial de cauce [pipe], conocida como cauce con nombre [named pipe], se origin en el sistema operativoUNIX, y permite
que dos procesos intercambien informacin. Este concepto ha sido extendido a varios sistemas operativos de red [network operating
systems] como el mtodo de comunicacin entre procesos, permitiendo intercambiar los datos entre las aplicaciones que se estn
ejecutando en las computadoras de una red.
REDIRECCIONAMIENTO, REDIRECCIN
Habilidad para enviar la salida de datos [output] de un proceso [process] a algn lugar que no es su destino habitual.
BUS
Ruta [pathway] electrnica por la cual se envan las seales desde una parte de la computadora a otra. Una computadora personal contiene
varios buses (entre dispositivos), cada uno de los cuales se usa para un propsito diferente:
El bus de direccin [address bus] asigna las direcciones de memoria [memory addresses].
El bus de datos [data bus] transporta los datos entre el procesador [microprocessor] y la memoria.
El bus de control [control bus] transporta las seales desde la unidad de control [control unit].
Los buses estn caracterizados por el nmero de bits que pueden transferir a la vez; una computadora con un bus de datos [data bus] de 16
bits puede transferir 16 bits a la vez. En las computadoras personales, algunos buses estn disponibles, tales como: ISA, EISA, bus de VL,
PCI.
Como es probable que desee agregar una nueva funcin a su computadora, la mayora de los buses de las computadoras personales lo
permiten mediante una o ms ranuras de expansin [expansion slots]; en efecto, cuando usted conecta una tarjeta de expansin [expansion
board] en una ranura de expansin, est conectando la tarjeta al bus y hacindola parte de la computadora.