+ All Categories
Home > Documents > UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la...

UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la...

Date post: 31-Jan-2018
Category:
Upload: dangthu
View: 218 times
Download: 0 times
Share this document with a friend
33
UNIVERSIDAD ESTATAL DE BOLÍVAR FACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICAS Ó Ó Í CONOCIMIENTOS BASICOS DE UN PC. CONOCIMIENTOS BASICOS DE UN PC. INFORMATICA INFORMATICA Es un conjunto de métodos y técnicas aplicadas al tratamiento de la información automatizada. El objetivo de la Informática es: Organización  Almacenamiento Transformación Transmisión COMPUTACION Es el conocimiento de diferentes programas y aplicaciones que presta el computador para su manejo. Además es el campo de acción de la Informática. HARDWARE Es la parte tangible del computador, es decir es la parte física que se puede ver tocar y palpar con nuestras manos. S O F T W A R E S O F T W A R E Es la parte lógica del Pc, es decir son todos los programas. EVOLUCION DEL SOFTWARE EVOLUCION DEL SOFTWARE ETAPAS DE LA EVOLUCION  DEL SOFTWARE 1955-1965 1965 -  1975 1975 -  1985 1985-1995 Programación a cualquier modo Programación a pequeña escala Programación a gran escala Programación orientada  a Objetos Programas Pequeños Orientación por lotes  Multiprogramación Tiempo Real Crisis del Software Procesamiento Tecnología orientada a objetos Conforme nos movemos 
Transcript
Page 1: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

CONOCIMIENTOS BASICOS DE UN PC.CONOCIMIENTOS BASICOS DE UN PC.

INFORMATICA INFORMATICA 

Es un conjunto de métodos y técnicas aplicadas al tratamiento de la información automatizada.

El objetivo de la Informática es:

Organización 

Almacenamiento

Transformación

Transmisión

COMPUTACION

Es  el   conocimiento  de  diferentes  programas   y   aplicaciones  que  presta   el   computador  para   su manejo. Además es el campo de acción de la Informática.

HARDWARE

Es la parte tangible del computador, es decir es la parte física que se puede ver tocar y palpar con nuestras manos. 

S O F T W A R ES O F T W A R E

Es la parte lógica del Pc, es decir son todos los programas.

EVOLUCION DEL SOFTWAREEVOLUCION DEL SOFTWARE

ETAPAS DE LA EVOLUCION  DEL SOFTWARE

1955­1965 1965 ­  1975 1975 ­  1985 1985­1995

Programación a cualquier modo

Programación a pequeña escala

Programación a gran escala

Programación orientada  a Objetos

Programas Pequeños

Orientación por lotes

 Multiprogramación

Tiempo Real

Crisis del Software

Procesamiento 

Tecnología orientada a objetos

Conforme nos movemos 

Page 2: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

Se realizaba sin planificación

Distribución limitada

Software a medida

No  documentación

Base de Datos

Software como producto

Actividades de Mantenimiento

Mantenimiento costoso

Distribuido

Redes de Area Local y Global

Costo Bajo de Pcs

Generación de microprocesadores

Venta de centenares de copias de Software

en esta era continúan creciendo los problemas 

de Software por computadora

Hardware desplaza al software

La capacidad de dar mantenimiento 

amenazada

La capacidad de Construir software no 

explota todo el potencial del Hardware disponible

TIPOS DE SOFTWARE

Los tipos de software se pueden clasificar en tres grandes áreas:

Software de Sistema

Es   el   que   se   encarga   de   gobernar   la   computadora.   Tiene   dos   grandes   funciones   claramente diferenciadas:

La  primera  de   ellas   es   la  de   facilitar   al  usuario   la  manipulación  de  la   computadora, mediante una serie de instrucciones denominados  comandos.  Si se quiere, por ejemplo, leer un disco, no hay que indicar a la computadora que encienda el motor de la disquetera y que vaya a la pista 23 del disco para buscar la información, sino que, a través de un comando de lectura en disco, es el software de sistema el que se encarga de todas estas operaciones sin que el usuario se de cuenta.

También se  encarga  de  gestionar  los  recursos  (memoria,   espacio  en  disco,  etc.)  de   la computadora, de forma que se mejore su explotación. Esto quiere decir que será el software de sistema el que tome decisiones sobre qué programa se ejecutará, dónde se grabarán los datos o quién usará   la  impresora y en qué  momento, etc.,  siempre con la intención de mejorar el uso de esos recursos.

La  parte  más   importante  dentro  de  esta   clase  de   software   es   el  Sistema  Operativo,  verdadero centinela y patrón de la computadora.

Page 3: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

Software de Desarrollo

Esta categoría abarca el software que permite construir software. Puesto que son un conjunto de herramientas que traducen, detectan errores, optimizan, etc., los programas escritos por el usuario al lenguaje de las computadoras.

Software de Aplicaciones

Dentro  de  esta   categoría   se   incluye   todo  aquel   software  que  permite  editar   gráficos   y   textos, manejar una base de datos, llevar el control de la facturación o la contabilidad de una empresa, etc. Generalmente, estos son los programas mas empleados por los usuarios, ya que resuelven muchas de sus necesidades. Los grupos más representativos dentro esta área son: Software de Ofimática: Son  aquellos programas que son útiles dentro de una oficina, como 

Editores de Texto, Hojas de Calculo y pequeños gestores de Bases de Datos. Software de Edición; y Diseño Gráfico: Este es un software orientado a la creación y edición de 

gráficos. El más representativo de este software es el CAD (“ Diseño Asistido por Computadora), herramienta de arquitectura e ingeniería que sustituye la mesa de dibujo por la pantalla de la computadora.

Software de Gestión Empresarial: Software para la mecanización de procesos de facturación, de gestión de nóminas, de gestión de almacenes, de planificación de recursos y de estimación y control de proyectos.

Software de Ingeniería  y  Ciencias:  En este grupo se clasifican los programas que modelan procesos de Ingeniería y Ciencias. Por ejemplo, programas de cálculo de Estructuras para la ingeniería civil, de modelización del clima, etc.

EL SISTEMA OPERATIVOEL SISTEMA OPERATIVO

1.0 Introducción

El Sistema operativo esta formado por un conjunto de programas que se instala en la memoria de una   computadora   al   momento   del   arranque   y   que   tienen   como   función   la   interpretación   y codificación de las órdenes básicas dadas por el usuario. Además, sirve como plataforma para que otros programas como los procesadores de texto, los graficadores y las hojas de calculo, entre otros, utilicen el hardware disponible de la manera adecuada.

El funcionamiento, y sobre todo la eficiencia del hardware de cualquier computadora, esta unido estrechamente a su sistema operativo. Podríamos tener la mejor computadora del mercado y sería completamente    inútil   si  no tiene un sistema operativo que permita  utilizar eficientemente sus recursos.

El Sistema Operativo realiza una conexión entre el hardware (componentes de la computadora) y el software (programas de aplicación). Esta hace posible que la estructura en la cual se desempeñan los diferentes programas sea uniforme. 

La estandarización de las funciones del hardware es el problema mas grande en el desarrollo de los 

Page 4: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

sistemas operativos. La evolución de las computadoras exige que el sistema operativo actualice su versión de manejo  constantemente.  Existe  a  la   fecha gran variedad de sistemas operativos  con distintos   recursos  dependiendo  de   la   aplicación para   la   cual   fueron  diseñados.  A   través  de   la historia de los sistemas Operativos, que en sus inicios fue marcada por la competencia entre dos compañías como Microsoft y Digital Research, hemos visto gran cantidad de versiones que se han creado de acuerdo al desarrollo de las nuevas tecnologías de hardware.

Es difícil determinar el futuro de los sistemas operativos considerando la tendencia continua en el desarrollo del hardware y las exigencias crecientes de los programas de aplicación. Por esto, el futuro del DOS, uno de los sistemas operativos más utilizados en el ámbito mundial, no parece prometedor. El anuncio de Microsoft de terminar con el desarrollo del MS­DOS con la versión 6.22 revela   también   esta   tendencia   Sin   embargo,   muchos   programas   del   DOS   deberán   continuar funcionando  incluidos en  los  nuevos  sistemas operativos.  Es  el  caso,   sobre  todo,  de  los   juegos avanzados que aprovechan un tipo especial de funcionamiento logrado solo en DOS. Por esta razón, los nuevos sistemas operativos presentan un grado de compatibilidad con DOS, para asegurar a los usuarios que puedan ejecutar las aplicaciones que exigen el uso de este sistema Operativo.

1.1 QUE ES UN SISTEMA OPERATIVO

El sistema operativo, es el conjunto de programas que ejercen el control principal en el equipo de computo. Este software le indica al microprocesador la manera en que debe utilizar los elementos periféricos y cómo administrar los archivos, a la vez se constituye en la plataforma sobre la que se ejecutan todos los programas de aplicación y brinda al usuario el medio de comunicación de la maquina.

Cuando se ejecuta el sistema operativo desempeña las siguientes funciones básicas:

Proporciona una interface hombre – maquina.  Administrar los dispositivos de hardware (teclado, unidades

de disco, monitor, etc.) Administra los sistemas de archivos en disco. Apoyar en diversas funciones a los programas de aplicación.

1.2 EVOLUCION DE LOS SISTEMAS OPERATICOS1.2 EVOLUCION DE LOS SISTEMAS OPERATICOS

