Top Banner

of 96

NSO Modulo 1

Feb 28, 2018

Download

Documents

Red Wine
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 7/25/2019 NSO Modulo 1

    1/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 1

    Mdulo 1

    INTRODUCCIN A LOSSISTEMAS OPERATIVOS

    CONTENIDO:

    Conceptos introductorios a los S.O. Definicin y Funciones. Caractersticas de Hardware necesario. Caractersticas de los S.O. Caractersticas comunes a todos los S.O.

    Componentes. Propsitos. Distintos Tipos de S.O. Conceptos bsicos sobre Trabajos y Procesos. Prestaciones de un S.O. Servicios prestados por el S.O. S.O. para multiprocesadores.

    OBJETIVOS DEL MODULO: Dar los conceptos bsicos sobre las funciones; composicin, arquitecturas,mdulos y servicios, de los Sistemas Operativos Computacionales en general.

    OBJETIVOS DEL APRENDIZAJE: Despus de la lectura y del estudio del presente mdulo el alumnoconocer:

    (1) Los conceptos y elementos componentes de los Sistemas Operativos.(2) Los distintos tipos y estructuras de los Sistemas Operativos.(3) Concepto de ambiente de ejecucin y de cambio de contexto.(4) Conceptos bsicos sobre los Sistemas Operativos, sus propsitos, los servicios que brinda y su

    ejecucin.(5) Conocer la terminologa y sus significados utilizados en ste mdulo.(6) Conocer los Sistemas Operativos para multiprocesadores.

    Metas del Mdulo 1

    En ste mdulo se introducir los conceptos necesarios e indispensables sobre un SistemaOperativo, como ser: qu es un Ncleo (Kernel)1o interfase con el Hardware, la interfase con el usuario(Shell), las caractersticas del Hardware que requiere un S.O. para su ejecucin, el concepto dearquitectura de Sistemas Operativos, que es un proceso, hilos, etc.; para comprender con mayorprecisin como hace ejecutar los programas en un computador.

    OBSERVACIN: Usaremos las siglas S.O. o SO indistintamente para referirnos al trmino Sistema Operativo.

    Requerimientos previos del Mdulo 1

    Para estudiar y comprender este mdulo, es necesario, primero, repasar los conceptos que sevieron en la asignatura previa de Arquitecturas de computadores y que se acompaa una breve

    1

    Nota Importante: Los trminos especficos de la Asignatura se escribirn en Castellano y en Ingles y constituyen el glosario de lamateria y se usarn indistintamente.

  • 7/25/2019 NSO Modulo 1

    2/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 2descripcin como el anexo A de este libro. Segundo, tambin es recomendable estudiar los restantes

    Anexos dado que los contenidos son necesario para comprender los mdulos que se irn estudiandodurante este curso.

    Como podr observarse en la Bibliografa de cada mdulo, se ha consultado todo tipo de libros

    sobre Sistemas Operativos y desde distintos puntos de vista, diversos sitios en Internet que colaboraroncon una amplia gama de imgenes y conceptos.

    1.1 Introduccin a los Sistemas Operativos.a) Introduccin a los Sistemas Operativos. b) Conceptos previossobre los Sistemas Operativos

    a) Introdu cc in a los Sistemas Operativos .

    A finales de los 40's el uso de computadoras estaba restringido a aquellas empresas oinstituciones que podan pagar su alto precio, y no existan los sistemas operativos. En su lugar, elprogramador deba tener un conocimiento y contacto profundo con el hardware (Compuesto porVlvulas), y en el infortunado caso de que su programa fallara, deba examinar los valores de losregistros y paneles de luces indicadoras del estado de la computadora para determinar la causa del falloy poder corregir su programa, adems de enfrentarse nuevamente a los procedimientos de aportartiempo del sistema y poner a punto los compiladores, vincuadores o editores de enlaces (linkers), etc.;para volver a correr su programa, es decir, enfrentaba el problema del procesamiento en serie osecuencial (serial processing).

    La importancia de los sistemas operativosnace histricamente desde los aos 50's, cuando sehizo evidente que el operar una computadora por medio de tableros enchufables (primera generacin), yluego por medio del trabajo en lote (segunda generacin -se reemplaza la vlvula por el transistor-),poda mejorarse 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, secomenz a ver que las tareas mismas del operador podan plasmarse en un programa, el cual a travsdel tiempo y por su enorme complejidad se le llam "Sistema Operativo" (Operating System). As,tenemos entre los primeros sistemas operativos al Fortran Monitor System (FMS), e IBMSYS.

    Posteriormente, en la tercera generacin de computadoras nace uno de los primeros sistemasoperativos con la filosofa de administrar una familia de computadoras: el OS/360 de IBM. Fue este unproyecto tan novedoso y ambicioso que enfrent por primera vez una serie de problemas conflictivosdebido a que anteriormente las computadoras eran creadas para dos propsitos en general: el comercialy el cientfico. As, al tratar de crear un solo sistema operativo para computadoras que podan dedicarse auno de los propsitos, al otro o a ambos, puso en evidencia la problemtica del trabajo en equipos deanlisis, diseo e implantacin de sistemas grandes. El resultado fue un sistema del cual uno de susdiseadores expres su opinin en la portada de un libro: una horda de bestias prehistricas atascadasen 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 quemantuviese a la unidad central de procesamiento (CPU - Central Processing Unit),ms tiempo ocupada,as como el encolado (spooling), de trabajos para su lectura hacia los lugares libres de memoria o laescritura de resultados. Sin embargo, se puede afirmar que los sistemas durante la tercera generacinsiguieron siendo bsicamente sistemas de lotes (Batch Processing).

    En la cuarta generacin la electrnica avanza hacia la integracin a gran escala (chips), pudiendocrear circuitos con miles de transistores en un centmetro cuadrado de silicio y ya es posible hablar de lascomputadoras personales y las estaciones de trabajo. Surgen los conceptos de interfases amigablesintentando as atraer al pblico en general al uso de las computadoras como herramientas cotidianas. Sehacen populares los sistemas operativos: el MS-DOS y UNIX en estas mquinas. Tambin es comnencontrar clones de computadoras personales y una multitud de empresas pequeas ensamblndolas

    por todo el mundo.

  • 7/25/2019 NSO Modulo 1

    3/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 3S O F T W A R E

    A PL IC AC IO NS O F T W A R ES O F T W A R E d e

    d e l S I S T E M A

    S O F T W A R E d e c o n t ro l

    S O F T W A R E

    B A S E D A T O S

    S O F T W A R Ed e B A S E

    S IS T E M A O P E R A T I V O U T I L I T A R I O S

    d e l Co mp u ta d o r

    d e co m u n i ca c io n e s

    A d m in is tra c i n

    Monitor CompiladoresJob Scheduler DebuggersProcess Scheduler ProfilersI/O System Control de VersinReloj de tiempo real EditoresEtc.. Etc.

    Fig. 1.01. Distintos tipos de software de un computador

    Para mediados de los 80's, comienza el auge de las redes de computadoras y la necesidad desistemas operativos en red y sistemas operativos distribuidos. La red mundial Internet se va haciendoaccesible a toda clase de instituciones y se comienzan a dar muchas soluciones (y problemas), al quererhacer 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 lossistemas 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 unasimulacin en una mquina con UNIX y ver los resultados en otra con DOS). Los niveles de interaccinse van haciendo cada vez ms profundos.

    Sin el software, una computadora (ver Fig. 1.01), es en esencia una masa metlica sin utilidad.Con el software, una computadora puede almacenar, procesar y recuperar informacin, encontrar erroresde ortografa e intervenir en muchas otras valiosas actividades. El software para computadoras puedeclasificarse en general, en 2 clases: los programas de sistema, que controlan la operacin de lacomputadora en s y los programas de aplicacin, los cuales resuelven problemas de los usuarios. El

    programa fundamental de todos los programas de sistema, es el Sistema Operativo, que controla todoslos recursos de la computadora y proporciona la base sobre la cual pueden escribirse los programas deaplicacin. Los otros programas son los Administradores de Bases de Datos y el de control de lascomunicaciones.

    Un Sistema Operat ivo es un programa que debe estar instalado en un computadory que actacomo intermediario entre el usuario y el hardware de un computador y su propsito es proporcionar unentorno en el cual el usuario pueda ejecutar sus programas. El objetivo principal de un Sistema Operativoes, entonces, lograr que el Sistema de computacin se use de manera cmoda, y el objetivo secundarioes que el hardware del computador se emplee de manera eficiente.

    b) Conceptos sob re los Sistemas Operat ivos

    En cuanto a los Sistemas Operativos podemos afirmar que: Depende del Hardware que controla debido a que complementa al juego de instrucciones del

    procesador. Puede ser ejecutado por el mismo procesador que ejecuta el programa del usuario. Cuando se est ejecutando el programa usuario, el S.O. est inactivo si es monoprocesador.

    Los detalles de interfases internas varan de mquina en mquina, dado que est

  • 7/25/2019 NSO Modulo 1

    4/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 4ntimamente ligado a los recursos del Hardware, que administra y controla.

    Las capacidades externas y la interfase humana varan en funcin de las prestaciones queofrece el S.O. Muchas veces sirven como argumentos de venta o atraccin tecnolgica sinofrecer substanciales mejoras en los servicios que dice haber incorporado el fabricante oproveedor del Sistema Operativo.

    Los servicios que provee el S.O. a los programas usuarios cuando estos se ejecutan, sondenominados llamadas al sistema (System Calls o SYSCALL).

    PROCESAMIENTOde INFORMACIN

    . Anlisis

    . Interpretacin

    . Elaboracin

    . Decisin

    . Planeamiento

    . Accin

    . Control

    . Evaluacin

    ESTRUCTURAS

    Polticas.

    . Estratgias

    . Seguridad

    . Objetivos

    CONFLICTOS

    EFICIENCIA

    BASE del

    ORGWARE

    ADMINISTRACIN SERVICIOS

    INTERFASES

    MQUINA HOMBRE

    S.O.

    El S.O. es un implemen-

    tador del ORGWARE

    . Hardware

    . Software

    . Firmware

    . Orgware

    . Peopleware

    . etc

    Fig. 1.02 Esquema de interrelaciones de un sistema operativo.

    1.1.1. Sistema de Procesamiento de Datos y sistema operativo:a) Componentes de un sistema informtico. Sistemalgico, sistema fsico y sistema humano.b) Aplicaciones y programas del sistema.c) Definiciones y Concepto de sistema operativo.

    La INFORMTICA es la disciplina que estudia el tratamiento automatizado de la informacin,incluyendo como aspectos ms relevantes:

    El diseo de las computadoras. La programacin de las computadoras. El procesamiento de la informacin. La resolucin de problemas mediante algoritmos. El estudio de los algoritmos en s mismos.

    a) Com ponentes d e un sis tema info rmtico: sis tema lgico, sis tema fsic o ysistema humano .

    Entre algunas definiciones informales podemos encontrar:

    Un computadores una mquina capaz de ejecutar instrucciones sobre datos (que pueden serproporcionados externamente), permitiendo la consulta de los resultados. Las instrucciones se

    encuentran en algn soporte modificable.

  • 7/25/2019 NSO Modulo 1

    5/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 5Un algoritmoes una especificacin ms o menos detallada y no ambigua de la secuencia de

    pasos a seguir para resolver un determinado problema con un determinado lenguaje de programacinejecutndose en un computador.

    A la parte fsica que trata la informtica se la denomina hardware.A la parte lgica que trata la

    informtica se la denomina software. La aplicabilidad de la informtica es prcticamente universal.

    Fig. 1.03 Principales mdulos de un computadorEL HARDWARE (HW) DE UN COMPUTADORse compone de:

    - Un Sistema Central(ya sea un Mainframe, o uno o mas servidores (servers) en una Red).- Unidad Central de Proceso (CPU): encargada de ejecutar las instrucciones de los

    programas. Puede haber una o ms por Sistema tambin llamado procesador.- Memoria Central(MC)2: encargada de almacenar tanto las instrucciones de los programas

    como tambin los datos y los resultados.- Unidades de Entrada y Salida(E/S): que permite conectar los dispositivos perifricos al bus

    del Sistema (Utilizaremos las siglas E/S o I/O como sinnimo de Entrada-Salida).- Un conjunto de Dispositivos Perifricos:que ofician de Comunicacin y los intercambios

    de datos con el exterior.- Dispositivos de Almacenamiento Secundario: para mantener informacin organizada y

    guardada en un soporte en forma permanente.

    - Medios de comunicacin: entre los diferentes componentes (cableado o buses).

    Fig. 1.04 Interrelacin de mdulos funcionales de un computador

    LA UNIDAD CENTRAL DE PROCESO(CPU o Procesador), se compone de:- Reloj: generador de seales temporizadas que marcan las fases en la ejecucin de una

    instruccin del procesador. El perodo de la seal producida por el reloj se denomina ciclo y

    2

    Usaremos en este texto el trmino Memoria Central (MC), o Memoria Principal (MP), para indicar que se trata del almacenamientofsico que se accede desde el registro Program Counter (PC), de la CPU.

    Perifricos

    Bus del Sistema MC

    CPU

    E/S

    U. de C.

    U.A.L.

    M.

    CA

    CH

    M.M.U.

    REGISTROS

    RELOJ

    E

    /S

    DATOS +RESULTADOS

    INSTRUCCIONES

    D.

    M.A.

    M C

    DIRECCIONES

    DIRECCIONES

    Perifricos

    RELOJ

  • 7/25/2019 NSO Modulo 1

    6/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 6se mide en Mega Hertz (MHz - Millones de ciclos por segundo), o Giga Hertz (GHz - milmillones de ciclos por segundo). El procesador efecta acciones que tienen una duracinexpresada en mltiplos de tales ciclos. En la mayora de las ocasiones se encuentra(fsicamente), fuera del propio procesador.

    - UNIDAD DE CONTROL (UC):Extrae de la MC la nueva instruccin a ejecutar. Analiza dicha

    instruccin y establece las conexiones elctricas correspondientes dentro de la UAL. (UnidadAritmtica Lgica) u otros mdulos funcionales. Adems, extrae de la MC los datosimplicados en la instruccin. Desencadena el tratamiento de dichos datos en la UAL u otrosmdulos funcionales. Almacena los resultados (si los hubiera), en la MC.Las operaciones de acceso a MC se realizan con una cantidad de informacin denominadapalabra o word (su tamao depende de cada procesador). En ocasiones es necesario realizarvarios accesos para obtener o depositar una informacin completa en los registros de laCPU.

    - UNIDAD ARITMTICO-LGICA (UAL): opera con los datos segn indicaciones de la UC.- REGISTROS:almacenamiento temporal de informacin para su procesamiento.La CPU es el elemento ms rpido de todo el computador (de unidades a centenares de millonesde instrucciones por segundo).LA MEMORIA CENTRAL (MC)almacena dos tipos de informacin: Instrucciones: es decir, informaciones que indican qu operaciones se efectuarn en el

    procesador con los datos Datos: que se transformarn en otros datos o resultados despus que las instrucciones lo

    tratan.Sin embargo, ambos tipos de informacin no se distinguen externamente en nada: ser la UC la

    que decida que una informacin se interprete como instruccin o como dato.

    La mquina puede ejecutar un programa inicialmente almacenado en la MC. El programa acta, atravs del procesador, sobre los datos en la MC y almacena los resultados en la MC a medida que sevayan obteniendo del procesamiento.

    El mecanismo para acceder a la informacin almacenada en MC es el siguiente: La informacinest organizada en palabras. Cada palabra tiene una direccin asociada.

    El procesador genera una direccin para acceder a la informacin deseada mediante un registropuntero llamado Program Counter (PC).

    La MC selecciona de entre todas sus informaciones la que tenga asociada tal direccin.

    Se efecta la operacin apropiada de Lectura o Escritura.

    Lectura: la MC le devuelve al procesador la informacin (palabra), contenida en la direccinespecificada que fuera cargada en el Program Counter.

    Escritura: el procesador ordena a la MC que se deposite una informacin en la direccinespecificada.

    La informacin almacenada en la MC se expresa en binario.

    Un bit(BInary unit): es una cifra con dos valores posibles: 0 y 1. Su capacidad de expresin esmuy reducida (SI / NO, VERDADERO / FALSO, BLANCO / NEGRO, etc.). Los bits pueden agruparse

    para aumentar su capacidad de representacin. Con 2 bits hay 4 combinaciones posibles (00, 01, 10, 11),que podran representar a cuatro letras o nmeros, por ejemplo.

    En general, con N bits se pueden representar combinaciones distintas, y a cada una se le puedeasignar una interpretacin diferente.

    Una agrupacin habitual es el byte (binary termin), trmino binario que generalmente contiene 8bits, pero puede ser de nbits dado que es una convencin. Con 8 bits, permite 256 combinacionesdiferentes (2 elevado a la 8va. Potencia). Es til para representar un carcter (alfabeto en minsculas ymaysculas, signos de puntuacin, dgitos del 0 al 9, caracteres especiales, etc.).

    Existe una tabla que relaciona combinaciones de 7 bits con los caracteres que representan. Estatabla utiliza el cdigo ASCII (American Standard Code for Information Interchange), de 7 bits. (paracompletar el byte, reserva un bit para deteccin de errores por lo que slo representa sumatorias de bitspar o impar). Tambin hay otro cdigo llamado ASCII Extendido de 8 bits que contiene el de 7 bits y no el

    de paridad.

  • 7/25/2019 NSO Modulo 1

    7/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 7Magnitudes: se utiliza el sistema binario3. 1 Kibibit= 1024 bits. Aplicado a bytes, representa aproximadamente la informacin ocupada

    por media pgina de texto. 1Mebibit= 1.048.576. Aplicado a bytes, viene a representar la informacin ocupada por un

    libro (de unas 500 pginas). 1Gibibyte= 1.073.741.824 By. Representa la informacin de unos 1000 libros. 1Tebibyte = Terabyte binarios (Tby) (212) Pebibyte= Peta byte binario (Pby) (215) Exbibyte = Exa byte binario (Eby) (218) Zebibyte = Zetta byte binario (Zby) ( 221) Yobibyte= Yotta byte binario (Yby) ( 224)Algunas caractersticas de la Memoria Central son: Tamao reducido (orden de Mebibytes o algunos Gibibit). Tiempo de acceso pequeo (orden de los microsegundos o nanosegundos), y constante. Acceso directo (cada posicin de memoria tiene una direccin).

    Tipos de memoria: RAM: Memoria de lectura y escritura. En algunos casos es Voltil (al apagar el computador,

    la informacin se pierde) en otros no (Flash RAM). til para instrucciones y datos (es lamemoria normal).

    ROM: Memoria de slo lectura. Permanente se utiliza especialmente en el arranque delcomputador, conteniendo las primeras instrucciones del programa de inicializacin.

    Los siguientes trminos significan:- Hardware: (literalmente: material duro), es todo lo referente a la computadora que puede ser

    tocado, o sea, lo fsico. Por Ejemplo: teclado, monitor, circuitos, chips, plstico, hierro, etc.- Software: (literalmente: material blando), es todo lo lgico, Por Ejemplo: todo lo referente a

    Programas y a la gestin del computador.- Firmware: es un programa grabado sobre un componente del sistema y que est integrado

    a l en funcionamiento.El componente humano de un sistema informtico esta relacionado con:

    -Orgware:

    se refiere a todo lo estructurado y normado dentro de la organizacin, ya sea lolgico, o lo fsico y su uso.

    - Peopleware: todo lo relacionado con los usuarios.

    Existen distintos tipos de usuarios en funcin de los privilegios que se le asigna en el sistema, aspor ejemplo, el superusuario (root , super user o system manager),dispone de todos los privilegios, locual le permite administrar sin restricciones el sistema mientras los otros usuarios solo tienen parte de losprivilegios de acuerdo a sus funciones.

    b) Apl icaciones y p rogramas d el sistema.

    TRABAJO (JOB): es un conjunto de programas (generalmente de aplicaciones) y datos de loscuales se quiere obtener un resultado mediante las ejecuciones en un computador.

    Un trabajo puede dividirse en pasos de trabajo (job steps), que son los procedimientos o

    funciones incorporados por el programador en el programa. Cada uno de estos pasos es una unidad detrabajo que se hace en forma secuencial mediante procesos (por ejemplo el ensamblado de unprograma), una vez que el S.O. ha aceptado el Trabajo. Entonces podemos definir a un proceso(process),como un conjunto de operaciones que se ejecutan en forma secuencial en el tiempo.

    Los procesos pueden ejecutarse en forma concurrente entre si. El conjunto de programas y datos

    3COMING TO TERMS WITH BYTESComputer terminology is becoming more precise: the International Electrotechnical Commission (IEC), which creates standards forelectronic technologies, is adopting new prefixes to describe data values. The new term "kibibyte" will more accurately describe thenumber of bytes in a kilobyte -- rather than being 1,000, as could be inferred by the prefix "kilo," a kilobyte actually has 1,024 (2 tothe 10th power) bytes. The metric prefixes currently employed -- kilo, mega, giga, etc. -- accumulate as a power of 10, rather thanthe binary system used in computer code. Thus, the Commission will use kibi, mebi, gibi, tebi , pebi and exbi to expressexponentially increasing binary multiples (2 to the 10th power, 2 to the 20th power, etc.). "There was a need to straighten this out,"says Barry Taylor of the National Institute of Standards and Technology.(Science 12 Mar 99)

  • 7/25/2019 NSO Modulo 1

    8/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 8accedidos por el procesador durante un proceso se denomina espacio de direccionam iento (addressspace), de dicho proceso.

    El S.O. vincula el espacio de direccionamiento de los procesos en la Memoria central con lamquina real en el momento de ejecucin. Esto es la ubicacin de dichas instrucciones en la memoriafsica realizadas por hardware en la mayora de los casos. La ejecucin significa que se suceden los

    procesos del usuario mezclados con las l lamadas al sistema (System Calls), conmutndose el contextode ejecucin en cada cambio. Este cambio de contexto se efecta por "s incronizac in",o por "cdigospuros" (pure code), es decir, que no se modifican a s mismos.

    P r o c e s s

    J O B S T E P S

    C r e a d o s p o r e l S . O .

    J O B S T E P S

    E spec i f i cado yc r e a d o p o r e l U s e r

    ( d i r. s im b l icas )

    S . O .

    e t c .

    D i r e c c io n e s s i m b l ic a s ( m c )

    J O B

    P r o c e s s

    U S E R

    C P U O p e r a c i o n e sP r o c e s o

    E s p a c i o d e D i r e c c io n a m i e n to

    P r o c e s s

    P G R D a ta S T A C K H e a p I /O

    P R O C E S A D O R E S

    P r o c e s s

    T h r e a d s

    T h r e a d s

    T h r e a d s

    T h r e a d s

    Fig. 1.05 Representacin de los pasos desde Trabajo a Procesos y su espacio de direccionamiento

    Resumiendo:

    - usuario (user):Es aquel que somete un trabajo (Job),a un sistema de cmputos.- trabajo (Job): Conjunto de programas y datos sometidos al Sistema Operativo.- paso de trabajo (Job Steps): Unidad del Job que debe ejecutarse en forma secuencial

    mediante una serie de procesos o tareas.- proceso (Process ): Sucesin de operaciones que se ejecutan secuencialmente en el tiempo

    (luego, en el Mdulo 2 se ampliar este concepto).- Threads o Hilos:Procesos livianos que se ejecutan sobre una tarea.

    Operacin

    Datos deentrada Reglas

    Datos desalida

    Ejemplo de una regla: Una vez iniciada una operacin debe terminar en un perodo de tiempo determinado. La salidadebe ser funcin nicamente de los datos de entrada y no del tiempo de ejecucin.

    Figura 1.06 Esquema de procesamiento de datos.

    Sincronizacin:Ordenamiento expreso en el tiempo de eventos u operaciones entre procesos oentre procesos y el S.O.

    Multiprogramacin (multiprogramming o multitasking): La multiprogramacin se refiere a variosprogramas act ivos, residentes en una memoria central ejecutndose sobre una CPU, mientras quemult i tarea significa que se ejecutan varias tareas simultneamente.

    Es un multiplexado de los recursos (en especial la CPU), para crear la ilusin de que variosprogramas se ejecutan en forma simultnea.

    Multiprocesamiento (multiprocessing): significa que se usan varios procesadores para ejecutarlos programas.

  • 7/25/2019 NSO Modulo 1

    9/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 9LOS PROGRAMAS (Software):

    Un programa se puede comparar con una l ista de instrucciones. En lugar de llevarla a cabo unapersona, lo hace una mquina.

    Fig. 1.07 Preparacin de un Programa para su ejecucin

    Dado que el nivel de conocimiento del computador es muy reducido comparativamente con el serhumano, las instrucciones que puede ejecutar son muy sencillas (aunque a un ritmo muy elevado), y porlo tanto tambin lo es el lenguaje que puede entender. Esto l leva que programas auxiliares traduzcan laespecificacin producida por el programador en otro programa mucho ms detallado que el computadorpuede entender y ejecutar en lenguaje binario. Para poder efectuar esta conversin, el programador estsujeto a un conjunto de reglas de sintaxis que debe respetar; y para cada instruccin codificada se asociauna semntica que el programador debe conocer.

    El conjunto de sintaxis y semntica define un lenguaje de programacin, y el programa quedetalla esas instrucciones en algo que pueda ser entendido por la mquina se denomina traductor

    (interprete o compilador).Habitualmente, el tipo de traductor usado es un compilador. ste traduce el programa original(fuente), en un programa intermedio (objeto), que puede ser combinado con otros programas objeto (enese caso cada uno es un fragmento incompleto), para dar lugar, al final, un programa ejecutable. Encualquier caso, obsrvese que esta es una visin aproximada y deficiente de cmo se lleva a cabo todoel proceso.

    TIPOS DE PROGRAMAS

    Virtualmente hay tantos tipos de programas como temas a los que se puede aplicar la informtica(concretamente la programacin); no obstante, y aunque con el planteamiento anterior la variedad es casiilimitada, podemos destacar los siguientes tipos de programas:

    Programas de uso universal: los que se ocupan de tareas comunes, como el tratamiento deinformacin de naturaleza:

    Numrica: La contabilidad personal o de una empresa puede ser mantenida adecuadamentecon una hoja de clculo.

    Textual: Utilizando al computador y a los programas editores/procesadores de texto comosustitutos avanzados de la mquina de escribir.

    Grfica: Dejando de lado, o complementado, el material de dibujo, tanto artstico (programasde dibujo libre), como tcnico (programas de dibujo vectorial y CAD).

    Variada pero organizada: Con un sistema de gestin de bases de datos, la informacin(independientemente de su volumen), est siempre accesible, puede ser modificadacalculadamente, y puede ser reorganizada por el criterio que parezca ms conveniente.

    Informacin "a distancia'': Actualmente existen lneas de comunicacin con suficientecapacidad para que el intercambio de informacin sea frecuente entre computadoras opersonas distantes. En este campo pueden clasificarse los programas de mensajeraelectrnica (o correo electrnico), y los de transferencia de informacin (por ejemplo a travsde mdem).

    Biblioteca del lenguaje yOtros archivos Objetos

    Ensamblador y Editor de Enlaces

    COMPILADOR

    Preprocesador

    Otros archivos: fuentes yfunciones

    Lenguaje deprogramacin

    Programafuente

    Programaobjeto

    Programaejecutable

    Lenguaje demquina (binario)

    EJECUCIN

  • 7/25/2019 NSO Modulo 1

    10/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 10

    Programas de uso localizado: los que son habituales slo dentro de alguna ocupacin odisciplina. Ejemplo Aplicaciones jurdicas, o en medicina.

    Programas Utilitarios: Todos los que ayudan a la creacin y verificacin de los programas,

    como los traductores (compiladores e intrpretes), depuradores (Debuggers), etc ..Esta clasificacin no pretende ser exhaustiva, pero ilustra algunas facetas que pueden ser

    automatizadas a travs de un computador dentro del trabajo normal y del especializado.

    c) Definicion es de Sistema Operativo

    Con los conceptos ya vistos en asignaturas previas, sobre procesamiento de la informacin alcual le sumamos un conjunto de estructuras, como: polticas, estratgicas, seguridad y objetivos; ms losconflictos que deben ser resueltos con eficiencia; podemos definir el trmino Sistema Operativo.

    Fig. 1.08 Interrelacin sel Software (SW), con el Hardware (HW).

    Se pueden imaginar un Sistema Operativo como los programas, instalados en un sistemacomputacional o en un firmware, que hacen utilizable al hardware. El hardwareproporciona la "capacidadbruta de cmputo"; los sistemas operativos ponen dicha capacidad de cmputo al alcance de los usuarioso programas mediante servicios y administran cuidadosamente los recursos del sistema para lograr unbuen rendimiento.

    Los Sistemas Operativos son bsicamente administradores de recursos. El principal recurso queadministran es el hardware del computador; adems de los procesadores, los medios dealmacenamiento, los dispositivos de entrada/salida, los dispositivos de comunicacin, administran losprocesos, el procesamiento y los datos.

    Un Sistema Operativo es un programa que acta como intermediario o interfase entre el usuario yel hardware del computador y su propsito es proporcionar el entorno en el cual el usuario pueda ejecutarprogramas. Entonces, el objetivo principal de un Sistema Operativo es, lograr que el sistema decomputacin se use de manera adecuada y cmoda, y el objetivo secundario es que el hardware delcomputador se emplee de manera eficiente.

    Existen diversas definiciones de lo que es un Sistema Operativo, pero no hay una definicinexacta, es decir una que sea estndar; a continuacin se presentan algunas:

    Sistema Operativo es un conjunto de mdulos o funciones (software), que instalados en elcomputador, se ocupan de controlar y administrar la ejecucin de los programas sobre los recursos quebrinda el equipo (hardware), tales como: memoria, procesador, perifricos, etc. ms otras funcionesespecficas.

    Entonces, el S.O. tiene como principal objetivo incrementar la productividad de usuarios y elsistema de procesamiento.

    Podemos afirmar que es el conjunto de programas que residenen la memoria central y quepermite gestionar las diversas tareas de un computador, descargando a los usuarios de todaprogramacin rutinaria y facilitando a cada uno de ellos compartir el uso de la mquina.

    En esta afirmacin la palabra compartir tiene un significado especfico: los usuarios "compiten"

    HARDWARE

    PROGRAMAS s.o.

    USER USER USER

    SW

    UTILITARIOS

  • 7/25/2019 NSO Modulo 1

    11/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 11por el uso de los recursos fsicos, tales como memoria, dispositivos, tiempo de uso del procesador, ycooperan con el uso de recursos lgicos: programas y datos. Esto es vlido para un sistema multiusuario,como un equipo grande, tambin llamado Mainframe o HOST. En cambio en uno ms chico,monousuario, como por ejemplo, un computador personal PC, generalmente no se comparten losrecursos entre usuarios pero si se comparten entre los procesos del usuario.

    Entonces, Tambin podemos definir a un Sistema Operativo como un programa o conjunto deprogramas que reside en la Memoria Central de la mquina; y un conjunto de procedimientos (normas yoperaciones), manuales y automticos que hacen posible que la mquina funcione.

    Resumiendo, Sistema Operativo es:

    Un conjunto de programas que reside en la computadora y acta como interfase entre losusuarios y los recursos, brindando los servicios necesarios para ejecutar programas.

    Un conjunto de programas, rutinas y procedimientos manuales y automticos que administran losrecursos de un sistema de cmputos en operacin para permitir a un grupo de usuarios, compartireficientemente el mismo.

    Tambin lo podemos definir al sistema operativo por sus funciones:

    Un programa o conjunto de programas residentes en la computadora responsable de lassiguientes funciones:

    Inicializar la mquina: Chequeo de recursos y I.P.L. (Initial Program Loader), o bootstrapping(booteo en la jerga).

    Administrar los recursos del sistema. Servir de interfase hombre-mquina. Proteger a los usuarios y a los recursos

    Tambin podemos definirlo por el significado de sus palabras: Sistema: Conjunto de Personas, datos, software, comunicaciones, hardware y cosas que

    ordenadamente relacionados entre s, contribuyen a lograr un determinado objetivo, en unambiente.

    Operativo: personas, mquinas y cosas que trabajan conjuntamente y consiguen el objetivo

    deseado en ese ambiente.

    SISTEMA OPERATIVO: Conjunto de Programas que ordenadamente relacionados entre s,contribuyen a que la computadora lleve a cabo correctamente su trabajo para nosotros en un ambientedado.

    Habamos dicho que un Sistema Operativo era un programa que acta como interfase entre elusuario de una computadora y el hardware de la misma, entonces, el propsito es proveer un entorno enel cual el usuario puede ejecutar programas.

    En realidad, un S.O. puede ser contemplado como una coleccin organizada de extensiones desoftware que se ejecuta sobre un Hardware determinado. Este Software consiste en rutinas que hacenfuncionar el computador y proporcionan servicios y un entorno de ejecucin para los programas.

    Un S.O. NO es: Un lenguaje o un compilador: Existen S.O. que tienen integrado un lenguaje y su respectivo

    compilador con el que fueron construidos, como es el caso del lenguaje C con el que sedesarroll el S.O. UNIX o Linux, o el Basic del DOS.

    Un intrprete de comandos: El intrprete de comandos o mandatos es la interfase visibledel S.O. con el usuario y es un mdulo instalable, y hasta puede ser distinto para cadausuario.

    Una biblioteca4 de funciones: Es la biblioteca en que se guardan las funciones yaprogramadas que utiliza el traductor (Compilador y Editor de Enlaces), para construir elPrograma ejecutable.

    Una biblioteca de comandos: Los comandos se agrupan en una biblioteca y se cargan parasu uso en Memoria Central (Por ejemplo, DOS).

    4El Trmino Librera (Bookstore) es incorrectamente utilizado por Biblioteca (Library)

  • 7/25/2019 NSO Modulo 1

    12/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 12 Un Software de comunicaciones: El S.O. se ocupa de otras cosas adems de las

    comunicaciones. Sus funciones son ms amplias.

    En general podemos decir que los S.O. cubren cuatro objetivos fundamentales:a) facilitar el trabajo al usuario.

    b) gestionar en forma eficiente los recursos.c) inicializar la mquina.d) Protege a los usuarios y a los recursos.

    Entendemos por Sistema Informtico (S.I.) = Hardware (HW) + Sistema Operativo (S.O.) +Programas de Aplicacin + Usuarios + ambiente.

    Un Sistema Operativo: es, entonces, una parte importante de cualquier sistema de computacin.

    Un sistema de computacin o de procesamiento de datos: puede dividirse en cuatrocomponentes: el hardware, el Sistema Operativo, losprogramas de aplicaciny los usuarios.

    El hardware: (Unidad Central de Procesamiento + memoria central y Memoria secundaria +Mdulo de entrada / salida + dispositivos de entrada / salida + comunicaciones), proporciona losrecursos de computacin bsicos.

    Los programas de aplicacin: (compiladores, sistemas de bases de datos, vdeojuegos,programas comerciales, etc.), definen la forma en que estos recursos se emplean para resolver losproblemas de computacin de los usuarios.

    En resumen: se podra decir que los Sistemas Operativos son un conjunto de programas quecrean la interfase entre el hardware y el usuario, y que tiene cuatro funciones primordiales, que son:

    Gestionar el hardware: Se refiere al hecho de administrar de una forma ms eficiente losrecursos de la mquina.

    Facilitar el trabajo al usuario: Permite una comunicacin con los dispositivos de la mquina.

    Brindar un ambiente de ejecucin seguro. Protegiendo el uso correcto de los recursos.

    Inicializar la mquina.

    El Sistema Operativo provee los medios para utilizar de forma correcta los recursos de un

    sistema de computacin; no hace ninguna funcin til por s mismo. Simplemente provee un entorno enel cual otros programas pueden hacer un trabajo til.

    Podemos ver al SO como un asignador de recursos. Un sistema tiene diversos recursos quepueden requerirse para resolver un problema: tiempo de CPU, espacio de memoria, espacio dealmacenamiento de archivos, procesos, dispositivos de E/S, etc. El SO acta como gerenciador de esosrecursos y se los otorga a programas especficos y usuarios a medida que son necesarios. Como puedehaber diversos pedidos conflictivos para cada recurso, el SO tiene qu decidir que pedidos son atendidosy cules no. Su trabajo principal es mantener un conjunto de tablasen las cuales se describen losrecursos y a que procesos estn asignados los mismos.

    Un SO es un programa de control que controla la ejecucin de programas de usuario paraprevenir errores y uso impropio de la computadora y es el responsable de la operacin y control dedispositivos de E/S.

    R E DA r c h i v o s+

    D a t o s

    P r o c e s a d o r ( e s )+

    M e m o r ia s

    P e r i f r i c o s

    In t e r f a s e d e lU s u a r i o

    S . O .

    Figura. 1.09 Algunos recursos que administra el Sistema Operativo

  • 7/25/2019 NSO Modulo 1

    13/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 131.1.2. Funciones de los sistemas operativos:

    a) Inicializacin del sistemab) mquina extendida,

    c) El sistema operativo como administrador derecursos,d) Proteccin y seguridad.

    1.1.2. Funciones de un sistema operativo.Las funciones de los S.O. son bsicamente cuatro: inicializacin, mquina extendida,

    administracin de recursos brindando servicios, y Proteccin y seguridad.

    Veamos cada uno de estos puntos:

    a) Inicial izacin d el Sistemalnicializar la mquina: Esta tarea es llevada a cabo por rutinas residentes en memoria ROM o

    RAM de la mquina ms otras residentes en el disco del sistema o la particin activa para la funcin dearranque.

    La inicializacin tiene por objetivo preparar la mquina real y llevarla a un estado tal que puedaejecutar el primer trabajo. Menos del 1 % de las tareas del S.O. se destinan a sta funcin.

    Hay dos tipos de lnicializacin: total(cold start),o Bootstrappng o Initial Program Loader (I.P.L.). parcial(warm start).

    1) lnicializacin total (cold start) :

    El Sistema Operativo inicialmente se encuentra almacenado en la memoria secundaria. Alencender la mquina se carga y ejecuta un pedazo de cdigo que se encuentra en la Memoria Central(ROM), el cual carga el BIOS (Basic Input Output Sistem), y este a su vez carga el Nucleo o Kernel delSistema Operativo en Memoria Central (RAM). Inicializa la mquina y carga todos los programas deaplicacin y software necesario para permitir ejecutar programas o comandos del Shell.

    Lo primero que se realiza es colocar la direccin 0 (o un valor predeterminado) de la memoria enel program counter (PC) del Procesador Central. Generalmente esta es una direccin ubicada en lamemoria ROM, donde se encuentra la primera instruccin de la rutina de inicializacin del hardware(BIOS). Luego de realizar todas las tareas de inicializacin y control del hardware existente en elcomputador, la ltima instruccin del BIOS llama a la rutina de inicializacin del sistema operativo(normalmente ubicada en el primer sector del disco del sistema- bootsector).A partir de este momento secarga el Kernel del sistema operativo, (quedando instalado permanentemente en memoria central, hastaque se ejecute el shutdown cierre- del sistema) y por ltimo carga el shell.

    La rutina de inicializacin del sistema operativo es la primera que se ejecuta. Dicha rutina esconocida como el I.P.L. ("Booteo" en la jerga informtica), y una vez que dicha rutina es finalizada lamquina queda preparada para ejecutar la primer carga de trabajo bajo el control del S.O., que luegoadministrar todo el procesamiento del sistema de cmputo hasta su cierre. En UNIX dicha rutina es elinit, y tiene 6 niveles distintos de inicializacin.

    secuencia

    Encendido Reset1er Dir.

    a laROM

    1er C digoOperacina la CPU

    MultiplesRutinas de Ini-

    cializacin

    Carga delProgramCounter con la1er Direccin

    Carga e lKernel yel Shell

    Fig. 1.10Procesodeinicializacinenfro

    Existen dos tipos de verificacin de recursos, la primera es realizada por el BIOS, y la segunda es

  • 7/25/2019 NSO Modulo 1

    14/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 14realizada por la rutina de inicializacin del sistema operativo.

    El propsito al verificacin los recursos, es el de crear las tablas necesarias, para luego poderadministrar los recursos disponibles en el sistema (Memoria, discos, impresoras, terminales, etc.).

    Una vez terminada la rutina de inicializacin, la mquina queda preparada para su usopresentando en la pantalla el smbolo (Prompt), respectivo, o solicitando el ingreso (login), al sistema.Todo el proceso de inicializacin se realiza en modo monousuario.

    2) Inicializacin parcial (Warm Start):

    En este caso no se ejecutan las rutinas de verificacin de recursos (residentes en la BIOS oKernel), sino que el proceso arranca directamente de la ejecucin del proceso de inicializacin delsistema operativo. La recuperacin depende generalmente del tipo o clase de evento ocurrido queprovoc la interrupcin de la ejecucin y de ello depende qu trabajo preservado reinicia. Los eventoscausantes de la interrupcin de la ejecucin pueden ser generados por errores del Hardware, violacionesa Protecciones, corte de luz, finalizacin del tiempo de uso de CPU, etc. El ejemplo ms comn de stetipo de inicializacin es el CONTROL-ALT-DEL, existente en el DOS.

    secuencia

    Carga delKernel ydel Shell

    Mltiples Rutinas de Inicializacin

    ARRANQUE EN CALIENTE

    Fig. 1.11 Proceso de inicializacin en caliente

    El esquema para la inicializacin parcial es importante en los casos de Sistemas en Tiempo Real,en grandes Sistemas Multiusuarios, o en Arquitecturas Tolerantes a fallas (fault-tolerance systems). Eneste ltimo caso depende de la operatividad de los equipos.

    b) Mquina extendida o interfase hombre - mquina.El S.O. debe presentar al usuario el equivalente de una mquina ampliada, o mquina extendida,

    o mquina virtualque debe ser ms fcil de usar o programar que el hardware implcito. Es decir, debeocultar toda la complejidad de la mquina real para transformarse en una "mquina" ms fcil de usar(ms "amigable" o sea User Friendly).

    Generalmente la visin de los usuarios de esta interfase se conoce con el nombre de SHELL. ElShell es la porcin del S.O. que se encarga de hacer de interfase Hombre - Mquina y de transmitir alS.O. los requerimientos del usuario al sistema. La interfase humana es la que nos permite manipular elsistema y es la parte visible del S.O. y puede ser intercambiable.

    S.O. HW

    Mquina virtual o extendida

    USUARIOSHELL

    INTERFASEEXTERNA

    INTERFASEINTERNA

    Fig. 1.12 Concepto de Mquina ExtendidaActa como medio de comunicacin entre el usuario y la mquina, y generalmente es realizada por unmdulo del S.O. llamado Shell o intrprete de comandos. Tiene por objetivo servir de interfase

    Hombre-Mquina, o sea, actuar como una interfase interna (transparente al Usuario), y externa (de

  • 7/25/2019 NSO Modulo 1

    15/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 15comunicacin con el Usuario). Entre el 7 al 9 % de las tareas del Sistema est dedicada a esta funcin.

    Las funciones principales de la mquina extendida son:

    Separar la complejidad de la mquina desnuda al usuario. Una parte del S.O. se ocupa deeliminar la complejidad del Hardware y lo transforma en una mquina virtual ms fcil de usarcon una interfase para el usuario ms amigable y menos compleja.

    Actuar como interfase de Entrada/Salida (E/S), y controlar el complejo manejo de losdispositivos de E/S cuando el usuario requiere de un servicio.

    Facilitar la comunicacin con el usuario (mediante el SHELL), ya sea a travs del Interpretede comandos, o del Job Control Language (J.C.L.), u rdenes verbales, o a travs deInterfase Grfica compuesta por iconos.

    Aceptar entradas de nuevos Trabajos. Proteger el sistema, permitiendo solamente el acceso a usuarios correctamente identificados

    y autorizar en el uso del sistema, a travs de distintos mtodos de autentificacin (usuario /clave, reconocimiento de huellas dactilares, etc.)

    El sistema operativo como mquina virtual: Un computador se compone de uno o msprocesadores o CPUs, memoria central o RAM, memoria secundaria (discos), tarjetas de expansin

    (tarjetas de red, mdems y otros), monitor, teclado, mouse y otros dispositivos. O sea, es un sistemacomplejo. Escribir programas que hagan uso correcto de todas estas componentes no es una tarea trivial.Peor an si hablamos de uso ptimo. Si cada programador tuviera que preocuparse de, por ejemplo,como funciona el disco duro del computador, teniendo adems siempre presentes todas las posiblescosas que podran fallar, entonces a la fecha se habra escrito una cantidad bastante reducida deprogramas.

    Es mucho ms fcil decir escribir "Hola" al final del archivo "datos, que poner en determinadosregistros del controlador de disco la direccin que se quiere escribir, el nmero de bytes que se deseaescribir, la posicin de memoria donde est la informacin a escribir, el sentidode la operacin (lectura oescritura), amn de otros parmetros; y decir al controlador que efectu la operacin; luego esperar;decidir qu hacer si el controlador se demora ms de lo esperado; interpretar el resultado de la operacin(una serie de bits); reintentar si algo anduviera mal, etc. Como se ve, esto es complejo, y adems, habraque re-escribir el programa si se instala un disco diferente o se desea ejecutar el programa en otra

    mquina.Todo esto indica que es necesario encontrar algn medio para aislar a los programadores de las

    complejidades del hardware. Esa es precisamente una de las tareas del sistema operativo, que puedeverse como una capa de software que maneja todas las partes del sistema, y hace de intermediarioentreel hardware y los programas del usuario. El sistema operativo presenta, de esta manera, una interfase omquina virtual que es ms fcil de entender y de programar que la mquina "binaria". Adems, para unamisma familia de mquinas, aunque tengan componentes diferentes (por ejemplo, monitores de distintaresolucin o discos duros de diversos fabricantes), la mquina virtual puede ser idntica: el programadorve exactamente la misma interfase, y por lo tanto los programas son los mismos.

    El S.O. provee una mquina virtual, es decir, un ambiente en el cual el usuario pueda ejecutarprogramas de manera conveniente, protegindolo de los detalles y complejidades del hardware.

    c) El s is tema operat ivo com o admin is t rador de recursosMs del 90% del SO se dedica a esta funcin. Las principales tareas consisten en asegurar que

    durante la ejecucin se cumpla con los siguientes objetivos: Facilitar a los usuarios compartir y proteger los recursos. Optimizar el porcentaje de utilizacin de los recursos.

    Para ello el S.O. controla todos los objetos de un sistema de cmputo complejo (usuarios,procesadores, memoria, discos, etc.), en cuanto a quin usa cul recurso y su respectiva planificacin delreparto. De esta forma va asignando y desasignando el uso de estos recursos e intercede como arbitroimparcial en los conflictos que se generan entre los programas y usuarios por el uso compartido.

    El concepto de recurso computacional es una abstraccin de los objetos, estructuras de datos,variables, rutinas, etc. que estn accesibles a los programas o los usuarios a travs del SistemaOperativo.

  • 7/25/2019 NSO Modulo 1

    16/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 16Cada uno de los administradores de los recursos, bsicamente debe: Mantener actualizado un registro o contabilidad del estado o uso de los recursos. Cumplir (en funcin de la poltica implementada a tal fin), con las demandas, decidiendo

    quin, cmo, cundo y por cunto tiempo recibe determinado recurso. Asignar dicho recurso a quien lo demande y modificar su estado (de libre a ocupado). Recuperar el recurso despus que se ha utilizado y actualizar su estado (de ocupado a

    libre). Funcin de Proteccin y tratamiento de errores.

    SO + HW

    CPU

    USUARIO - DEMANDA SO - COMPARTE - PROTEGERECURSOS (Finitos)

    Recursos

    Finitos

    COMPETENCIA

    Fig. 1.13 El S.O. como administrador de recursos

    Se dice que elSO implem enta como arbitro imparcial: Una Poltica: dado que asigna prioridades (de uso y/o de acceso a los recursos). Una Estrategia: ya que ordena los accesos y los conflictos. Una Autoridad: pues debe recuperar los recursos otorgados a los procesos y ordenar el uso

    de los mismos. Una Proteccin: brindando seguridad a los usuarios entre s y preservando la integridad de

    los recursos. Una Contabilidad: para llevar el control del uso y disponibilidad de los recursos.

    y el S.O. ofrec e: Facilidades para crear, manipular y eliminar objetos sobre los que se quiere realizaroperaciones, a travs de la Gestin y Conservacin de la Informacin sobre ellos.

    Un ambiente para la ejecucin de trabajos, mediante la gestin del conjunto de recursos quepermiten ejecutar los mismos.

    Facilidades para compartir el conjunto de recursos entre los usuarios, mediante unplaneamiento y ordenamiento de los trabajos.

    La administracin del sistema consiste en el: Manejo y conservacin de la informacin: ofrece a los usuarios facilidades para crear,

    recuperar y eliminar objetos sobre los que se quieren realizar operaciones. Manejo del conjunto de recursos: que permiten ejecutar programas: El sistema crea el

    ambiente necesario para la ejecucin de los trabajos. Manejo y reparto del conjunto: de recursos entre los usuarios mediante un planeamiento y

    ordenacin de trabajos.

    El sistema operativo administra eficientemente los recursos del computador sin generarconflictos. Por ejemplo: cuando hay dos o ms programas que ejecutan simultneamente y requierenusar el mismo recurso (como tiempo de CPU, memoria o impresora).

    Adems, en un sistema multiusuario, suele ser necesario o conveniente compartir informacin,adems de dispositivos fsicos,. Al mismo tiempo, debe tenerse en cuenta consideraciones de seguridad:por ejemplo, la informacin confidencial slo debe ser accedida por usuarios autorizados. Un usuariocualquiera no debiera ser capaz de sobre escribir reas crticas del sistema, etc. (En este caso, unusuario puede ser una persona, un programa, u otro computador).

    En resumen, el sistema operativo debe llevar la cuenta acerca de quin est usando qurecursos; otorgar recursos a quienes los solicitan (siempre que el solicitante tenga derechos adecuados

    sobre el recurso); y arbitrar en caso de solicitudes conflictivas.

  • 7/25/2019 NSO Modulo 1

    17/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 17d). Protecc in y Seguridad

    RE CURS OS

    (nicos)

    A C

    C E S O

    User -

    User -

    User -

    Proteger los Usuar ios, Recursos y losProcesos m ediante accesos controlados

    Fig. 1.14 Concepto de Proteccin

    Objetivo: Garantizar la integridad de los recursos y de los Procesos, como tambin autenticar yvalidar a los usuarios en el sistema.

    Al respecto se desarrollar un mdulo completo sobre este tema, dado que el S.O. implementadistintas estrategias y mecanismos de proteccin para cada tipo de recurso.

    Para resolver este conflicto el S.O. ofrece los siguientes mecanismos:1. Ejecucin dual de instrucciones: Maestro - Esclavo (este concepto se ampla en un

    prximo punto de ste mdulo).2. Mutua Exclusin: (consiste en asegurar que los recursos compartidos sean accedidos por

    un soloproceso a la vez bajo ciertas condiciones(lo veremos ms detallado en el mdulo 4).3. Control de accesos.

    1.2. Evolucin histrica de los Sistemas Operativos. a) Sistemade procesamiento Batch. b) Sistema "Spooling". c) Sistemas

    Interactivos. d) Sistemas Distribuidos. e) Tendencias.

    1.2. Evolucin histrica de los Sistemas Operativos.

    No solo hubo una evolucin en el hardware y en el software de los equipos, sino tambin en el terreno delos S.O..Dos son las consecuencias de sta evolucin: Cada vez son mayores las posibilidades de los sistemas operativos: pueden controlar a un mayor

    nmero de perifricos asociados al computador y ponen a disposicin del usuario un repertorio decomandos mas potentes y adems permiten poner en prctica nuevos mtodos mas eficaces yrpidos para explotar las posibilidades del hardware de la mquina.

    La llegada del microprocesador y su implantacin como corazn de las computadoras permiti un granavance en la estandarizacin de los S.O., destacndose entre ellos, el DOS, el OS-2, VM, el UNIX,Linux, Solares, etc.

    Los Sistemas Operativos fueron desarrollados como respuesta a la necesidad de aumentar la utilizacinde los procesadores y de los dispositivos perifricos, y esto sigue siendo una de las funcionesprimordiales de los Sistemas Operativos, sobre todo, el mejorar el uso del hardware al automatizar lacorriente de trabajos y realizar decisiones sobre el manejo de los recursos del sistema en la escala detiempos de la computadora y no en la del operador humano.En los primeros das de la computacin, la computadora era exclusivamente operada a mano. En stascondiciones, los usuarios tenan toda la mquina para s por algn intervalo de tiempo. Entonces elusuario dispona de todos los recursos y cualquier administracin de esos recursos estaba dedicada ahacer mas conveniente la operacin de la mquina por parte del usuario. Esta forma de usar la mquinase di en llamar Open Shop que era monoprogramado y monousuario.

  • 7/25/2019 NSO Modulo 1

    18/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 18Cuando la comunidad de usuarios creci, se hizo necesario asegurar una distribucin eficiente de losrecursos fsicos del sistema entre todos.

    A partir de 1950, surgen nuevas tcnicas de administracin y ordenamiento con el propsito deaprovechar los equipos de la mejor manera posible. Estas tcnicas emergen debido a que varios usuarioscomparten una instalacin y generan colas de trabajos a ser ejecutados, por lo que deben adoptarse

    decisiones sobre el orden en que sern atendidos, entonces se establecen ciertas reglas llamadasSchedul ing A lgori thms o algori tmos d e adminis t rac in o plani f icac in.Los primeros S.O. surgen a partir de 1956 al reemplazar las funciones que realizaba el usuario. El S.O.,en su evolucin, atraviesa distintas etapas hasta llegar a su estado actual.La primera tcnica fue el Open Shop' ' (1956-1960), y en ella el usuario dispona de un intervalo detiempo, por ejemplo 15 minutos, durante el cual toda la mquina estaba a su disposicin para operarla yusarla.Este mtodo de administracin, entregaba el sistema de cmputo a un solo usuario por vez lo cualsignifica que cada usuario usaba la mquina un intervalo de tiempo, durante el cual poda ejecutar susprogramas, localizar errores, experimentar, etc..

    Antes de trabajar sobre la mquina, cada usuario deba reservar un intervalo de tiempo inscribindose enuna lista, lo que le permita durante ese tiempo tener a su disposicin la computadora para operarla yusarla en forma exclusiva.

    Sin embargo, esa forma de operar, hacia que la computadora estuviera la mayor parte del tiempo ociosa,debido al tiempo que perdan los usuarios haciendo un uso indiscriminado de la misma.

    Aparece entonces lo que se di en l lamar Closed Sho p' '. El Closed Shop es una forma de trabajar quesi bien es secuencial, los usuarios deban entregar sus trabajos (job) a un operador, quien pasa a tenerun papel preponderante, dado que era el dueo, amo y seor de un recurso complejo y caro y disponadel orden para llevar a ejecucin los trabajos. Estos abusos motivaron a resolver el problema medianteuna programacin (software) y as nace un incipiente S.O. que reglamentaba el uso del computador.Es as como surgen nuevos Sistemas Operativos, que impiden al operador interactuar libremente con lamquina. Estos S.O. ponen en prctica un procedimiento llamado Closed Shop, mediante el cual elusuario dej de disponer libremente de la computadora. Este tipo de procedimiento fue posible gracias aesos nuevos S.O. que permitan realizar, cada vez mas, un mayor nmero de tareas.Esto produjo una evolucin importante ya que el usuario entregaba al operador un lote de tarjetas listopara procesar. ste armaba una cola de tarjetas (segn su orden de llegada), y el procesador las lea

    cargndolas en memoria central y luego las ejecutaba devolviendo los resultados impresos. Esto seesquematiza en la Fig. 1.15.Luego de procesar todos los trabajos, y recin cuando el ltimo trabajo haba sido concluido, losresultados eran listados, de a uno por vez, por la impresora.La lentitud de la Entrada / Salida (E/S) en estos sistemas constitua un "cuello de botella" debido altiempo empleado para la E/S. Adems esa forma de trabajar era muy onerosa como consecuencia de losintervalos de procesador ocioso por la prdida del tiempo en que los usuarios hacan un usoindiscriminado del computador.Es as como se buscan nuevas tcnicas que permitan mejorar en la prctica el procedimiento llamadoClosed Shop (1960-1963) mediante el cual el usuario dej de disponer libremente de la mquina ydeba entregar sus trabajos al Operador del Centro de cmputos.Esta automatizacin en la administracin provoc algunos inconvenientes, tales como: Cmoproteger el S.O. residente contra los programas cargados errneamente sobre l?, o Cmo obligar a losusuarios a devolver el control al S.O. una vez que terminaban ?, etc..Durante este perodo, el problema ms serio lo constituan la diferencia de velocidades que exista entrelos dispositivos de E/S y el procesador central.Para corregir este desequilibrio, aparecieron dos mejoras. Ambas de gran importancia para los S.O..La primera fue la introduccin del canal de E/S.Esta mejora del hardware fue capaz de controlar uno ovarios dispositivos perifricos, y que una vez puesta en marcha funcionaba independientemente delprocesador central, permitiendo que las entradas o salidas se ejecutaran superpuestas con la ejecucinde la CPU.La segunda fue la introduccin del procedimiento conocido como Entrada/Salidafue ra d e lnea'' (Of f

    Line). En vez de que la computadora usara a los lentos dispositivos perifricos en forma directa, laentrada era transcripta de tarjetas a cintas magnticas y un programa residente en memoria centralreciba la entrada leyendo de las cintas las imgenes de las tarjetas. Este programa pas a formar partedel S.O. llamndose cargador (loader).Una vez establecido el principio de E/S fuera de lnea sobre cinta, qued abierto el camino para el

    desarrollo de un sistema que encadenara la secuencia de trabajos. A ste sistema, que ejecutaba en

  • 7/25/2019 NSO Modulo 1

    19/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 19serie y en forma automtica las tareas contenidas en una cinta magntica, se lo llam Sistema deprocesamien to por Lotes (batch)''.En este sistema no es precisa la atencin del usuario durante la ejecucin de los trabajos. Una vez queun Trabajo o JOB se presentaba para su tratamiento, el usuario perda la posibilidad de intervenir ymodificar su desarrollo.

    Probablemente el primer sistema de este tipo haya sido el S.O. de la organizacin de usuarios SHARE(Share Operating System), antepasado del Sistema Monitor FORTRAN (F.M.S.) que fuera ampliamentey vastamente utilizado por esa poca.Otro hecho notable en la evolucin de los sistemas operativos fue el advenimiento del t iempocompart ido (Time Sharing), el cual tuvo su origen en una evolucin del hardware que introdujo elconcepto de interrupcin, el cual permiti sincronizar el procesador central con los dispositivosperifricos al completarse la E/S.De ah se pas rpidamente a la mult iprogramacin. La primera computadora que introdujo la idea detener un sistema operativo complejo para controlar varios programas en ejecucin simultnea fue laFERRANTI ORION, a la que sigui la FERRANTI ATLAS (luego ICL).Entre los aos 1967-1968 nace el concepto de t iempo compart ido tomado como sinnimo de accesomltiple (multiaccess), es decir, que si en una mquina hay varios programas simultneos, el procesadores compartido por ellos en el tiempo y cada programa trabaja por turno durante un cierto lapso pequeo

    de tiempo, pareciendo que todas las tareas progresan simultneamente.Esto es atrayente si cada programa esta conectado al usuario por medio de una pantalla en lnea, oalguna terminal semejante, ya que cada usuario tendr la impresin de que dispone de toda la mquinapara su uso exclusivo.En sntesis, el tiempo compartido, permiti, por intermedio del desarrollo del S.O., administrar unacantidad de usuarios que explotan y comparten los mismo recursos computacionales (es decir hardwarey software).Luego, con la construccin de memorias de gran capacidad y acceso directo y la multiprogramacin, sedisearon S.O. capaces de manejar una corriente contnua de trabajo sobre una misma computadora.Entre los aos 1968-1969, se consolida el teleprocesamiento como tcnica de explotacin. Se entiendepor teleprocesamiento a la tcnica de empleo de las computadoras a distancia (desde terminalesconectadas a travs de lneas telefnicas, telegrficas, enlaces de radio, o algn otro medio decomunicaciones).

    Mas tarde, toma incremento la utilizacin de la tcnica de paginacin (almacenamiento dividido en unnmero de pginas de tamao fijo y constante que se utilizan para ejecutar y transferir datos yprogramas).Esta tcnica suministra un almacenamiento virtual mayor que la memoria real. De aqu surge la definicinde memo ria virtual como el espacio de direccionamiento de un usuario que no necesita tener todo elprograma residente en Memoria Central para su ejecucin con la condicin de que dicho programa estsoportado en un Disposit ivo d e Almacenamiento Secund ario de Ac ceso Directo (Direct AccessStorage Device DASD) como ser un disco. Entonces el Usuario no tiene que preocuparse por laslimitaciones debidas a que su programa entre o no en la memoria central, ya que este tipo decontingencias es resuelto por el sistema de paginacin provisto por el S.O..Esta tcnica de memoria virtual trae aparejado un notable avance ya que no limita el espacio de memoriacentral para cada usuario sino suministra un almacenamiento virtual que est parcialmente en el disco oen algn otro tipo de memoria masiva, y en parte en la memoria central, y usar la paginacin paraorganizar la ejecucin de la aplicacin en el almacenamiento central en el momento de ejecucin.Esta tcnica no hubiera sido posible sin la evolucin tecnolgica de los dispositivos de almacenamientode acceso directo y del sistema de interrupciones.En 1972-1973, aparece el concepto de f i rmwareque implica disponer de un Software en un Hardwarefuncionando en un ambiente determinado. A partir de 1982 en adelante se busca la formalizacin y elrefinamiento de los sistemas operativos que acompaan a cada microprocesador y su arquitectura desdelos 8 bits a los 64 y 128 actuales.La reduccin de los costos ha favorecido los avances hasta llegar a compartir recursos en sistemasdistribuidos geogrficamente entrelazando a nivel mundial mediante las comunicaciones a redescomplejas como lo es Internet.

    A continuacin detallaremos los principales sistemas de procesamiento que actualmente estn en uso.

  • 7/25/2019 NSO Modulo 1

    20/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 20a) SISTEMA DE PROCESAM IENTO BATCH.

    Los primeros sistemas operativos, aunque resulten muy primitivos al ser comparados con los actuales,suponan una mejora al liberar al operador de tareas rutinarias. Desde ese momento se comenz abuscar un mtodo de administracin del procesador que mantenga activo al mismo la mayor parte deltiempo posible.La actividad de un procesador se puede determinar mediante las siguientes frmulas:

    tiempo de e jecucinUP(utilizacin del Procesador) =

    tiempo total

    P (produccin) = nmero de trabajos ejecutados por unidad de tiempo

    Cabe sealar que una de las caractersticas de las mquinas de esa poca era que solo admitan untrabajo por vez, y por lo tanto no podan, bajo ningn punto de vista, superponerse en el tiempo unaoperacin de E/S con la ejecucin de un programa.

    Es as como se llega a un SO del tipo batch, donde los usuarios entregaban al operador los lotesdetarjetas, con la diferencia que estas tarjetas se grababan en cintas magnticas segn su orden dellegada. Para realizar esta tarea, generalmente, se usaba una pequea computadora externa al sistema,dedicada y de bajo costo, cuya nica funcin era leer tarjetas y grabarlas en una Cinta. As naci elconcepto de dispositivo per ifri co .El esquema de un batch sera:

    Cinta CintaTrabajo(Job)Tarjeta

    Grabacin delos Job en Cinta Entrada Salida

    Procesamientodel conjuntode Trabajos

    Proces o deimpre sin de

    los Resultados

    Listados

    FIG. 1.15 Pasos o se cuencias en un sis tem a Batch

    Despus de la grabacin, la cinta era ntegramente leda por la computadora principal, para luego ser

    procesados los trabajos de a uno por vez, y una vez que el trabajo era terminado, todos sus resultados segrababan en una cinta, la cual era leda por otra computadora pequea especializada llamada impresorade lnea que generaba los listados de los resultados.El usar un computador pequea, adems de la principal, permita que durante la ejecucin de un batchen la computadora principal, el operador pudiera utilizar la computadora pequea para imprimir la salidade un batch anterior y ejecutar la grabacin de entrada del batch siguiente.De esta manera tanto la computadora principal como los dispositivos de E/S estaban ocupados elmximo tiempo lo que haca posible la disminucin de las demoras de la computadora principal al norealizar las E/S lenta y estas trabajar en paralelo superponindose en el tiempo las actividades deentrada y las de salida.Colocando un solo trabajo por cinta se lograba un bajsimo rendimiento del procesador (menor a 10 %).Esto se debe a que el montaje y desmontaje se realizaba por el operador. Entonces se decidi colocarms trabajos por cada cinta. Esto mejor el rendimiento llevndolo al 30 %. Para calcular el rendimiento

    se utilizaban las siguientes frmulas:

    TRB (tiem po de respue sta de l batch) = tiem po de montaje del batch + tiempo de e jecucin del Batch

    tambin se podra expresar:

    donde:

    tiempo de montaje del batchTRB (tiem po de respuesta de l batch) =

    1 - (Utiliza cin del Procesador)

    UP =TRB (tiempo de respuesta del batch)

    TEB ( tiem po de ejecucin del batch)

  • 7/25/2019 NSO Modulo 1

    21/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 21El objetivo era lograr el mximo de rendimiento del procesador. Hoy da aun se utiliza el concepto debatch para el procesamiento secuencial de ciertas aplicaciones.

    b) SISTEMA "SPOOLING"

    Para una operacin exitosa de un sistema de multiprogramacin deben tenerse en cuenta dos factores:1) Diversidad de trabajos.2) Disponibilidad de suficientes perifricos.El primer factor, la diversidad de trabajos, es necesario para poder superponer las E/S adecuadamentecon el uso de la CPU, y debe haber una cantidad suficiente de perifricos para que los distintosprogramas puedan operar simultneamente. Por ejemplo, si se dispone de una sola impresora, y todoslos programas requieren de salida impresa, les ser imposible a los mismos acceder al dispositivosimultneamente.Un programa desarrollado en Inglaterra por la firma ICL, trata de resolver este problema, de modo tal quecada programa no solicite la impresora hasta que tenga algo para imprimir. Esta solucin no fuesatisfactoria, ya que las salidas de los distintos programas aparecan mezcladas en la impresin.Surgi as una forma muy popular de operar, que se di en llamar Operac in sim ultnea de

    perifrico s en Lnea en ing ls " Simultan eus Periphe rical Operatio n On Line" o Spoo ling .Este sistema de operacin simultnea de perifricos constaba de cuatro mdulos o unidades:1) El prog rama ejecut ivoque organizaba la multiprogramacin de los dems componentes.2) El mdulo de entradaque lea los trabajos de la lectora de tarjetas y los grababa en el disco.3) El mdulo de sal ida, que lea los trabajos del disco y los depositaba en la impresora de lnea.4) Elmo dulo de secuencia de trabajo, que llamaba a los computadores, programas, etc..Otra significativa innovacin de sta poca fue la utilizacin de grandes memorias secundarias, lo quefacilit el desarrollo de los sistemas de spooling.Un sistema de spooling puede esquematizarse como se observa en la Fig. 1.16.

    Trabajo(Job)Grabacin de

    los Job en Disco

    (Mdulo de Entrada)

    Procesamientodel conjunto de

    Trabajos (bajo el

    Lectora deTarjetas

    SalidaProceso de

    Listados

    Programa Ordenador)

    Programa del Usuario

    Grabacin de lasSalidas en Disco(Mdulo de Salida)

    Disco

    Disco

    Figura. 1.16 Mdulos en el procesamiento SPOOLING

    Hoy da se utiliza este concepto en un sistema operativo como un mdulo llamado spooler que se ocupade administrar todas las impresiones y en algunos casos la captura de datos de entrada.

    c) SISTEMAS INTERACTIVOS.

    En el sistema interact ivo, el computador es capaz de generar una respuesta inmediata ante unaacin o solicitud externa. Por consiguiente, la relacin entre el usuario y la mquina es interactiva. Esmultiprogramado.

    Al introducir una orden, como por ejemplo a travs del teclado, la computadora la ejecuta entregando elresultado inmediatamente. Cuando el usuario necesita mantener un dilogo constante con la mquina,por ejemplo, para recibir respuestas a requerimientos o consultas que se efectan al computador, sedebe optar por este tipo de sistema. La expresin "inmediato" debe entenderse que la computadorasatisface los requerimientos de los usuarios a la velocidad del ser humano que es lenta comparada con lavelocidad que procesa la computadora.

  • 7/25/2019 NSO Modulo 1

    22/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 22Una misma computadora puede responder a varios usuarios en pocos segundos cuando el tiempo deprocesamiento de cada solicitud es muy corto y el dilogo se limita por el tiempo que requiere el usuariopara pensar o actuar.El tiempo de procesador que se requiere para atender cada transaccin desde una terminal es del ordende los milisegundos y su organizacin no puede depender de estimaciones previstas por el usuario.

    Esto obliga al administrador de Trabajos del S.O. a entregar el procesador durante breves intervalos detiempo, de longitud fija a un grupo de usuarios que estn usando el equipo, Esta regla llamada RoundRobin asigna el tiempo de procesador en rebanadas. Estas porciones de tiempo reciben el nombre deTime Slice o Quantum . A cada trabajo se le asigna un time slice fijo, y, si no se completa duranteese intervalo, el trabajo es interrumpido y retorna a la cola de trabajos en espera del procesador. Lostrabajos que van llegando tambin se incorporan a la cola. Este tipo de sistema puede trabajar tanto entiempo real como en tiempo diferido.Trabajar en t iempo real significa que el computador responde a la velocidad en que se produce elfenmeno (Velocidad de respuesta en el tiempo que sea necesario, generalmente es a la velocidad delser humano o en su escala de tiempos).

    S I S T E M A O P E R A T I V O

    S I S T E M A d e C M P U T O

    C o n m u t a c i n d e t i e m p o

    FIGURA 1.17 Esquema de un sistema de tiempo compartido

    Trabajar en t iempo diferidosignifica que el usuario enva su programa o datos en forma remota y a partirde ese momento el programa queda fuera del control de usuario, y se ejecutar en algn instanteposterior.Si el programa ingresa en tiempo diferido, el S.O. lo identifica y procede a organizar su lista deprogramas a ejecutar, en el cual se agrega la prioridad que le corresponde entre todos los programas quetambin trabajan en tiempo diferido.Si la computadora trabaja en tiempo real y hay recursos disponibles para ejecutar otros trabajos y en lacola hay jobs diferidos, el S.O. puede proceder a ejecutar el trabajo ms prioritario de los diferidossimultneamente con los de tiempo real dado que hay disponibilidad de recursos.Si en el momento en que se ejecuta un trabajo en tiempo diferido, se presenta un trabajo en tiempo real,el que se estaba ejecutando es detenido para que se comience a ejecutar el de tiempo real. En ste casono haba demanda de ejecucin en tiempo real. Este ltimo siempre tiene mxima prioridad.

    Si no hay recursos, los trabajos van engrosando la cola de programas a la espera de su ejecucin.

    d) SISTEMAS DISTRIBUIDOS

    Se dio en llamar procesamiento centralizado al sistema de procesamiento de datos en que todas lasfunciones de procesamiento estn centralizados en una CPU y un S.O. y en cambio, procesamientodistribuido al Sistema de procesamiento descentralizado de datos que se ejecutan en nodos dispersosgeogrficamente interconectados mediante una red y que utiliza una funcin de comunicaciones para latransferencia de datos o programas.El procesamiento distribuido se caracteriza por realizar un procesamiento cooperativo entre distintasmquinas y en particular est caracterizado por:1. Fragmentar los elementos que componen una aplicacin sobre dos o ms sistemas interconectados,

    de igual o diferente arquitectura operativa.

  • 7/25/2019 NSO Modulo 1

    23/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 232. Los recursos de los sistemas cooperantes se controlan y administran en forma independiente3. La relacin entre ambos sistemas puede tomar diferentes formas. Por ejemplo: Client - Server es un modelo de procesamiento distribuido caracterizado en que uno de los sistemas

    cooperante asume el rol de cl iente para solicitar un servicio especfico a un proceso servidor. Peer to Peer es otro modelo en que cada nodo es igual a otro (cada uno es un par del otro). Cada

    uno ofrece los mismos servicios.El objetivo bsico es buscar un procesamiento rpido en paralelo y de este modo incrementar laeficiencia para lograr un mayor rendimiento general del sistema.

    e) TENDENCIAS.

    De lo dicho podemos extraer de la historia retrospectiva, que inicialmente el hardware era sencillo,aislado, simple, cada individuo poda emplear en forma exclusiva al Sistema y como se fueronpresentando algunos problemas de organizacin, se produjo un gran avance tecnolgico desde eseestado al de los grandes Sistemas, con complejas organizaciones de multiprogramacin,multiprocesadores, sistemas de memoria virtual, etc. para luego, con el advenimiento de los chips y losmicroprocesadores pasar a sistemas econmicos actuales como se las Computadoras Personales (PC) y

    estaciones de trabajos conectadas en redes como servidores.Las tendencias se pueden resumir en: de un usuario, a varios usuarios sobre un mismo Sistema o sistemas distribuidos. de usuarios aislados, a usuarios que comparten y cooperan entre s. de una operacin secuencial en Batch a la multiprogramacin y al tiempo compartido. De un procesamiento centralizado a un procesamiento distribuido basado en las comunicaciones. De un sistema de procesamiento en redes locales a grandes redes del tipo Grids De un servidor a un conjunto de servidores en paralelo (Clusters) tanto en el hardware como en el software, presentan un aumento en el paralelismo y concurrencia de

    ejecucin. y, muy importante, una tendencia de la administracin de recursos simples a complejos no fsicos.

    1.3 Caractersticas necesarias en el HARDWARE:1.3.1 Elementos de proteccin:

    a) Necesidad de proteccin en el sistema operativo.b) Juego de Instrucciones diferenciadas del Procesador.c) Modo dual de ejecucin del procesador

    1.3.1. Elementos de proteccin:

    a) Necesidad de protecc in en el Sistema Operativo.

    El sistema operativo debe ofrecer mecanismos que permitan proteger el hardware, restringiendo

    tanto a usuarios como a aplicaciones de realizar ciertas operaciones que podran afectar la estabilidaddel sistema, la integridad y la disponibilidad de la informacin.

    Los mecanismos de proteccin del hardware que ofrece el sistema operativo no pueden asegurarla integridad fsica de los dispositivos, es decir, no se puede evitar que se daen los equipos porintervencin del ser humano pero s puede evitarse que se dae la informacin contenida en lossistemas por uso incorrecto de los mismos.

    Con esto podemos concluir que, si bien no se ofrece un mecanismo de proteccin fsica queasegure la integridad de los equipos utilizados, el sistema operativo ofrece mecanismos de proteccinque aseguran el cumplimiento de los siguientes principios bsicos de la seguridad:

    Integridad Disponibilidad Acceso controlado

  • 7/25/2019 NSO Modulo 1

    24/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 24Es por esto que puede decirse que el sistema operativo es la base de la seguridad de cualquier

    sistema aplicativo. Tanto es as, que, segn principios bsicos de la revisin y auditoria de sistemas, unaincorrecta configuracin de los accesos y permisos en el sistema operativo implican que no se podrconfiar en la informacin almacenada en los sistemas, salvo que se puedan realizar pruebas quedemuestren que la aplicacin brinda un adecuado nivel de proteccin.

    Es an ms importante el soporte que brinda el sistema operativo en funciones especficas comoel acceso a recursos. Entre las funciones bsicas de todos los sistemas operativos actuales se encuentrala autenticacin, que permite asegurar que un usuario tiene ciertas autorizaciones y que es quin diceser.

    En resumen, la primera barrera de seguridad para el acceso a la informacin almacenada en uncomputador es el sistema operativo, que brinda mecanismos bsicos de proteccin del hardware y de lainformacin almacenada.

    El fabricante del procesador tambin prev elementos de seguridad como ser un juego deinstrucciones diferenciadas y un modo de ejecucin para que el S.O. pueda cumplir con la funcin deproteccin.

    b) Juego d e Ins truccion es di ferenciadas del Procesador

    Los fabricantes de procesadores deben incorporar en sus diseos, una interfase basada en unjuego de instrucciones (instruction set), las cuales permitirn ejecutar cualquier software sobre eseprocesador. Este repertorio de instrucciones se dividirn en dos tipos: instrucciones privilegiadas(tambin llamadas Kernel), que el fabricante destina para la ejecucin del Sistema Operativo y que noadmiten ser interrumpidas durante su ejecucin y otro grupo destinadas a los programas comunes o delusuario, que admiten ser interrumpidas en su secuencia de ejecucin. Este conjunto de instrucciones sedisean especialmente para que el hardware de ejecucin brinde una alta eficiencia en el procesamiento

    Las instrucciones privilegiadas o reservadas son slo utilizables por el sistema operativo, y sedefinen generalmente en base a como estn definidos los dos modos de funcionamiento del procesadorantes mencionados.

    El funcionamiento asincrnico de los canales de E/S; y la CPU fue una de las primeras formas de

    procesamiento mltiple, es decir, el funcionamiento simultneo de dos o ms procesadores vinculadoscon una misma memoria.

    Muchas veces, el conjunto de instrucciones de E/S (utilizaremos las siglas E/S como sinnimo deEntrada-Salida), son completamente independiente de las ejecutadas por la CPU, y pueden serrealizadas asincrnicamente (simultneamente), mientras la CPU se ocupa de otra tarea. Para ellocualquier procesador (Microprocesador o CPU), trae en su juego de instrucciones ( instruction set), los dostipos antes mencionadas: instrucciones privilegiadas reservadas para el Sistema Operativo eins t rucc iones comunes u ordinar iasdestinadas para el usuario.

    Usuarios o Aplicaciones

    Nivel S.O. Nivel 3

    Lenguaje de M q. Nivel 2

    M icroprograma Nivel 1

    (Seales HW ) Nivel 0

    Fig. 1.18 Niveles de instrucciones

    Privilegiado, supervisor, monitoro Kernel (modo de trabajo del S.O.)

    El S.O. ejecuta sin interrupcin.

    Acceso a todos los recursos (toda el rea de memoria es direccionable en este modo sin

  • 7/25/2019 NSO Modulo 1

    25/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 25restricciones)

    En el Nivel 3 coexisten los dos tipos de Instrucciones:

    1. Privilegiadas o del S.O. (Supervisor, monitor o Kernel): Modifican el Estado delProcesador, operan los Procesadores de E/S, Modifican la Proteccin del rea de MemoriaCentral, etc.

    Ocurren en los siguientes casos:1) Cambio de Modo de ejecucin del procesador: Usuario a Kernel2) Llamadas al sistema para un servicio requerido por el programa que se est

    ejecutando (System Call).3) Cuando ocurre una Interrupcin por algn evento en el sistema.4) Cuando ejecuta el S.O.5) Cuando se produce un error en la ejecucin.

    Programa Usuario

    Sistema Operativo (Actacomo Interpretadorde solicitudes de servicios)

    Lenguaje de Mquina

    Fig. 1.19 Instrucciones con intervencin del S.O. (SYSCALL)

    2. Ordinarias o del Usuario (Comunes): No puede ejecutar las Instrucciones Privilegiadas (lointercepta el S.O.), y solo ejecuta la secuencia de instrucciones del usuario. Lascaractersticas de este modo de funcionamiento son:

    1) Ejecuta un programa usuario.2) Puede ser interrumpido.

    3) Acceso restringido a recursos e instrucciones del procesador.4) Ejemplo: Instrucciones Aritmticas, Lgicas, de Corrimientos, etc.

    Programa del Usuario Ej.:Aritmticas

    Sistema Operativo

    Lenguaje de Mquina

    Fig. 1.20 Instrucciones sin intervencin del S.O. (Usuario)

    c) Modo dual de ejecucin del procesador.La segunda caracterstica que debe incorporarse al procesador es su modo de funcionamiento,

    que est ntimamente relacionado con el repertorio de instrucciones.

    El modo de funcionamiento dual o sea en dos estados. Uno privilegiado o modo Kernel, en queejecuta instrucciones del S.O. y el otro modo usuario en que ejecuta instrucciones comunes.

    El Hardware detecta muchos de los errores ocasionados por los programas que estnejecutndose y normalmente son tratados por el S.O. como un servicio de interrupciones, pero no todoslos errores estn previstos, adems depende de la modalidad del procesamiento: si es por lotes (Batch),o interactivo.

  • 7/25/2019 NSO Modulo 1

    26/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 26

    MENSAJE de ERROR

    (se vuelca el contenidode la memoria del prog.)

    SIES:

    SISTEMA POR LOTES

    -El vuelco de memoria se

    imprime en papl-El usuario busca y encuentra

    el error examinando la impresin-No se reinicia la ejecucin

    -El volcado se graba en un archivoSISTEMA INTERACTIVO

    -El usuario puede imprimirlo oexaminarlo directamente y quizcorregir y reiniciar el programa

    EL HARDWAREDETECT

    UN ERRORDEPROGRAMACI N

    HARDWAREDIRIGE UNA

    INTERRUPCINAL S.O.

    SE TRANSFIEREEL CONTROL AL

    S.O.(a travs delVector de

    Interrupciones)

    TERMINAR

    ANORMALMENTE

    DEBEEL S. O.

    EL PROCESO

    Fig. 1.21 Secuencia de un error tratado por el S.O. de un mainframe

    De esta forma se logr proteger al S.O. de violaciones cometidas por los usuarios y tambin seprotegi a los usuarios entre ellos mismos, simplemente clasificando como instrucciones privilegiadas,aquellos que solo pueden ejecutarse en modo Kernel, como ser las instrucciones que pueden causaralgn dao si son mal utilizadas por los programas de los usuarios (Por ejemplo: un direccionamiento areas de memoria central no autorizadas).

    Decamos que este sistema es insuficiente para asegurar que:- se de tec te n todos los e r ro res-p ro tege r a l S .O .-p ro tege r a los dem s p rog ram as y da tos ;-p ro tege r cua lq u ie r rec u rso com par tido .

    E S T R A T E G I AA P O Y O D E H A R D W A R E Q U E D IS T IN G U E E N T R E M O D O S D E

    U S U A R IO Y K E R N E L : S E A A D E U N B I T D E M O D O

    01

    B IT D E M O D O

    m o d o K e r n el

    m o d o u s u a r io Fig. 1.22. Estrategias en el modo de ejecucin del hardware

    Debido a stos problemas se disearon instrucciones privilegiadas para los siguientes casos:

    instrucciones de Entrada - Salida; instrucciones para modificar registros de administracin de memoria y cronmetro; instrucciones HALT (parada): el programa usuario no podr obtener computador; instrucciones para activar y desactivar el sistema de interrupciones: ya que el funcionamiento

    adecuado del cronmetro y las Entradas - Salidas dependen de la capacidad de respondercorrectamente a interrupciones;

    instrucciones para cambiar de modo usuario a privilegiado; instrucciones para modificar el bit de modo del procesador, etc.

    Es importante aclarar que el S.O. MS-DOS que se escribi para Intel 8088, no tiene bit de modo,tampoco posee modo dual. Si un programa pierde el control puede destruir al S.O. escribiendodatos encima de l. Varios programas pueden escribir en un dispositivo al mismo tiempo, conresultados desastrosos. Recin en los procesadores posteriores al 80286 Intel incorpor la

    posibilidad del procesamiento dual.

  • 7/25/2019 NSO Modulo 1

    27/96

    Notas sobre Sistemas Operativos Mdulo 1-INTRODUCCIN A LOS SISTEMAS OPERATIVO 27

    D e s p u s d e c a m b i a r e l m o d o s e e je c u t a la r u ti n a ll a m a d a d e l S . O . y lu e g o s ev u e l v e a c a m b i a r d e e s t a d o y s e s i g u e e j e c u t a n d o e l p r o g ra m a i n t e r ru m p i d o

    F l u jo d e l p r o g r a m a ( m o d o u s e r )

    S y s te m C a l l

    C A M B I O D E C O N T E X T O D E E J E C U C IO N .

    C a m b ia e s t a d o d e l p r o c e s a d o r . E j e c u t a u n a r u t in a d e l S . O . ( m o d o P r i v i l e g i a d o )

    E x i t to u s e r ( ca m b i a e l e s t a d o ) d eP r i v il e g i a d o a U s u a r i o )

    C A M B IO D E C O N T E X T O D E E J E C U C IO N .

    E l p ro g r a m a s i g u e s u e j e c u c i n ( m o d o u s e r )

    S . O .

    Fig. 1.23 Cambio de contexto en el modo de ejecucin

    La interaccin la realiza el programa en ejecucin con el sistema operativo sin intervencin delusuario lo hace mediante las llamadas al sistema. Cuando se realiza un System Call(usaremos lostrminos System Call, SYSCALL o Llamadas al Sistema, como equivalentes), se cambia el "modo" oestado del procesador de acuerdo a que tipo de instrucciones est ejecutando.

    1.3.2. Gestin de Eventos y Entrada Salida:a) Interrupcionesb) Canales D.M.A. (