A   lo   largo   de   los   años   los   sistemas   operativos   han   venido   experimentando   una   evolución considerable, dado que históricamente los sistemas operativos han sido muy dependientes de la arquitectura de las computadoras.  El esquema  de las generaciones del S.O  a las generaciones de la computadoras  ofrece una gran estructura de evolución y es así :La primera computadora  digital fue diseñada por el matemático inglés Charles Babbage ( 1972 ­ 1871 ) a pesar de ser una máquina analítica nunca funciono adecuadamente por que era un diseño puramente mecánico, esta máquina analítica no tuvo un sistema operativo.

PRIMERA GENERACIÓN (1945 –1955)

La característica principal de esta generación  consistía en el hecho que las computadoras empleaba 

Page 5: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

como componentes básicos los TUBOS AL VACIO   y paneles de Conexión.   Su volumen precio y coste   de mantenimiento los hacían asequibles   sólo a grandes empresas y organismos estatales hasta este entonces el sistema operativo era extraño. La programación de las maquinas  se hizo en un principio, directamente en código binario pero no se tardaron en aparecer los primeros programas ensambladores.La aparición del primer lenguaje llamado de alto  nivel era el FORTRAN, en 1956, destinado a usos científicos, pues  constituyo una autentica revolución.Al inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas Perforadas, lo que hizo posible escribir programas en tarjetas y leerlos.

LA SEGUNDA GENERACIÓN  ( 1955 ­ 1965 ) Se caracterizo con la incorporación del transistor en las computadoras como elemento fundamental lo que permitió reducir el coste y aumentar la fiabilidad y rapidez de las máquinas. Es obvio que estos cambios pusieron las computadoras al alcance de nuevos sectores de usuarios.Fue   durante   esta   generación   cuando   se  desarrollaron   los   lenguajes   de     programación   COBOL (1960) dedicado a aplicaciones comerciales; el LISP (1959), que intereso principalmente  a quienes trabajan en inteligencia Artificial, y el BASIC (1964), pensando en principio para la enseñanza, pero que se convertiría en el lenguaje de estándar  de las microcomputadoras.La introducción de datos sé hacia por tarjetas perforadas  y se emplearon dispositivos magnéticos de almacenamiento externo, como cintas y discos, pero este proceso era demasiado tardado, y  así que para aumentar la eficiencia y reducir el tiempo perdido la solución era utilizar el Sistema de Procesamiento por lotes. La idea implícita en este sistema era llenar una casilla  de trabajos  de la sala  de  entradas    y   transferirlos  a  una  cinta  magnética  mediante  el  uso  de  una  computadora pequeña y poco costosa como IBM 1401, que era muy eficiente en la  lectura de tarjetas,  en el copiado de cintas y en la impresión de salida, pero no eficiente en los cálculos numéricos. Otras máquinas mucho más costosas como IBM 7094 se utilizaron para hacer cálculos reales.Las  grandes computadoras  de  la  2da generación se utilizaban en su mayor parte para realizar cálculos   científicos   y  de   Ingeniería,   como   la   solución   de  ecuaciones  diferenciales  parciales.   se programaba  principalmente   en  FORTRAN   y   en   lenguaje   ensamblador.   Los   sistemas  operativos comunes eran FMS ( El sistema monitor del Fortran ) e IBSYS, sistema operativo de IBM de la 7094 LA TERCERA GENERACIÓN ( 1965 ­ 1980 ) Vino     marcada   por   la   disminución   del   tamaño   del   medio     de   las   computadoras.   El   empleo generalizado de los circuitos integrados permitió una nueva disminución de volumen  y de costo y también aumento la rapidez de funcionamiento de las grandes computadoras.Al inicio de la década de 1960 muchos fabricantes de computadoras tenían dos líneas de productos distintas y totalmente incompatibles. Por un lado existían las computadoras científicas de grandes escalas orientadas  a las palabras, como la 7094 que se utilizaba para realizar cálculos numéricos de ciencia e ingeniería. Por otro lado estaban las computadoras orientadas a los caracteres, como la 1401,  que se utilizaba ampliamente para el  ordenamiento de cintas de impresión por parte de Bancos y companias.IBM   intento   resolver   estos   dos   problemas   de   un   solo   golpe   introduciendo   en   el   mercado   el sistema/360 la cual 360 fue la primera línea de computadora que utilizo circuitos integrados   de pequeña escala lo cual ofreció una mayor ventaja de precio/ rendimiento sobre las máquinas de la 2da Generación.El punto fuerte del concepto de " Una sola familia" era a la vez su punto débil. La intención era que 

Page 6: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

todo el software, como el sistema operativo, tenían que funcionar en todos los modelos.No había manera de que IBM o cualquier otra compania escribiera una pieza de software que cumpliera una serie de requisitos conflictivos. El resultado de esto fue un Sistema Operativo enorme y   extraordinariamente   complejo,   quizá   de   dos   a   tres   ordenes   de   magnitud   mayor   que   FMS, Constaba de millones de líneas de lenguaje ensamblador escrita por miles de programadores, y contenían miles y miles de errores ocultos, que necesitaba un flujo continuo de nuevas liberaciones en un intento por corregirlos. 

Más tarde se diseño el OS/360,( Fred Broks) que a pesar  de su tamaño mounstruoso y de todos sus problemas. Satisfizo a sus clientes. También popularizaron varias técnicas importantes ausentes en los sistemas operativos de la 2da Generación. Probablemente la más importante de estas era la multiprogramación que permitía la posibilidad de realizar varios funciones a vez.Otra característica importante de los S.O era la capacidad de leer trabajos de tarjetas contenidas en el  disco   tan  pronto  como se   llevaban  al   cuarto  de  computación.  Por   lo   tanto   siempre  que   se terminaba un trabajo, el sistema operativo podía cargar un nuevo del disco en la partición no vacía y ejecutarlo. Esta técnica se denominaba  manejo por cola de impresión (spooling),  que es una operación periférica simultanea en línea, y se utilizaba así mismo para la salida.

Aunque   los   S.O   de   la   tercera   generación   se   adaptaban   bien   a   cálculos   científicos   extensos   y ejecuciones masivas de procesamiento de datos comerciales seguían siendo básicamente sistemas de lotes.

La necesidad de tiempos de respuesta más rápidos preparo el camino para los sistemas de Tiempo Compartido, variante de la multiprogramación en el que cada usuario tiene un terminal conectado a  la computadora.  El  primer sistema con esta  filosofía  fue el  CTSS,  aunque esta técnica no se desarrollo hasta que aparecieron los mecanismo de protección de Hardware. Debido al éxito del CTSS. Los laboratorios Bell intentaron desarrollar un nuevo sistema llamado MULTICS(Servicio multiplexado de Información y procesamiento) teniendo muy poco éxito. El crecimiento fenomenal de las minicomputadoras era impresionante durante esta generación  y es así que unos de los científicos de los Laboratorios BELL, Ken Thompson decidió escribir una versión reducida de MULTICS para un solo Usuario. Brian Kerninghan medio  bautizado al sistema como “UNICS”  pero posteriormente se llamaría UNIX.Dennis Ritchie, otro experto de los laboratorios Bell, formo equipo con Thompson para reescribir  el sistema   en   un   lenguaje   de   alto   nivel   llamado   C,   diseñado   e   implementado   por   Ritchie.   Los laboratorios Bell concedieron licencias de UNIX a las Universidades   gratuitamente a pocos años este sistema había cientos de sistemas instalados. UNIX se ha transportado a mas computadoras que ningún otro sistema operativo y su uso continúa extendiéndose.   

LA CUARTA GENERACIÓN  ( 1890 ­ 1995 ).Con la creación de los circuitos integrados ( LSI ), la era de las computadoras personales vio sus inicios.  En términos de arquitectura, las computadoras personales no eran tan diferentes de las minicomputadoras, pero en términos de precio diferían. La vasta diseminación del poder de computo altamente interactivo condujo al desarrollo de una industria importante que producía software. Gran parte de este software era amable al usuario  lo cual fue importante en la intención de aprendizaje.

Page 7: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

Dos sistemas operativos han dominado el mundo de las computadoras personales: El primero el MS­DOS  escrito   por   Microsoft,   Inc,   para   la   IBM   PC   y   otras   máquinas   que   usan   los microprocesadores de la Familia Intel 80xxx; el segundo es  UNIX  ,  que domina el área   de las grandes   computadoras  personales  que   hacen  uso  de   los  microprocesadores   de  Motorola  de   la Familia 68000. La   versión   inicial  de  MS­DOS  era   relativamente  primitiva,   las   versiones   subsiguientes  han   ido incorporando más funciones avanzadas, así la ultima versión (6.22), Las versiones se hacen para aumentar   la   capacidad   del   sistema   Operativo,   para   aprovechar   elementos   del   hardware   mas perfeccionados y para corregir errores. En estos últimos años  existe una lucha feroz entre IBM  y Microsoft  por implantar en el mercado un   sistema   operativo     que   domine   el   mercado;   la   apuesta   de   Microsoft   pasa   por   un   sistema Operativo Windows95 de 32 bits, multitarea y excelentes aplicaciones para conexión en redes de datos, mientras que IBM apuesta por el OS/2 WARP cuya filosofía es idéntica a la de su competidor a excepción del sistema de ficheros, cuyo manejo es más eficiente.   

Un avance importante empezó a tomar  a mediados de la década de 1980 es el desarrollo de redes de   computadoras   personales   que   corren  Sistemas   Operativos   en   red   y   sistemas   operativos distribuidos. 

En un sistema operativo en red,  los usuarios  tienen conocimientos de la existencia de múltiples computadoras y pueden ingresar en máquinas remotas y reproducir archivos de una máquina a otra. Cada máquina ejecuta  su propio sistema operativo local y tiene  su(s) propio(s) usuario(s).En cambio un  sistema operativo distribuido  es aquel que presenta ante sus usuarios como un sistema uniprocesador o monoprocesador. En un sistema distribuido, los usuarios no saben dónde se ejecutan  sus programas, o en qué lugar se encuentran sus ficheros. Los sistemas operativos  de red   no   son   esencialmente   distintos   de   los   sistemas   operativos   monoprocesadores.   Necesitan obviamente,  además  de  un controlador    de  manejo    de   la   red,  programas  para  entrada         a computadoras remotas.Dentro de esta categoría se encuentran sistemas operativos comerciales como Windows NT Server, así como sistemas operativos de red como Novell Netware o Lan Manager.  

QUINTA GENERACIÓN 

Era en la cual estamos viviendo actualmente, se caracteriza por la aparición de un nueva versión del   sistema   operativo   Windows   95   llamado  Windows   98,    aprovecha   las   características revolucionarias de Windows 95, mejorando su rendimiento, la fiabilidad  y la 

facilidad   de   Uso,   pone   a   disposición   del   usuario     la   nueva   gama   de   capacidades   de   uso   del Hardware     y   de   funciones   de   entretenimiento,   incorpora   ayuda   dinámica   para   navegar   en   el Internet.

Actualmente ya se habla de una otra versión el  Windows 2000  como un gran aporte a la nueva tecnología del milenio.

Page 8: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

Grafico.

MS­DOS    WINDOWS95  WINDOWS 98  OS/2 WARP 

   

 

1.3 Conceptos de los sistemas operativos

La interfaz entre el sistema operativo y los programas del usuario se definen como el conjunto de instrucciones  ampliadas que proporciona  el   sistema operativo.  Estas   instrucciones  ampliadas se conocen como llamadas al sistema.

Las llamadas al sistema crean, eliminan y utilizan varios objetos   del software, controlados por el sistema operativo. Los más importantes son los procesos  y archivos.

Procesos

Un proceso básicamente, es un programa en ejecución. Consta del programa ejecutable, sus datos y pila, contador y otros registros, además de toda la información necesaria para ejecutar el programa

Archivos.

Una  de   las   funciones  principales  del  S.O     es  ocultar   las  peculiaridades  de   los  disco   y  demás dispositivos de E/S, para presentar al programador un modelo de archivos independientes de los dispositivos

Con respecto a esta función del sistema operativo debe recordarse que esté organiza la información en   grupos   o  entidades   lógicas  llamadas  archivos,   para   ser   almacenadas   en   un   dispositivo magnético o de otro tipo.  El  sistema de archivo proporciona un método  lógico para organizar, recuperar, manipular y gestionar la información. Los archivos están organizados  es un sistema de archivo jerárquico, agrupados en subdirectorios partiendo de un directorio principal en cada unidad de disco, llamado "directorio raíz". Precisamente por esta característica el sistema operativo, debe ser el encargado de administrar la forma como se almacena y se maneja la información en la com­putadora.

Un ejemplo claro es el límite de ocho caracteres para el nombre del archivo más tres de extensión para indicar su tipo, empleado en los sistemas MS­DOS.

Llamadas al Sistema

Los programas del usuario se comunican con el sistema operativo y le solicitan servicio mediante las llamadas  al   sistema.    A   cada  una  de  estas   llamadas   le   corresponde  un  procedimiento  de   la 

Page 9: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

biblioteca que pueden llamar los programas del usuario.

El número de llamadas al sistema varía según el sistema operativo.

Hay llamadas al sistema para crear procesos, controlar la memoria, leer y escribir y hacer labores de Entrada/salida como por ej.

( Read, Write , printf)etc.

El Shell

El sistema operativo es el código que lleva a cabo las llamadas al sistema. El Shell lee las órdenes y las interpreta como peticiones de ejecución de un programa o programas. Por esta característica se   le denomina  interpretes de órdenes o comandos  en  la  medida que toma el  control  de  la pantalla, traduce las instrucciones escritas del usuario, interpreta la orden digitada y la ejecuta. Esta es, de hecho, la función más visible del Sistema operativo, pues seria imposible que el usuario se comunicara con la computadora en su propio lenguaje.

1.4 ESTRUCTURA DEL SISTEMA OPERATIVO

Para controlar todas las tareas de la computadora es necesario dotar al sistema operativo de una estructura que permita organizar las funciones que tiene que realizar.

En los primeros sistemas operativos se utilizaba una arquitectura monolítica, es decir un conjunto de procedimientos donde cada uno de ellos puede llamar a los demás cuando quiera. 

Esto conduce a un programa donde se tiene un proceso principal que utiliza una serie de proce­dimientos para resolver el servicio requerido. Estos procedimientos a su vez pueden utilizar otros procedimientos para realizar determinadas funciones. 

A partir  de esta arquitectura, surge otra que organiza el  programa en una jerarquía de niveles donde cada nivel se construye sobre el anterior. THE fue el primer sistema operativo que utilizó en 1968 esta arquitectura. Este sistema de niveles se generalizó con la aparición de MUL­TICS. Éste, en vez de niveles, utilizaba una serie de anillos concéntricos, donde los anillos más internos tenían mas privilegios que los mas externos.

El siguiente avance en diseño fue la incorporación de  multiproceso y tiempo compartido. Así, surge   el   primer   sistema  operativo  de   tiempo   compartido  para   los   IBM 360.  Este   sistema,  de­nominado   al   principio   CP/CMS,   se   conoce   hoy   como   VM/370.   En   el   se   pretendía   separar   la multiprogramación y la idea de disponer de una maquina virtual con una interfaz mas apropiada que la del hardware.

Existe   un   proceso  monitor  que   ejecuta   directamente   sobre   el   hardware   y   se   encarga   de   la multiprogramación.  Esto permite  ofrecer  al  nivel   inmediatamente  superior   la   imagen de  varias 

Page 10: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

maquinas virtuales.

La ultima tendencia es la utilización de arquitecturas modelo cliente ­ servidor donde sé pretende reducir  el  sistema operativo  a  un núcleo  mínimo.  Para ello se   implementan  la  mayoría de  las funciones como procesos de usuario y, para solicitar cualquier servicio (procesos clientes), se envían peticiones al servidor (procesos servidores) que realiza la función pedida y devuelven el resultado.

En este tipo de arquitectura, la única función del núcleo es implementar la comunicación entre clientes y servidores.

2. Los procesos

Esta  parte  de  código  del   sistema operativo   se   carga  de   controlar   la  ejecución de   los  distintos procesos que existen en La computadora. Un proceso es un programa   en ejecución. Consta del programa ejecutable, los datos y la de la pila del programa, su  contador de programa, apuntador de pila y otros registros. En definitiva, toda la información necesaria para ejecutar un programa.

En general un proceso necesita determinado recursos, incluyendo el tiempo de la CPU, memoria, archivos y dispositivos de entrada/salida, para cumplir con su tarea, éstos recursos se proporcionan al crear el proceso, o se le asignan mientras se ejecutan. De momento un proceso es posible proporcionar llamadas al sistema que permitan a los procesos crear sus procesos que se ejecuten concurrentemente, el sistema operativo es responsable de las siguientes actividades relacionadas con los siguientes procesos:• Crear y eliminar los procesos de usuario y del sistema.• Suspender y reanudar la ejecución de los procesos.• Proporcionar mecanismos para la sincronización de procesos• Proporcionar mecanismos para la comunicación de procesos.• Proporcionar mecanismos para el manejo de bloques mutuos.

2.1.1 EL MODELO DE PROCESOS

En este modelo, todo el software ejecutable, inclusive el sistema operativo, se organiza en varios procesos secuenciales. Un proceso es tan solo un programa en ejecución, lo que incluye los valores activos del contador, registro y variables del programa. 

De manera conceptual, cada proceso tiene su propia CPU virtual. La verdadera CPU alterna entre procesos y la velocidad a la que se ejecutan  un proceso no será uniforme  y es probable que no se pueda reproducir si los mismos procesos se ejecutan de nuevo.

Page 11: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

JERARQUIA DE PROCESOS.

Los   sistemas  operativos   el   concepto  de  proceso  deben  ofrecer   cierta   forma  de   crear   todos   los procesos necesarios.  En  la mayoria de los sistemas,  es necesario una forma de crear y destruir procesos cuando se requiera durante la operación.

En  UNIX,   los  procesos  se  crean mediante   la   llamada al   sistema FORK,  el  cual  crea  una copia idéntica del proceso que hace la llamada. Después de la llamada FORK, el padre sigue su ejecución, en paralelo con el hijo. El padre puede dar lugar entonces a más hijos, de forma que en cualquier instante podrían estar varios hijos en ejecución.

En MS­DOS, existe una llamada al sistema  que carga un archivo binario dado en la memoria y lo ejecuta como un proceso hijo. En gcontrasre con UNIX, en MS­DOS esta llamada suspende al padre hasta que  l hijo ha finalizado su ejecución, de forma que el  hijo y el  padre no se ejecutan en paralelo.

ESTADOS DE LOS PROCESOS.

Aunque   cada   proceso   es   una   entidad   independiente,   es   frecuente   que   los   procesos   deban interactuar con otros.

Un proceso puede estar :

En ejecución ( Utiliza la CPU en el instante dado).

Listo (Ejecutable, se detiene en forma temporal para que se ejecute otro proceso).

Figura : A) Multiprogramación de cuatro programas B) Modelo conceptual de cuatro procesos secuenciales independientes C) Sólo un programa activo en un momento dado

DCBA

TiempoM u l t i p r o g r a m a c i ó n

Un contador de Programa Cuatro contadores de programa Procesos

Alternador de procesos

A)

B)

C)

Page 12: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

Bloqueado ( No se puede ejecutar debido a la ocurrencia de algún evento externo).

2.1.2 IMPLANTACION DE LOS PROCESOS

Para   implantar  el  modelo  de   los  procesos,   el   sistema  operativo  utiliza  una   tabla   (  arreglo  de estructuras   ),   llamada  la  tabla  de  procesos  ,   con  un dato  por  proceso.  Este  dato  contiene   la información relativa  al  estado del  proceso,  el  contador  del  programa  ,  el  apuntador  a   la  pila, asignación   de   memoria,   el   estado   de   los   archivos   abiertos,   su   información   de   contabilidad   y planificación, así como todos los datos relativos al proceso que deben guardarse cuando el proceso alterna entre los estados en ejecución y listo de forma que se pueda volver a iniciar más adelante como si nunca se hubiera detenido.

2.2 COMUNICACIÓN ENTRE PROCESOS.

Los procesos requieren con frecuencia la comunicación entre ellos, la cual debe ser estructurada sin utilizar interrupciones.

2.2.1 CONDICIONES DE COMPETENCIA.

La   condición   de   competencia   es   evitar   o   tratar   de   prevenir   que   más   de   un   proceso   de lectura/escritura  esté en  memoria  compartida. 

La clave para evitar los problemas  relacionados con la memoria compartida, archivos compartidos y cualquier otra cosa compartida, es utilizar la exclusión mutua (una forma de garantizar que sí un proceso utiliza una variable  o archivo compartido, los demás procesos no puedan utilizarlos).

..

a b cProg. c

Prog. n

.

.

out =4

in = 7

Directorio Spooler

Proceso B

Proceso A 4

5

6

7

Figura : Dos procesos desean tener acceso a la memoria compartida al mismo tiempo

Page 13: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

En   algunas   ocasiones   un   proceso   puede   tener   acceso   a   la   memoria   compartida   de   archivos realizando labores críticas que puedan llevar conflictos. Esa parte del programa, en la cual se tiene acceso  a la memoria compartida de llama Sección Crítica. Si podemos arreglar las cosas de forma que no ocurra que dos procesos están al mismo tiempo en su sección crítica, podremos evitar las condiciones de competencia.

Para evitar condiciones de competencia debemos tener en cuenta que:

Dos procesos no se deben encontrarse al mismo tiempo dentro de sus secciones críticas.

No se deben hacer hipótesis sobre la velocidad o el número de CPU

Ninguno de los procesos que estén en ejecución fuera de su sección  crítica puede bloquear a otros procesos.

Ningún proceso debe esperar  eternamente para entrar a su sección crítica.

2.2.2 EXCLUSION MUTUA CON ESPERA OCUPADA

En esta sección examinaremos varios métodos para lograr la exclusión mutua, de tal forma que si un proceso está ocupado con la actualización de la memoria compartida en su región crítica, ningún otro proceso entre a su región crítica y provoque problemas

Existen varios métodos para lograr la exclusión mutua:

Desactivación de interrupciones.

La solución es hacer  que cada proceso desactivara todos sus interrupciones justo antes de entrar a la región crítica y los activara de nuevo una vez que saliera de ella. Al desactivar las interrupciones no puede ocurrir una interrupción de reloj . Después de todo, la CPU sólo se activa de proceso en proceso   como   resultado   del   reloj   y   otros   interruptores,   por   lo   que   con   las   interrupciones desactivadas la CPU no alternará con otro proceso. Así, una vez que un proceso ha desactivado las interrupciones,   puede   examinar   la   memoria   compartida,   sin   temer   la   intervención   de   otros procesos. Este punto de vista es poco atractivo, puesto que no es correcto que los procesos del usuario tengan el poder de desactivar las interrupciones. 

Page 14: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

Variables de cerradura.

Es una solución de software, si se desea que un proceso entre a su región crítica, primero se hace una prueba de la cerradura. Sí está es 0, el proceso cambia el valor a 1 y entra a la región crítica. Sí ésta ya vale 1, el proceso sólo se espera hasta que obtiene el valor 0 de nuevo. Así, un 0 indica que ningún proceso se encuentra en la región crítica y un 1 indica que cierto proceso está en su región crítica.

DORMIR Y DESPERTAR

Lo que hacen estas soluciones son las siguientes:  cuando un proceso desea entrar a su sección crítica, verifica si está permitida la entrada. Si no, el proceso se queda esperando (Sleep  es una llamada al sistema que provoca el bloqueo) hasta obtener el permiso de él (  Wakeup  llamada al sistema por despertar). Este punto de vista no sólo desperdicia el tiempo de la Cpu, si no que tiene efectos inesperados.

El problema del productor y consumidor

También se le conoce como almacén limitado. Dos procesos comparten un almacén (buffer) de tamaño fijo. Uno de ellos, el productor coloca información en el buffer, mientras que el otro, el consumidor, la obtiene de él.

El problema es que los dos están dormidos (sleep), para que no suceda esto debe existir un bit de espera de despertar para  que envie una señal para despertar.

En este punto de vista el problema  sigue ahí  ya que un solo bit no es suficiente.

Algoritmo

# include ” Prod_Consum ”# define N 100int count = 0;

void productor(void){int  item;WHILE  (TRUE)      {

Productor.item(&item);If ( count == N)  sleep ();

            count= count+1;if ( count == 1 )  wakeup( consumidor);

        } }

void consumidor( void )

Page 15: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

{  int item;WHILE (TRUE)       {

If ( count == 0)  sleep ();            remove.item (&item); 

count= count­1;if ( count == N­1 )  wakeup(productor);sonsumidor.item(item);

        } }

2.2.4 Semáforos

Un semáforo puede tener valor 0, lo que indica que no existen despertares almacenados; o bien algún valor positivo si están pendientes uno o más despertares.Existen dos operaciones , DOWN y UP . La operación Down verifica si el valor de un semáforo  es mayor que 0   decrementa el valor ( es decir utiliza un despertar almacenado) y continua . Si el valor  es 0,  el  proceso se va a dormir   .  La verificación   y modificación del  valor   se  realiza  en conjunto, como una sola e indivisible  acción atómica.   Se garantiza que al iniciar una operación con un semáforo,  ningún otro proceso  puede tener  acceso al  semáforo  hasta  que  la  operación termine   o   se   bloquee.   Esta   es   esencial   para   resolver   problemas   de   sincronización   y   evitar condiciones de competencia.La operación UP incrementa el valor  del semáforo correspondiente. Si uno o más procesos dormían en ese semáforo, y no podían completar la operación DOWN anterior, el sistema elige alguno de ellos   aleatoriamente y se le permite terminar DOWN. Así después de un UP en un semáforo con procesos durmiendo, el semáforo seguirá con valor o, pero habrá un menor número de procesos durmiendo. Ningún proceso se llega a bloquear mediante un UP.Solución del problema del productor y el consumidor mediante semáforos Los semáforos resuelven el problema del despertar perdido.  La forma normal consiste en implantar Up   y   Down     como   llamadas   al   sistema,   haciendo   que   el   sistema   operativo   desactive   por   un momento todos los interruptores mientras hace una prueba  del semáforo. Puesto que todas estas acciones  sólo  emplean pocas instrucciones,  no hacen daño la desactivación de los interruptores.

Esta solución utiliza tres semáforos que son:Full Que cuenta el número de entradas  ocupadasEmpty .­ Para en conteo de las entradas vacíasMutex .­ Que sirve para garantizar que el productor y el consumidor no tienen acceso simultáneo al buffer.El valor inicial de full es 0, el de Empty es igual al número de entradas en el buffer y el de mutex es 1. Los semáforos que se inicializan con un valor  de 1 y que son utilizados  por dos o más procesos para  garantizar    que  sólo  uno de  ellos  pierda entrar    a   su   región crítica  se   llaman  semáforos binarios.   Si cada proceso realiza un down justo antes de cerrar  a su región crítica  y un UP justo antes de salir  de ella, queda garantizada la exclusión mutua.

Page 16: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

Algoritmo

# include ” Prod_Consum ”# define N 100typedef int semaphore

semaphore mutex =  1;semaphore empty =  N;semaphore full = 0;

void productor (void){int  item;WHILE  (TRUE)      { Productor.item(&item);

down (&empty);down (&mutex);enter.item (item)up (&mutex);up (&full);

          } }

void consumidor( void ){      int item;WHILE (TRUE)       {

down (&full);down (&mutex);remove.item(item);up (&mutex);up (&empty);consumidor.item(item);

        } }

2.2.5  Contadores de eventosTambién es posible programar una solución sin que se requiera la exclusión mutua, para esto utiliza un tipo particular de variable, llamada  contador de eventos (Reed y Kanodia,1979 )Se definen tres operaciones  sobre un contador de eventos E:

1. Read(E): Regresa el valor actual de E:2. Advance(E): Incrementa en forma atómica el valor de E en 13. Awaite(e,v): Espera hasta que E tenga el valor de v o mayor.

Page 17: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

Algoritmo

# define N 100typedef int  event_counter;

event_counter   in = 0;event_counter   out = 0;

void productor (void){int  item, sequence = 0;WHILE  (TRUE)      { Productor.item(&item);

            sequence = sequence +1;            await (out, sequence ­ N);

enter.item (item);advance(& in );

          } }

void consumidor( void ){int  item, sequence = 0;WHILE  (TRUE)      {  sequence = sequence +1;            await (in, sequence);

remove.item(&item)            consumidor.item(item);        } }

2.2.6  Transferencia de Mensajes.Este medio de comunicación entre procesos utiliza  el SEND, RECEIVE, las cuales, al igual que los semáforos  son llamas al sistema en vez de comandos del lenguaje. Como tales se pueden colocar con facilidades en procedimiento y bibliotecas, por ejemplo:Send   (destination,   &message)     (   Envía   un   mensaje   a   un   destino   dado)Y   Receivce   (   source, &message)   ( Recibe un mensaje  desde cierto origen )

Si no hay mensajes, el receptor se puede bloquear hasta que llegue alguno.

Si los procesos   en comunicación se encuentran en máquinas distintas unidas mediante red, los mensajes se pueden perder.Como protección contra la perdida de mensajes, el emisor y el receptor pueden convenir en que tan 

Page 18: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

pronto se reciba el mensaje, el receptor envié de regreso un mensaje especial de confirmación. Si el emisor no ha recibido una conformación después de cierto tiempo, retransmite el mensaje.

Los sistemas con mensajes también deben enfrentar la cuestión de los nombres  de los procesos, de forma que no haya ambigüedad en el proceso dado en una llamada send o receive. Con frecuencia se utiliza  un esquema tal como proceso: maquina o maquina: proceso Para evitar que dos máquinas tengan el mismo nombre y pueda causar conflicto es considerable agrupar las máquinas en  dominios     y dirigirse a los procesos como proceso máquina: dominio donde cada dominio debe ser único.La autentificación es otro aspecto de los sistemas de mensajes:¿ Cómo saber  si  el  cliente se comunica con un verdadero servidor  o impostor? ¿ Cómo puede determinar el servidor cuál cliente solicito un archivo dado.?  Este punto  puede ser de utilidad el ciframiento de mensajes con una clave que solo conozca los usuarios autorizados.

PLANIFICACION DE PROCESOS.

Cuando más de un proceso es ejecutable, el sistema operativo debe decidir cuál de ellos debe ejecutarse  en primer término. Esa parte del sistema operativo que debe llevar a cabo se llama el Planificador y el algoritmo que se utiliza se llama el Algoritmo de planificación

Un algoritmo de planificación intenta conseguir:

Equidad: garantizar que cada  proceso obtenga su proporción justa de la CPU

 Eficacia: mantener ocupada la CPU el 100% del tiempo

Tiempo de Respuesta: minimizar el tiempo de respuesta para los usuarios interactivos

Tiempo de regreso:  minimizar  el   tiempo que deben esperar  los usuarios por  lotes para obtener  sus resultados.

Rendimiento: maximizar el número de tareas procesadas por hora

Una  complicación   que   debe   enfrentar   el   planificador   es   que   cada   proceso   es   único   e imprescindible. La estrategia de permitir que procesos ejecutables (Lógico)   sean suspendidos en forma temporal se llama Planificación apropiativa. La  ejecución hasta terminar también recibe el nombre de Planificación no apropiativa .

Tenemos algunos algoritmos de Planificación:

Page 19: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

Planificación  Round Robin. 

Algoritmo fácil  de utilizar   ,  cada proceso tiene asignado un  intervalo de tiempo de ejecución, llamado su Quantum.. Si el proceso continúa en ejecución al final de si Quantum, otro proceso se apropia de la CPU. Si el proceso está bloqueado o ha terminado antes de consumir su quantum, se alterna  el  uso  de  la  CPU.  El   round robin  es  muy  fácil  de   implantar.  Todo  lo  que necesita  el planificador es mantener una lista de procesos ejecutables como se muestra en la fig:

El único aspecto interesante del round robin es la longitud del quantum. La alternancia entre un proceso y otro necesita cierta cantidad de tiempo para administración( resguardo, carga de registro y mapas de memoria, actualización de varias tablas y listas).

Si el quantum es muy corto, se alternan demasiados procesos, lo que reduce la eficacia de l a CPU; pero si es muy largo, esto puede causar una respuesta lenta a las solicitudes interactivas breves. Un quantum cercano a  100 mseg es con frecuencia un compromiso razonable. 

Planificación por prioridad

Consiste en que cada proceso   tiene asociada una prioridad   y el proceso ejecutable con máxima prioridad  es el que tiene el permiso de ejecución.

Para evitar que los procesos   de alta prioridad se ejecuten en forma indefinida, el planificador puede   disminuir   la   prioridad     del   proceso   en   ejecución   en   cada   instante,   es   decir   en   cada interrupción del reloj. Si esto hace que su prioridad sea menor  que del siguiente proceso  con alta prioridad, se alternan los procesos.

Se pueden asignar procesos en forma estática o en forma dinámica con el fin de lograr ciertas metas del mismo.

En forma dinámica   ciertos procesos   tienen grandes limitaciones de E/S. Un algoritmo sencillo que le da un buen servicio   a los procesos con limitaciones   en   las E/S   es establecer   que la 

F D G A B

Proceso activo

B F D G A

Proceso Siguiente procesoactivo

Planificación Round Robin : a) Lista de procesos ejecutables. b) La lista de procesos ejecutables después de agotarse el quantum B

Page 20: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

prioridad   sea 1/f , donde   f es la fracción del último quantum   utilizado por el proceso . Un proceso  que sólo utilice   50 mseg  de su quantum de 100  tendrá prioridad 2 , mientras que un proceso que utilice todo su quantum  tendría prioridad 1.  

              100 /50    2 prioridad

              100/100   1 prioridad  

Con   frecuencia,   es   conveniente   agrupar   los   procesos   en   clases   de   prioridad     y   utilizar   la planificación con prioridades  entre las clases, pero con round robin dentro de cada clase.

Colas múltiples

Uno de los primeros planificadores  con Prioridad era el  de CTSS. En un principio era muy lenta en la alternancia entre procesos, puesto que solo podía mantener un proceso dentro de memoria (memoria   limitada),   la   solución    fue  utilizar   colas  múltiples  y  el   establecimiento  de  clases  de prioridad. Los procesos en la clase de mayor prioridad se ejecutaban en un quantum. Los procesos de la siguiente clase se ejecutaban en  dos quanta, los de la siguiente clase en cuatro quanta, etc. Cuando un proceso  consumiera todos los quanta asignados a él, se le movía  a la siguiente clase.

 

Se han utilizado muchos otros algoritmos apara la asignación de procesos  a clases de prioridad, Por ejemplo el  sistema XDS940    tenía cuatro clases de prioridad,   llamadas terminal,  E/S, quantum corto, quantum largo. Según el dispositivo que se va a ocupar se asigna la prioridad.

Primero el Trabajo más corto

La  mayoría  de   los  algoritmos  anteriores   se  diseñaron  para   los   sistemas   interactivos.  Ahora  un algoritmo más  apropiado   para   las   tareas  por   lotes,  en  las  cuales   los   tiempos  de ejecución se conocen  de antemano es  ejecutar  el  primero el   trabajo  más   corto.  Este  algoritmo   produce el promedio mínimo  de tiempo de respuesta.

Prioridad 4

Prioridad 3

Prioridad 2

Prioridad 1

Figura: Algoritmo de planificación con cuatro clases de prioridad

Encabezado de la Cola Procesos Ejecutables

Máxima prioridad

Mínima Prioridad

Page 21: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

En la figura   se tienen cuatro tareas A,B,C,D, cuyos tiempos de ejecución   son de   8 ,4 ,4 y 4 minutos respectivamente. Al ejecutarlo en ese orden, el tiempo de regreso para A es de 8 minutos, para B es de 12 minutos, para C es de 16 minutos y para D es de 20 minutos, con un promedio de 14 minutos.

aa+b

a+b+ca+b+c+d

El tiempo promedio de regreso es ( 4a+3b+2c+d)/4

Planificación garantizada.

Si existen n usuarios dentro del sistema mientras usted esta trabajando, recibirá cerca de 1/n de la potencia de la CPU

Para mantener esa promesa, el sistema debe tener un registro del tiempo de CPU que cada usuario ha tenido desde su entrada al sistema, así como del tiempo transcurrido desde esa entrada. Calcula entonces   la cantidad de tiempo en CPU   prometida al usuario, es decir, el tiempo transcurrido desde la entrada, dividido entre n. Puesto que mediante un cálculo directo se obtiene la proporción del tiempo de CPU real entre el tiempo de CPU prometido. El algoritmo ejecuta  entonces el proceso con la menor proporción, hasta que ésta se acerque a la de su competidor más cercano.

Planificación de dos niveles.

Una forma práctica de trabajar con el intercambio de los procesos   es por medio de un planificador de  dos  niveles.  Primero  se  carga  en  la  memoria  principal     cierto  subconjunto  de   los  procesos ejecutables. El planificador   se restringe   entonces a ese subconjunto durante tiempo. En forma periódica, se llama a un planificador de nivel superior para eliminar   de la memoria los procesos que hayan permanecido en ella el tiempo suficiente  y cargar a memoria  los procesos que hayan estado en disco demasiado tiempo. Una vez hecho el cambio, el planificador   de nivel inferior se restringe de nuevo  a los  procesos ejecutables  que se encuentran en la memoria. Así el planificador de nivel inferior  se encarga de elegir de entre los procesos  ejecutables que están en memoria en ese momento, mientras que el planificador  de nivel superior se encarga de desplazar los procesos de memoria a disco o viceversa.

A B C D

8 4 4 4

B C D A

4 4 4 8

Figura : Planificación del trabajo más corto primero

Page 22: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

El planificador de nivel superior debe tomar en cuenta ciertas características para ver cual proceso se va a llevar a  la memoria y cuál proceso sigue esperando en disco: 

¿ Cuánto tiempo ha transcurrido desde el último intercambio del proceso ¿

¿ Cuánto tiempo de CPU ha utilizado recientemente el proceso

¿ Que tan grande es el proceso? ( Los procesos pequeños no causan problemas).

¿ Que tan alta es la prioridad del proceso.

Conclusión

Para ocultar   los  efectos  de  las   interrupciones,   los   sistemas operativos  proporcionan un método conceptual,   consistente  en procesos  secuenciales  ejecutados en paralelo.  Cada proceso  tiene su propio estado y se puede pensar que se ejecuta en su propio procesador virtual.

A   veces   los   procesos   deben   interactua,   por   ejemplo,   para   compartir   un   área   común   de almacenamiento   (   buffer   ).   Esta   interacción   puede   derivar   en   condiciones   de   competencia, situaciones en las que la perfecta sincronización determina  el resultado.

Las condiciones de competencia  conducen al comportamiento irreproducible.

Para  evitar   las  condiciones  de  competencia,   se   introdujo  el  concepto  de  región crítica,  que  es sección de código en la que un proceso realiza algo con el estado compartido  y no desea que otros procesos  trabajen ahí también. Las secciones críticas proporcionan la exclusión mutua.

  Los  procesos   se  pueden   comunicar   entre   sí  mediante   las  primitivas  de   comunicaciones   entre procesos. Estas primitivas   se utiliza para garantizar que dos procesos no se encuentren jamas al mismo tiempo dentro de sus regiones críticas; es decir,  para garantizar la exclusión mutua. Un 

a , b,c, d

e, fg, h

e, fg, h

a , bc, d

b,cf,g

a, de, h

Procesos en disco

a) b) c)

Figura : Un planificador de dos niveles debe desplazar los procesos entre el disco y la memoria, además de que debe elegir los procesos por ejecutar de entre aquellos que se encuentran en la memoria. En a), b)y c) se muestran diferentes instantes de tiempo

Procesos en la memoria principal

Page 23: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

proceso puede estar en ejecución, ser ejecutable   o estar bloqueado y puede cambiar de estado cuando él  u otro proceso  ejecute una de las primitivas  de la comunicación entre procesos.

Se  han  propuesto   varias  primitivas  de   la   comunicación  entre  procesos.  Entre  éstas   están     los semáforos, monitores, contadores de eventos y la transferencia de mensajes .

En  esta   teoría.  Todas   son  equivalentes,   en el   sentido  de  que  cada  una  se  puede utilizar  para implantar   a   las   demás.   En   la   mayoría   de   los   sistemas   reales   se   utilizan   los   semáforos   y   la transferencia de mensajes.

Varios problemas clásicos se resuelven mediante estas primitivas. De hecho, el primer examen de cualquier propuesta  de primitiva  es ver si resuelve bien los problemas clásicos, entre  los que se encuentran  los problemas del productor y consumidor, la cena de los filósofos, lectores y escritores. Incluso con las primitivas adecuadas, hay que tener cuidado para evitar errores y bloqueos.

Se conocen  muchos algoritmos  de planificación.  La  labor    de  un algoritmo de  planificación es determinar el proceso que debe ejecutarse a continuación, tomando   en cuenta factores como el tiempo de respuesta, la eficacia y la equidad. Entre los algoritmos de planificación más conocidos están el   round robin,  planificación por  prioridades,  colas  de varios  niveles,  en primer  lugar  el trabajo   mas   corto   y   la   planificación   garantizada.   En   algunos   sistemas,   el   mecanismo   de planificación y la política de planificación se dividen, lo que permite una mayor flexibilidad.

Multiprogramación y tiempo compartido

La idea de la multiprogramación  es la siguiente.  El sistema operativo toma uno de los programas de un grupo de ellos y empieza a ejecutarlo.  Eventualmente, el programa seguramente tendrá que esperar por algún motivo, como por ejemplo que tenga que leer información de un disco, que se teclee   un   comando   en   un   teclado   o   que   tenga   que   imprimir   algo.     En   un   sistema   sin multiprogramación   (monoprogramación),   la   computadora   permanecería   inactiva   hasta   que terminara la operación por la que está esperando. En un sistema con multiprogramación, el sistema operativo   sencillamente   cambiaría   a   otro   programa   y   lo   ejecutaría.   Cuando   este   ultimo   deba esperar,   la   computadora  pasaría  a  ejecutar  otro  programa y  así   sucesivamente.  Finalmente,  el primer programa habrá acabado su espera y podrá ser ejecutado de nuevo. En la medida en que siempre haya algún programa por ejecutar, la computadora nunca permanecerá inactiva, como se ve en la figura.

Page 24: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

Los sistemas operativos multiprogramados son sofisticados. Tener varios programas dispuestos para su   ejecución,   supone   mantenerlos   simultáneamente   en   memoria.   Tener   varios   programas   en memoria al mismo tiempo requiere una gestión de memoria.  Además,  Si  hay varios programas dispuestos para ejecución al mismo tiempo, hay que tomar alguna decisión para elegir entre ellos. Este proceso, se denomina planificación  de la CPU, consume tiempo de la computadora.

Tiempo compartido

Cuando un usuario está trabajando, generalmente, desea que la respuesta de la computadora sea lo más rápido posible. Antiguamente se empleaban los ” sistema por Lotes “ en donde existía un grupo de programas   de diferentes usuarios   y  la computadora los  iba ejecutando uno detrás de otro secuencialmente. Entonces para ofrecer tiempos de respuesta más rápidos, se crearon los sistemas de tiempo compartido.

La idea es muy simple, pero no simple de realizar, en vez de dedicarse la computadora a un solo usuario, se divide y atiende por turnos a todos a la vez. En un Sistema de tiempo compartido, si de 20 usuarios conectados 17 están pensando,  charlando o tomando un café,  el procesador puede dedicarse por turnos a los otros tres trabajos que precisan servicio. Dado que las personas que ponen a punto programas utilizan normalmente comandos de efecto corto (por ejemplo, compilar un programa de cinco paginas),  en vez de comandos de efecto largo (por ejemplo, ordenar un millón de registros de un fichero), la computadora puede ofrecer un servicio rápido a cierto número de usuarios y procesar todavía trabajos en los tiempos muertos en que no haya ningún usuario que atender.

Un   sistema   operativo   en  tiempo   compartido  utiliza   la   planificación   de   la   CPU   y   la multiprogramación para dotar a cada usuario de una pequeña parte de la computadora compartida. Cada   usuario   tiene   en   memoria   un   programa   independiente.   Cuando   se   ejecuta,   lo   hace normalmente durante un breve periodo de tiempo. Puesto que la entrada de datos se realiza a velocidad humana, puede llevar mucho tiempo completarla. La entrada, por ejemplo, esta limitada por la velocidad de tecleo; cinco caracteres por segundo es un tecleo bastante rápido para una persona, pero muy lento para las computadoras.

DCBA

TiempoM u l t i p r o g r a m a c i ó n

A B C D

Page 25: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

En   lugar   de   dejar   que   la   computadora   permanezca   inactiva   cuando   esto   sucede,   el   sistema operativo cede rápidamente el control de la computadora al programa de algún otro usuario.

Gestión de la entrada/salida

Los problemas que tiene que resolver esta parte del código son los relacionados con los dispositivos de entrada/salida: terminales, discos, impresoras, ratón, interfaz a redes de comunicación etc.

Cada uno de los dispositivos de entrada/salida tiene un controlador que trata directamente con las características particulares de cada dispositivo en concreto.  Es el encargado de enviar todas las señales necesarias para realizar cualquier operación tal y como se ve en la figura 

La computadora no trata con el dispositivo físico sino con el controlador del dispositivo. La razón es que la velocidad de procesamiento de la computadora es muy superior a la de cualquier dispositivo de   entrada/salida.   De   esta   forma   se   envía   la   orden   al   controlador,   por   ejemplo   leer   cierta información del disco, y la computadora pasa a ejecutar otro proceso mientras el proceso anterior espera la respuesta del dispositivo de entrada/salida. Cuando la información esta lista para utilizar, el controlador avisa a la computadora indicándole que la operación de lectura ya ha finalizado y 

Unidades de disco Impresora

RUTA DE COMUNICACION

Page 26: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

puede continuar con la ejecución del proceso anterior. En este momento se decide cual será  el proceso que sigue ejecutándose.

Gestión de memoria

Otro de los problemas que debe resolver el sistema  operativo es el de la asignación de memoria al programa o programas que se encuentren en ejecución. Tiene que llevar la cuenta de que partes se están usando y cuales no.

El método más sencillo de gestión de memoria consiste en tener, en cada instante, un solo proceso en memoria principal, disponiendo éste de toda la memoria disponible. En este caso, la memoria se divide entre el sistema operativo y el proceso de usuario.

Se pueden ver las distintas posibilidades en el siguiente gráfico: (1), (2), (3) de la figura :

El  sistema operativo se  puede situar al  principio de  la  memoria  RAM (1) (memoria  de acceso directo),  al   final  de está  o al   final  en una memoria ROM (2) (memoria de sólo   lectura).  Otra posibilidad (3) es separar del sistema operativo la parte correspondiente a los manejadores de los distintos dispositivos y situarla en una memoria ROM dejando el resto del sistema operativo en memoria RAM.

Con   la   aparición   del   concepto   de   multiprogramación   para   optimizar   la   utilización   de   la computadora, la gestión de la memoria ya no resulta tan sencilla. El sistema operativo tiene que asignar un trozo de memoria a cada proceso. Además tiene que proteger a unos procesos de otros de forma que un usuario no pueda acceder a los datos de otro usuario. En el gráfico e la figura, se muestra una posible ejecución y la correspondiente asignación de memoria de cuatro procesos A, B, 

Page 27: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

C y D a lo largo del tiempo.

Comienza ejecutando el proceso A; mientras que ejecutándose A, otro usuario ordena la ejecución del proceso B. Posteriormente, el proceso A termina su ejecución y libera la memoria que estaba utilizando.  Mas   tarde   surgen   los  procesos  C,  D  y   se   les  asigna   su  correspondiente  espacio  de memoria.

Sistema de gestión de ficheros

Para   la   mayoría   de   usuarios,   el   sistema   de   ficheros   es   el   aspecto   más   visible   de   un   sistema operativo.  Los   ficheros  almacenan datos  y  programas.  El   sistema  operativo  ofrece  el   concepto abstracto de fichero, gestionando dispositivos de almacenamiento externo, tales como discos duros, disquetes y cintas. Pero ¿qué es un sistema de gestión de ficheros y de qué se compone?

Las computadoras pueden almacenar información de distinta formas físicas: los discos y las cintas magnéticas son las mas corrientes. Cada uno de estos dispositivos tiene sus propias características y organización física. 

Con vistas al buen uso de la computadora, el sistema operativo ofrece una visión lógica sencilla del almacenamiento de información. Este también oculta las propiedades físicas de sus dispositivos de almacenamiento, y define una unidad lógica de almacenamiento: el fichero.

¿Qué es un fichero? Es un conjunto de registros, que permiten almacenar información. 

También se puede definir como una colección de informaciones relacionadas entre si y definidas por su creador.

 Normalmente, los ficheros almacenan programas (tanto en fuente como en forma objeto) y datos, aunque también podrían almacenar una carta que escriba o un dibujo que se haya hecho.

Los ficheros de datos pueden ser numéricos, alfabéticos o alfanuméricos. En general, un fichero es  una   secuencia  de  bits   (ceros  o  unos),   bytes   (conjuntos  de   ocho  bits),   líneas  o   registros   cuyo significado ha sido definido por su creador y usuario

AL   Fichero   se   le   asigna   un   nombre,   por   el   cual   se   hace   referencia.   Tiene   algunas   otras características como su tipo, el instante de su creación, el nombre de su creador, su longitud, etc. Por ejemplo, en uno de los sistemas operativos, el MS DOS, un fichero tiene un nombre formado por   ocho   caracteres,   seguido   de   un   punto   y   otras     tres   letras.   Los   ocho   primeros   caracteres representan el nombre del fichero mientras que los tres últimos representan la extensión del mismo e indica el tipo de fichero del que Se trata. Si es un fichero de texto, la extensión es. TXT, si es un programa fuente en C su extensión es .C y si es programa ejecutable entonces será.EXE.

Page 28: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

El sistema operativo MS­DOS también almacena la y fecha de creación del fichero, así  como su tamaño.

La información que contienen la define su creador. Hay muchos tipos diferentes de información que pueden almacenarse en un fichero: programas fuente, programas objeto, datos numéricos, textos, registros contables, etc.

Un fichero tiene una cierta estructura, que se define según el uso que se vaya a hacer de él. Así, Un fichero de texto es una secuencia de caracteres organizados en líneas (y posiblemente paginas); 

Un fichero fuente es una secuencia de subrutinas y funciones, cada una de las cuales se organiza a su vez en forma de declaraciones seguidas de instrucciones ejecutables; 

Un fichero objeto es una secuencia de palabras organizada interpretables por el cargador.

Una consideración importante es que parte de esta estructura debe ser conocida y controlada por el sistema operativo. Si un Sistema operativo conoce la estructura de un fichero, puede operar sobre él de forma razonable. Por ejemplo, Un error frecuente sucede cuando un usuario trata de imprimir un   fichero   objeto   en   binario   (compuesto   solo   de   ceros   y   unos).   El   listado   que   se   produce normalmente es inservible, pero esto puede evitarse si el sistema operativo ha sido informado de que el fichero es un programa objeto en binario.

Por ultimo, los ficheros tienen una organización determinada dentro de un disco. Si se tienen varios ficheros con cartas, otros ficheros con unos pequeños programas y algunos que contienen gráficos, seguramente   se  deseará   tener  estos   ficheros  almacenados  ordenadamente,  agrupados   según su contenido para que así la búsqueda de uno de ellos resulte sencilla se utilizan los   directorios.  Un directorio se  puede definir  como un almacén de  ficheros.  Este  directorio tiene un nombre que puede  indicar  el   tipo de ficheros  que contiene.  Así,  en el  ejemplo,  Se tendrían tres directorios llamados cartas, dibujos y programas.

El fichero es gestionado por el sistema operativo. Hay comandos para crear, escribir, leer y borrar ficheros. Para comprender cómo se gestionan los sistemas de ficheros se verán estas operaciones mas detalladamente:

a)  Crear un fichero.  Para crear un fichero son necesarios dos pasos. En primer lugar, hay que encontrarle espacio en el sistema de gestión de ficheros. En segundo lugar, hay que crear una nueva entrada en el directorio para el nuevo fichero. La entrada en el directorio registra el nombre del fichero y su situación.

b) Escribir en un fichero. Para escribir en un fichero, se envía un comando al sistema operativo especificando tanto el nombre del fichero, como la información que hay que escribir en él. Dado el nombre del fichero, el sistema explora el directorio para encontrar su situación. Una vez localizado esté, se escribe la información en él.

Page 29: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

c) Leer de un fichero. Para leer de un fichero un comando enviado al sistema especifica el nombre del   fichero   y   donde   hay   que   situar   la   información   leída   en   memoria.   También   se   explora   el directorio   en   busca   del   correspondiente   fichero.   Una   vez   encontrado,   se   leerá   la   información requerida almacenándose en la memoria. 

d) Borrar un fichero.  Para borrar  un fichero,  se  explora el  directorio en busca del   fichero nombrado. Una vez hallada la entrada del directorio correspondiente, se deja libre todo el espacio del fichero (de modo que pueda ser reutilizado por otros ficheros) y se invalida la entrada del directorio.

La entrada en el  directorio contiene  la  información significativa  necesaria para operar sobre el fichero. Para evitar esta búsqueda constante muchos sistemas abren un fichero cuando empieza a ser   utilizado   por   el   usuario.   El   Sistema   operativo   mantiene   una   pequeña   tabla   que   sostiene información  acerca  de   todos   los   ficheros   abiertos.  Cuando   se   solicita  una  operación   sobre  un fichero, solamente se explora esta  pequeña tabla, no el directorio entero. Cuando fichero ya no va a ser utilizado activamente, cierra y se elimina de la tabla de ficheros abiertos.

Mecanismos de seguridad y protección

Las computadoras contienen a menudo información de gran valor para los usuarios. La protección de esta información contra un uso no autorizado es una de las preocupaciones más importantes de todo Sistema operativo.

Los   términos   “seguridad"   y   “protección”   se   suelen   utilizar   de   manera   indistinta.   Para   evitar confusión,   se   usara   el   termino  seguridad  para   referirse   al   problema   de   intromisión   en   la computadora y mecanismos de protección para hablar de los mecanismos específicos del sistema operativo encaminados a salvaguardar la  información en la computadora.  En cualquier caso,  la frontera esta poco definida. 

Primero Se examinara la seguridad; mas adelante se describirá la protección.

Seguridad

La  seguridad  tiene   muchas   facetas.   Lo   más   importante   son   las   intrusiones.   Para   abordar   el problema, lo primero que se tiene que establecer es que hacer con los intrusos. Estos pueden ser de dos tipos: intrusos pasivos, que solo desean leer información (ficheros) que no están autorizados a leer, e intrusos activos, más dañinos que los anteriores porque pretenden hacer modificaciones no autorizadas en los datos.

Al diseñar un sistema que evite intrusos, es importante tener en cuenta la clase de intrusión de la que se quiere proteger. Algunas de las categorías más comunes son:

Cotilleo casual de usuarios no técnicos:   Lectura de ficheros por parte de personas que 

Page 30: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

sólo les mueve el cotillear un poco.

Fisgoneo de listillos: personas que, con una elevada preparación y formación, consideran un desafío personal saltarse la seguridad del sistema de computadoras.

Intentos de ganar dinero: programadores que trabajando en una determinada empresa se sirven de sus conocimientos informáticos para tratar de robarle dinero a la empresa.

Espionaje  militar   o   comercial:   este   tipo   de   intrusión   trata   de   conseguir   toda   aquella información contenida en la computadora y que es vendible a terceros.

Aunque se trate de crear un sistema operativo que evite todas estas “incursiones”, la verdad es que una computadora tiene mas agujeros que un colador.

La forma normal de comprobar la seguridad de un sistema consiste en contratar a un grupo de expertos, conocido como equipo de tigres 0 de penetración,  que tratan de colarse. Con los años, estos Equipos han descubierto ciertas áreas en las que los sistemas suelen presentar grietas. Los ataques más comunes son:

Solicitar espacio en disco, cintas o paginas de memoria, y leerlas. Muchos sistemas no las borran antes de asignarlas de nuevo y pueden estar llenas de información interesante del propietario anterior.

Convencer a un programador del sistema para que lo cambie y así saltarse comprobaciones de seguridad vitales para cualquier usuario con el nombre de entrada intruso. Este ataque se conoce como de la escotilla.

Intentar  enviar comandos ilegales o raros al sistema operativo. Muchos sistemas pueden confundirse fácilmente.

Ahora bien, no todo está perdido en la guerra de los intrusos.  

Se han definido normas generales que se pueden usar como guia para diseñar un sistema con buenos niveles de seguridad.  Estas son:

El mecanismo de protección debe ser simple y uniforme.   Intentar imponer  seguridad  en sistemas inseguros existentes es casi imposible.

La opción por defecto debe ser prohibir el acceso.

Hay que comprobar la autorización en cada momento de los usuarios y para cada acción.

Se debe conceder a los programas los privilegios más bajos.  De esta forma si éste contiene un virus  que podrían ocasionar  daños   irreparables,  al   tener  pocos privilegios  no podrá ocasionar daños irrecuperables.

Page 31: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

El   esquema escogido  debe   ser  psicólogamente  aceptable.  Si  un  usuario   tiene  que  hacer mucho esfuerzo para proteger sus ficheros, no lo hará.  Si  le sucede algo se quejara y le echará la culpa a la dificultad  para establecer protecciones del sistema operativo.

Muchos esquemas de seguridad se basan en la suposición de que el sistema conoce la identidad de los usuarios. El problema de identificar los usuarios cuando entran en el sistema Se conoce como legitimación de los usuarios.

La mayoría de los métodos de legitimación se basan en identificar algo que el usuario conozca algo que tenga o algo que sea. Por ejemplo cuando se emplea una tarjeta de crédito la maquina necesita saber quien es y además confirmar que es quien dice que es. Para ello preguntar una clave secreta y solo conocida por el dueño.

Este ejemplo, llevado a las computadoras consiste en que la computadora pregunta un nombre de usuario, una vez que se le ha dado, pregunta la clave secreta para que pueda comprobar que es el 

verdadero   usuario.   Este   método   es   fácil   de   quebrantar.   Se   hizo   un   estudio   d   contraseñas   en sistemas  UNIX.  Confeccionaron   una   Lista   de   posibles   contraseñas:   nombres   propios,   apellidos, nombres   de   calles,   de   ciudades   palabras   de   un   diccionario   de   tamaño   medio,   números   de matrículas y tiras cortas de caracteres aleatorios.  

A continuación  comprobaron si algunas de estas palabras casaba con las contraseñas (o passwords) del sistema y sorprendentemente comprobaron que el 86% de las contraseñas aparecían en la lista. Sabiendo esto solo es cuestión  de paciencia y seguro de que se descubre alguna.

Protección

A medida que los sistemas informáticos se han ido haciendo más sofisticados y sus aplicaciones mas difundidas, también ha crecido la necesidad de proteger su integridad. La concepción moderna de la protección ha evolucionado incrementando la fiabilidad de cualquier sistema informático.

La Protección   hace referencia a un mecanismo para controlar el acceso de programas, procesos usuarios   a   los   recursos   de   un   sistema   informático   (impresoras,   memoria,   ficheros,   etc.).   Este mecanismo tiene que ofrecer un medio para especificar los controles a imponer, junto con algunas herramientas para hacerlos cumplir.

Existen varios motivos para preocuparse por de la protección. El mas evidente es la necesidad de prevenir la violación intencionada y maliciosa de una restricción de acceso, por parte de un usuario 

del   sistema.   Sin   embargo,   es   de   importancia   más   general   la   necesidad   de   asegurar   cada componente de un programa, únicamente utiliza los recursos del mismo según los criterios que establezca el sistema operativo. 

Para   construir   un   sistema   de   protección   se   tiene   que     definir,   por   un   lado,   la  estrategia  de 

Page 32: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

protección (de que fallos hay que proteger al sistema) y por otro, los mecanismos de protección (como hacer  que se consiga la protección definida por la estrategia).

Ubicación del sistema operativo

Para aclarar se muestra un diagrama donde se indica la ubicación del sistema operativo dentro de la estructura de la computadora personal. Observe que en la base  se encuentra el microprocesador, y en general, todo el hardware que se encarga  de ejecutar las órdenes y procesos.

Inmediatamente después, en esta organización lógica, se encuentra la BIOS, el cual es un código  de intercambio o conjunto de programas que facilitan la transferencia de información e instrucciones de control entre de microprocesador y los periféricos.

En el tercer nivel se encuentra el sistema operativo y, por último, los programas de aplicación. Cabe aclarar que hay programas que corren directamente en  DOS  y otros que precisan del ambiente operativo Windows para su ejecución. Existen diversos 

fabricantes de sistemas operativos para DOS, existen Microsoft con su MS­DOS por ser el original que se integra a la IBM PC con el nombre de PC­DOS, Compaq DOS, el Novell DOS, DR­DOS, y el 4DOS. La ventaja de estos sistemas operativos es su compatibilidad entre sí en la mayor parte de las órdenes y principios de operación.

A su vez, entre los sistemas operativos con interface gráfica para PC, se encuentran el Windows NT y el Windows 95, 98 los tres de Microsoft, el OS/2 de IBM y algunas variantes del UNIX como el Solaris, el Linux, y el QNX.

Rutinas que se ejecutan durante el arranque

Vea detalladamente el proceso que se lleva a cabo al ser encendida la computadora, justamente cuando el sistema operativo verifica el hardware existente y toma su control. Cuando se enciende la computadora,   se   ejecutan   automáticamente   varias   rutinas   que   permiten   poner   en   marcha   la maquina y revisar  la  fiabilidad del   sistema. Estas pruebas corresponden a pequeños programas grabados en una memoria llamada  ROM­BlOS  cuyas tareas especificas es la comprobación de la integridad de los componentes del sistema.

El proceso de carga del  sistema operativo empieza por el arranque, pasando por los comandos propios del sistema y la ejecución de los programas de configuración. Esta secuencia en el proceso de arranque es similar para todos los sistemas. 

Concluida la verificación del hardware, la ROM­BIOS busca en el sector de arranque de la unidad A: 0 C: una serie de instrucciones que servirán como complemento a las rutinas básicas de entrada y salida almacenadas en La BIOS.

Page 33: UNIVERSIDAD ESTATAL DE BOLÍVAR - fce-vir.ueb.edu.ec · PDF fileAl inicio de la década de 1950, la rutina había mejorado un poco con la introducción de las famosas Tarjetas ...

UNIVERSIDAD ESTATAL DE BOLÍVARFACULTAD DE CIENCIAS DE LA EDUCACI N, SOCIALES, FILOS FICAS Y HUMAN STICASÓ Ó Í

BIBLIOGRAFIABIBLIOGRAFIA

  http://es.wikipedia.org/wiki/Sistema_operativo  http://es.wikipedia.org/wiki/Sistema_operativo

• http://es.wikipedia.org/wiki/Historia_de_los_sistemas_operativos• http://es.wikipedia.org/wiki/Historia_de_los_sistemas_operativos

• http://www.monografias.com/Computacion/Sistemas_Operativos/• http://www.monografias.com/Computacion/Sistemas_Operativos/

• http://www.genbeta.com/categoria/sistemas­operativos• http://www.genbeta.com/categoria/sistemas­operativos

• http://www.google.com.ec/imgres?imgurl=http://blog.solusan.com/wp­• http://www.google.com.ec/imgres?imgurl=http://blog.solusan.com/wp­

   content/uploads/2008/12/demanda_sistemas_operativos.gif&imgrefurl=http://blog.solusan.com   content/uploads/2008/12/demanda_sistemas_operativos.gif&imgrefurl=http://blog.solusan.com/si­los­sistemas­operativos­fueran­lineas­/si­los­sistemas­operativos­fueran­lineas­

  aereas.html&usg=__b2eyoTh­  aereas.html&usg=__b2eyoTh­

   pBpwzT0iaDARQuTOl9Q=&h=408&w=463&sz=9&hl=es&start=5&um=1&itbs=1&tbnid=wwe   pBpwzT0iaDARQuTOl9Q=&h=408&w=463&sz=9&hl=es&start=5&um=1&itbs=1&tbnid=wweuluIBv2wx_M:&tbnh=113&tbnw=128&uluIBv2wx_M:&tbnh=113&tbnw=128&

    prev=/images%3Fq%3Dsistemas%2Boperativos%26um%3D1%26hl%3Des%26sa%3DX%26tbs    prev=/images%3Fq%3Dsistemas%2Boperativos%26um%3D1%26hl%3Des%26sa%3DX%26tbs%3Disch:1%3Disch:1

• http://www.monografias.com/trabajos12/hisis/hisis.shtml• http://www.monografias.com/trabajos12/hisis/hisis.shtml

• http://www.todobytes.net/Articulos/Historia_SO/historia_so.html• http://www.todobytes.net/Articulos/Historia_SO/historia_so.html

• www.ubuntu.ec• www.ubuntu.ec


Recommended