102

GUÍA DIDÁCTICA ELABORADA

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: GUÍA DIDÁCTICA ELABORADA
Page 2: GUÍA DIDÁCTICA ELABORADA

Asignatura:Sistemas Operativos

Elaborada : Ing. Jorge Jaramillo

Semestre: Tercero

ELABORADA

NOV/2019

GUÍA DIDÁCTICA

Page 3: GUÍA DIDÁCTICA ELABORADA

2 Ing. Jorge Jaramillo Alba

G U I A D I D Á C T I C A

CARRERA: TECNOLOGIA SUPERIOR EN REDES Y TELECOMUNICACIONES

NIVEL: Tecnológico

TIPO DE CARRERA: Tradicional

NOMBRE DE LA ASIGNATURA: SISTEMAS OPERATIVOS

CÓDIGO DE LA ASIGNATURA: RT-S3-SIOP

PRE – REQUISITO: N/A

CO – REQUISITO: N/A

TOTAL HORAS: Teoría _72_ Práctica _36_ Trabajo independiente _40_

NIVEL: TERCER

MODALIDAD: Presencial

DOCENTE RESPONSABLE: ING. JORGE ANDRES JARAMILLO ALBA

Copyright©2019 Instituto Superior Tecnológico Ismael Pérez Pazmiño. All rights reserved.

Page 4: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

3

INDICE

Presentación…………………………………………………………………………….

4

Orientaciones……………………………………………………………………………

5

Desarrollo de Actividades:

Unidad Didáctica 1………………….………………...…...……………………………….

8

Unidad Didáctica 2………………….………………...…...……………………………….

18

Unidad Didáctica 3………………….………………...…...……………………………….

25

Unidad Didáctica 4………………….………………...…...……………………………….

39

Unidad Didáctica 5………………….………………...…...……………………………….

60

Unidad Didáctica 6………………….………………...…...……………………………….

78

Page 5: GUÍA DIDÁCTICA ELABORADA

4 Ing. Jorge Jaramillo Alba

PRESENTACIÓN

Con la finalidad de afianzar los conocimientos de cada una de las asignaturas

correspondientes al estudio de la carrera de Tecnología en Redes y

Telecomunicaciones, se han desarrollado un conjunto de guías didácticas, las mismas

que van a fomentar y cimentar los conocimientos que el estudiante debe adquirir,

específicamente en este documento, acerca de Sistemas Operativos.

El estudio de Sistemas Operativos, inicia con el aprendizaje y el desarrollo de

habilidades concernientes a la instalación, manejo y administración de

configuraciones y funcionalidades que permiten la gestión adecuada de recursos tanto

hardware como software.

El objetivo de esta asignatura es gestionar Sistemas Operativos mediante la

comprensión, uso y configuración de opciones avanzadas que permitan la

administración de recursos y procesos en una red de computadores de manera

responsable y creativa, para lo cual dividiremos el contenido temático en seis temas

principales que son:

TEMA I: Generalidades de los Sistemas Operativos, que permitirá caracterizar los

sistemas operativos y su historia mediante sus orígenes y evolución a la par de los

avances tecnológicos que permita la identificación del sistema más adecuado para

una red de computadoras con responsabilidad.

TEMA II: Tipos de Sistemas Operativos, mediante el cual se categorizará los sistemas

operativos a través de sus características y estructuras que permitan la selección

adecuadas de los mismos acorde a las necesidades presentadas.

TEMA III: Procesos de los Sistemas Operativos, donde se describirá los procesos de

un sistema operativo analizando su funcionamiento para la optimización de recursos

del sistema.

TEMA IV: Gestión de Memoria, que servirá para interpretar la gestión de memoria del

sistema operativo mediante el desarrollo de ejercicios en base a escenarios que

permitan la correcta administración del consumo de memoria en el sistema.

TEMA V: Sistemas de Archivos, para aplicar sistemas de archivos adecuados a la

función de los sistemas operativos mediante la correcta aplicación de atributos que

permitan la administración de las unidades de almacenamiento.

Page 6: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

5

TEMA VI: Instalación y Configuración de Sistemas Operativos, para mediante la

gestión de procesos relacionados con redes de computadores que gestionen

recursos.

Page 7: GUÍA DIDÁCTICA ELABORADA

6 Ing. Jorge Jaramillo Alba

ORIENTACIONES PARA EL USO DE LA GUÍA DIDÁCTICA

Antes de empezar con nuestro estudio, debes tomar en cuenta lo siguiente:

1. Todos los contenidos que se desarrollen en la asignatura contribuyen a tu

desarrollo profesional, ética investigativa y aplicación en la sociedad.

2. El trabajo final de la asignatura será con la aplicación de la metodología de

investigación científica.

4. En todo el proceso educativo debes cultivar el valor de la constancia porque no

sirve de nada tener una excelente planificación y un horario, si no eres persistente.

5. Para aprender esta asignatura no memorices los conceptos, relaciónalos con la

realidad y tu contexto, así aplicarás los temas significativos en tu vida personal y

profesional.

6. Debes leer el texto básico y la bibliografía que está en el syllabus sugerida por el

docente, para aprender los temas objeto de estudio.

7. En cada tema debes realizar ejercicios, para ello debes leer el texto indicado para

después desarrollar individual o grupalmente las actividades.

8. A continuación, te detallo las imágenes que relacionadas a cada una de las

actividades:

Imagen Significado

Sugerencia

Talleres

Reflexión

Page 8: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

7

Subir Tareas al Aula

Virtual Amauta

Apunte clave

Foro

Resumen

Evaluación

9. Ánimo, te damos la bienvenida a este nuevo periodo académico.

Page 9: GUÍA DIDÁCTICA ELABORADA

8 Ing. Jorge Jaramillo Alba

DESARROLLO DE ACTIVIDADES

Unidad Didáctica I

Título de la Unidad Didáctica I:

Generalidades de los Sistemas Operativos

Introducción de la Unidad Didáctica I:

Sin el software, una computadora no es más que una masa metálica sin utilidad. Con

el software, una computadora puede almacenar, procesar y recuperar información,

encontrar errores de ortografía en manuscritos, tener aventuras e intervenir en muchas

otras valiosas actividades para ganar el sustento. El software para computadoras

puede clasificarse en general en dos clases: los programas de sistema, que controlan

la operación de la computadora en si y los programas de aplicación, los cuales

resuelven problemas para sus usuarios. El programa fundamental de todos los

programas de sistema es el sistema operativo (SO), que controla todos los recursos

de la computadora y proporciona la base sobre la cual pueden escribirse los

programas de aplicación

Objetivo de la Unidad Didáctica I:

Caracterizar los sistemas operativos y su historia mediante sus orígenes y evolución

a la par de los avances tecnológicos que permita la identificación del sistema más

adecuado para una red de computadoras con responsabilidad.

Organizador Gráfico de la Unidad didáctica I:

GENERALIDADES DE LOS

SISTEMAS OPERATIVOS

CONCEPTOS

OBJETIVOS

Funciones Servicios

Arquitectura

Niveles

Page 10: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

9

Actividades de aprendizaje de la Unidad Didáctica I:

Actividad de Aprendizaje 1 de la Unidad Didáctica I:

Introducción a los Sistemas Operativos

Desde el punto de vista de la computadora, el sistema operativo es el programa más

íntimamente relacionado con el hardware. En este contexto, podemos ver un sistema

operativo como un asignador de recursos. Un sistema informático tiene muchos

recursos que pueden ser necesarios para solucionar un problema: tiempo de CPU,

espacio de memoria, espacio de almacenamiento de archivos, dispositivos de entrada

y salida, entre otros. El sistema operativo actúa como administrador de estos recursos,

y al enfrentarse a numerosas y posiblemente conflictivas solicitudes de recursos, el

sistema operativo debe decidir cómo asignarlos a programas y usuarios específicos,

de modo que la computadora pueda operar de forma eficiente y equitativa. La

asignación de recursos es especialmente importante cuando muchos usuarios

acceden al mismo computador o servidor.

Un sistema operativo es un programa de control, y como tal, gestiona la ejecución de

los programas de usuario para evitar errores y mejorar el uso de la computadora, en

especial, con el funcionamiento y control de los dispositivos de entada y salida.

Concepto

Un sistema operativo es un conjunto de programas (importante: si no es un conjunto,

no es un sistema operativo) que actúa como interfaz entre el usuario del ordenador y

los componentes físicos (hardware) del mismo. Controla y coordina el uso del

hardware entre los diversos programas de aplicación de los distintos usuarios.

Investigue conceptos de Sistemas Operativos de diversos autores, y emita

su propia conceptualización

Actividad de Aprendizaje 2 de la Unidad Didáctica I:

Historia y evolución de los Sistemas Operativos

Los sistemas operativos evolucionan constantemente, esta evolución está vinculada

con la arquitectura de la computadora, veamos un poco de historia.

Historia

La primera computadora digital fue diseñada por Charles Babage, sin embargo se dio

cuenta que era necesario un programa para completar su ordenador; por lo que

contrató a Ada Lovelace, quien desarrolló el primer lenguaje de programación al cual

lo denominó “Ada”, ella fue la primera programadora en la historia.

Page 11: GUÍA DIDÁCTICA ELABORADA

10 Ing. Jorge Jaramillo Alba

La evolución de los Sistemas Operativos ha ido siempre de la mano de la evolución

de las Computadoras. Por ello es relevante recordar las generaciones de

Computadores (Tanembaum, 2009):

Tubos al Vacío (1945-1955): El profesor John Atanasoff y su estudiante graduado

Clifford Berry construyeron lo que ahora se conoce como la primera computadora

digital funcional en Iowa State University. Utilizaba 300 tubos de vacío (bulbos).

Aproximadamente al mismo tiempo, Konrad Zuse en Berlín construyó la computadora

Z3 a partir de relevadores. En 1944, la máquina Colossus fue construida por un equipo

de trabajo en Bletchley Park, Inglaterra; la Mark I, por Howard Aiken en Harvard, y la

ENIAC, por William Mauchley y su estudiante graduado J. Presper Eckert en la

Universidad de Pennsylvania.

Transistores (1955-1965): La introducción del transistor a mediados de la década de

1950 cambió radicalmente el panorama. Las computadoras se volvieron lo bastante

confiables como para poder fabricarlas y venderlas a clientes dispuestos a pagar por

ellas, con la expectativa de que seguirían funcionando el tiempo suficiente como para

poder llevar a cabo una cantidad útil de trabajo. Por primera vez había una clara

separación entre los diseñadores, constructores, operadores, programadores y el

personal de mantenimiento.

Circuitos Integrados (1965-1980): La IBM 360 fue la primera línea importante de

computadoras en utilizar circuitos integrados (ICs) (a pequeña escala), con lo cual se

pudo ofrecer una mayor ventaja de precio/rendimiento en comparación con las

máquinas de segunda generación, las cuales fueron construidas a partir de

transistores individuales. Su éxito fue inmediato y la idea de una familia de

computadoras compatibles pronto fue adoptada por todos los demás fabricantes

importantes. Los descendientes de estas máquinas se siguen utilizando hoy día en

centros de cómputo.

Debía ejecutarse en los sistemas pequeños, que por lo general sólo reemplazaban a

la 1401s, que copiaba tarjetas a cinta, y en los sistemas muy grandes, que a menudo

reemplazaban a la 7094s, que realizaba predicciones del clima y otros cálculos

pesados. Tenía que ser bueno en sistemas con pocos dispositivos periféricos y en

sistemas con muchos. Tenía que funcionar en ambos entornos comerciales y

científicos.

Computadores Personales (1980-actual): Con el desarrollo de los circuitos LSI

(Large Scale Integration, Integración a gran escala), que contienen miles de

transistores en un centímetro cuadrado de silicio (chip), nació la era de la computadora

personal. En términos de arquitectura, las computadoras personales (que al principio

eran conocidas como microcomputadoras) no eran del todo distintas de las

Page 12: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

11

minicomputadoras de la clase PDP-11, pero en términos de precio sin duda eran

distintas.

A principios de la década de 1980, IBM diseñó la IBM PC y buscó software para

ejecutarlo en ella. La gente de IBM se puso en contacto con Bill Gates para obtener

una licencia de uso de su intérprete de BASIC. También le preguntaron si sabía de un

sistema operativo que se ejecutara en la PC. Gates sugirió a IBM que se pusiera en

contacto con Digital Research, que en ese entonces era la compañía con dominio

mundial en el área de sistemas operativos. Kildall rehusó a reunirse con IBM y envió

a uno de sus subordinados, a lo cual se le considera sin duda la peor decisión de

negocios de la historia. Para empeorar más aún las cosas, su abogado se rehusó a

firmar el contrato de no divulgación de IBM sobre la PC, que no se había anunciado

todavía. IBM regresó con Gates para ver si podía proveerles un sistema operativo.

Cuando IBM regresó, Gates se había enterado de que un fabricante local de

computadoras, Seattle Computer Products, tenía un sistema operativo adecuado

conocido como DOS (Disk Operating System; Sistema Operativo en Disco).

Para cuando salió al mercado en 1983 la IBM PC/AT, sucesora de la IBM PC, con la

CPU Intel 80286, MS-DOS estaba muy afianzado y CP/M daba sus últimos suspiros.

Más adelante, MS-DOS se utilizó ampliamente en el 80386 y 80486. Aunque la versión

inicial de MS-DOS era bastante primitiva, las versiones siguientes tenían

características más avanzadas, incluyendo muchas que se tomaron de UNIX.

(Microsoft estaba muy al tanto de UNIX e inclusive vendía una versión de este sistema

para microcomputadora, conocida como XENIX, durante los primeros años de la

compañía).

Apple Macintosh: Un día, Steve Jobs, que fue co-inventor de la computadora Apple

en su cochera, visitó PARC, vio una GUI y de inmediato se dio cuenta de su valor

potencial, algo que la administración de Xerox no hizo. Posteriormente, Jobs

emprendió el proyecto de construir una Apple con una GUI. Este proyecto culminó en

Lisa, que era demasiado costosa y fracasó comercialmente. El segundo intento de

Jobs, la Apple Macintosh, fue un enorme éxito, no sólo debido a que era mucho más

económica que Lisa, sino también porque era amigable para el usuario (user friendly),

lo cual significaba que estaba diseñada para los usuarios que no sólo no sabían nada

acerca de las computadoras, sino que además no tenían ninguna intención de

aprender. En el mundo creativo del diseño gráfico, la fotografía digital profesional y la

producción de video digital profesional, las Macintosh son ampliamente utilizadas y

sus usuarios son muy entusiastas sobre ellas. Cuando Microsoft decidió crear un

sucesor para el MS-DOS estaba fuertemente influenciado por el éxito de la Macintosh.

Produjo un sistema basado en GUI llamado Windows, el cual en un principio se

ejecutaba encima del MS-DOS (es decir, era más como un shell que un verdadero

Page 13: GUÍA DIDÁCTICA ELABORADA

12 Ing. Jorge Jaramillo Alba

sistema operativo). Durante cerca de 10 años, de 1985 a 1995, Windows fue sólo un

entorno gráfico encima de MS-DOS. Sin embargo, a partir de 1995 se liberó una

versión independiente de Windows, conocida como Windows 95, que incorporaba

muchas características de los sistemas operativos y utilizaba el sistema MS-DOS

subyacente sólo para iniciar y ejecutar programas de MS-DOS antiguos. En 1998, se

liberó una versión ligeramente modificada de este sistema, conocida como Windows

98. Sin embargo, tanto Windows 95 como Windows 98 aún contenían una gran

cantidad de lenguaje ensamblador para los procesadores Intel de 16 bits.

Microsoft: Otro de los sistemas operativos de Microsoft es Windows NT (NT significa

Nueva Tecnología), que es compatible con Windows 95 en cierto nivel, pero fue

completamente rediseñado en su interior. Es un sistema completo de 32 bits. El

diseñador en jefe de Windows NT fue David Cutler, quien también fue uno de los

diseñadores del sistema operativo VMS de VAX, por lo que hay algunas ideas de VMS

presentes en NT. De hecho, había tantas ideas de VMS presentes que el propietario

de VMS (DEC) demandó a Microsoft. El caso se resolvió en la corte por una cantidad

de muchos dígitos. Microsoft esperaba que la primera versión de NT acabara con MS-

DOS y todas las demás versiones de Windows, ya que era un sistema muy superior,

pero fracasó. No fue sino hasta Windows NT 4.0 que finalmente empezó a tener éxito,

en especial en las redes corporativas. La versión 5 de Windows NT cambió su nombre

a Windows 2000 a principios de 1999. Estaba destinada a ser el sucesor de Windows

98 y de Windows NT 4.0. Esto tampoco funcionó como se esperaba, por lo que

Microsoft preparó otra versión de Windows 98 conocida como Windows Me

(Millennium edition). En el 2001 se liberó una versión ligeramente actualizada de

Windows 2000, conocida como Windows XP. Esa versión duró mucho más en el

mercado (6 años), reemplazando a casi todas las versiones anteriores de Windows.

Después, en enero del 2007 Microsoft liberó el sucesor para Windows XP, conocido

como Windows Vista. Tenía una interfaz gráfica nueva, Aero, y muchos programas de

usuarios nuevos o actualizados. Microsoft esperaba que sustituya a Windows XP por

completo, pero fue un rotundo fracaso.

En el 2009, Microsoft lanzó Windows 7. A diferencia de su predecesor, Windows Vista,

que introdujo a un gran número de nuevas características, Windows 7 pretendía ser

una actualización incremental, enfocada a la línea de Windows, con el objetivo de ser

compatible con aplicaciones y hardware que Windows Vista no era compatible.

Windows 7 tiene soporte multitouch, un Windows shell rediseñado con una nueva

barra de tareas, conocido como Superbar, un sistema red llamado HomeGroup, y

mejoras en el rendimiento sobre todo en velocidad y en menor consumo de recursos.

En el 2012, Microsoft lanzó Windows 8. Por primera vez desde Windows 95, el botón

Inicio ya no está disponible en la barra de tareas (lo cual se corrigió en la versión 8.1),

aunque la pantalla de inicio está aún activa haciendo clic en la esquina inferior

Page 14: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

13

izquierda de la pantalla y presionando la tecla Inicio en el teclado. Presenta un

Explorador de Windows rediseñado, con la famosa interfaz ribbon de Microsoft Office.

Se conservan la gran mayoría de las características de su predecesor, Windows 7,

con excepción de la nueva interfaz gráfica y algunos cambios menores.

El otro competidor importante en el mundo de las computadoras personales es UNIX

(y todas sus variantes). UNIX es más fuerte en los servidores tanto de redes como

empresariales, pero también está cada vez más presente en las computadoras de

escritorio, en especial en los países que se desarrollan con rapidez, como India y

China.

En las computadoras basadas en Pentium, Linux se está convirtiendo en una

alternativa popular para Windows entre los estudiantes y cada vez más usuarios

corporativos. (A lo largo de este documento se usará el término “Pentium” para denotar

al Pentium I, II, III y 4, así como sus sucesores tales como el Core 2 Duo.)

Muchos usuarios de UNIX, en especial los programadores experimentados, prefieren

una interfaz de línea de comandos a una GUI, por lo que casi todos los sistemas UNIX

presentan un sistema de ventanas llamado X Window System (también conocido

como X11), producido en el M.I.T. Este sistema se encarga de la administración básica

de las ventanas y permite a los usuarios crear, eliminar, desplazar y cambiar el tamaño

de las ventanas mediante el uso de un ratón. Con frecuencia hay disponible una GUI

completa, como Gnome o KDE, para ejecutarse encima de X11, lo cual proporciona a

UNIX una apariencia parecida a la Macintosh o a Microsoft Windows, para aquellos

usuarios de UNIX que desean algo así.

Desarrolle una línea de tiempo de la historia y evolución de los Sistemas

Operativos

Comente su experiencia con el manejo de los diferentes Sistemas

Operativos que ha utilizado a lo largo del tiempo

Actividad de Aprendizaje 3 de la Unidad Didáctica I:

Estructura del Sistema Operativo

En una estructura debemos distinguir:

Servicios de un SO (Componentes)

Propiedades de una buena estructura de un SO

Page 15: GUÍA DIDÁCTICA ELABORADA

14 Ing. Jorge Jaramillo Alba

Arquitecturas de SO

Monolítica

Capas

Máquina Virtual

MIcrokernel

Componentes de un Sistema Operativo

Cada Sistema tiene componentes, pero cada uno puede implementarlos de diferente

forma.

Ejecutar diferentes actividades

Acceso a información permanente

Acceso a los dispositivos

Suministrar memoria para ejecutarlos

El uso de los recursos debe ser seguro

Interfaz de acceso a los servicios del SO

Estos servicios se suelen integrar en componentes.

Gestión de Procesos

Gestión de Memoria Principal

Gestión de Archivos

Gestión de Entrada Salida (Dispositivos)

Sistema de Protección

Intérprete de Órdenes

a) Gestión de Procesos

Un proceso lo definimos como una instancia de un programa en ejecución.

El SO es responsable de las siguientes actividades relacionadas con los procesos:

Crear/Destruir procesos.

Suspender/reanudar procesos.

Suministrar los mecanismos para sincronizar y comunicar procesos.

b) Gestión de Memoria Principal

La memoria principal es el almacenamiento de acceso directo para la CPU y los

dispositivos de E/S. Es volátil.

El SO es responsable de:

Asignar/Desasignar memoria a los programas.

Mantener la pista de la de memoria utilizada actualmente y quién la usa.

Decidir cuanta memoria asignar a cada proceso, y cuando debe ser retirado de

memoria un proceso.

Page 16: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

15

c) Gestión de Archivos

Un archivo es una colección de información con nombre. Es la entidad básica de

almacenamiento persistente.

El sistema de archivos suministra:

Primitivas para manipular archivos y directorios: crear, borrar, leer, escribir,

renombrar.

Correspondencia entre archivos y su almacenamiento secundario.

También, suministra servicios generales: backup, contabilidad y cuotas, etc.

d) Gestión de Entradas/Salidas

Los SO ofrecen a los programas una interfaz estándar de los dispositivos, es decir,

utilizan las mismas funciones independientemente del dispositivo al que accedan.

Un manejador de dispositivo es un módulo que gestiona un tipo de dispositivo. El

encapsula el conocimiento específico del dispositivo, p.ej., inicialización,

interrupciones, lectura/escritura, etc.

e) Sistema de Protección

Protección referencia al mecanismo (políticas) para controlar los accesos de los

programas a los recursos del sistema.

El mecanismo de protección debe:

Distinguir entre uso autorizado o no.

Especificar qué control se debe imponer, y suministrar los medios para su

aplicación.

La protección suele ser un mecanismo general a todo el SO, es decir, no está

localizada en un único módulo.

f) Intérprete de Órdenes

Un intérprete de comandos o Shell es un programa o proceso que maneja la

interpretación de órdenes del usuario desde un terminal, o archivo de órdenes, para

acceder a los servicios del SO.

Puede ser una parte estándar del SO, p. ej. El command.com de MS-DOS. O bien, un

proceso no privilegiado que hace de interfaz con el usuario. Esto permite la sustitución

de un intérprete por otro. P. ej. en Unix tenemos csh, bash, ksh, etc.

Sintetice en un organizador gráfico la estructura de un Sistema Operativo

Page 17: GUÍA DIDÁCTICA ELABORADA

16 Ing. Jorge Jaramillo Alba

Actividad de Aprendizaje 4 de la Unidad Didáctica I:

Propiedades de la Estructura de un Sistema Operativo

a) Eficiente.- Debe ser lo más eficiente posible, pues consume muchos ciclos de

CPU.

b) Fiable.- Fiabilidad se refiere a dos aspectos diferentes pero relacionados:

Robustez.- el SO debe responder de forma predecible a condiciones de error,

incluidos fallos hardware.

El SO debe protegerse activamente a sí mismo y a los usuarios de acciones

accidentales o malintencionadas.

c) Extensibilidad.- la aparición constante de nuevo hardware y de nuevos tipos de

aplicaciones, exigen al SO la adición de nueva funcionalidad. En lugar de construir

un nuevo SO cada vez, se pretende construir un sistema que pueda extenderse,

es decir, su funcionalidad pueda variar o crecer, de una forma sencilla. Por

ejemplo, que un sistema tradicional soporte aplicaciones de tiempo real, que

soporte nuevos sistemas de archivos, etc.

d)

Argumente con sus propias palabras las propiedades de la estructura de un

Sistema Operativo

Arquitecturas de un Sistema Operativo

a) Estructura Monolítica

En esta estructura todos los gestores se encontraban en un solo programa. Los

componentes del SO se ejecutan en modo kernel, la relación entre ellos es compleja.

El modelo de obtención de servicios es la llamada a procedimiento.

b) Estructura de Capas

En este sistema se crearon varios programas o capas, cada uno dedicado a algún

servicio, y cada capa considerada como una máquina abstracta para la máquina

superior; la comunicación es a través de mensajes en el que se da el resultado de

alguna operación. Utilizan modularidad, las capas se seleccionan para que cada una

utilice sólo funciones de las capas inferiores.

Es decir, si la capa superior (por ej. La interfaz del usuario) necesita hacer algo cuando

se dé clic, las capas inferiores realizan todo ese tratamiento desde el controlador del

mouse y le devuelven si se dio o no clic donde esperaba, y la capa superior recibe

ésta respuesta para proceder al siguiente paso.

Page 18: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

17

c) Máquina Virtual

Sigue el enfoque de capas para su conclusión lógica.

La Máquina Virtual crea múltiples réplicas idénticas del hardware.

El SO crea la ilusión de múltiples procesos, cada uno ejecutándose en su propia CPU

con su propia memoria.

d) Arquitectura MicroKernel

Algunas de las funciones del SO se implementan como procesos de usuario. Por

ejemplo, el sistema de archivos como un servidor.

El (micro) kernel sólo necesitaría contener la funcionalidad básica para crear y

comunicar procesos.

Actividades de Auto-evaluación de la Unidad Didáctica I:

1.- Conceptualice un Sistema Operativo.

2.- Describa los inicios de los Sistemas Operativos

3.- Desarrolle un cuadro comparativo de las diferentes arquitectuas de los

Sistemas Operativos

4.- Argumente cada una de las propiedades de los Sistemas Operativos

5.- Liste los componentes de un Sistema Operativo

Actividad de Evaluación de la Unidad Didáctica I:

Utilizando como referencia Windows 7, 8 o 10 cite un ejemplo de cada una

de las propiedades que tiene los Sistemas Operativos

Page 19: GUÍA DIDÁCTICA ELABORADA

18 Ing. Jorge Jaramillo Alba

Unidad Didáctica II

Título de la Unidad Didáctica II:

Tipos de Sistemas Operativos

Introducción de la Unidad Didáctica II:

Los sistemas operativos normalmente vienen precargados en cualquier computador

que se adquiera. La mayoría de las personas utilizan el sistema operativo que viene

con el computador, siendo posible actualizarlo o incluso substituirlo por otro

alternativo, que se adapte a las características del trabajo que se debe realizar.

Objetivo de la Unidad Didáctica II:

Describir los tipos de sistemas operativos a través de sus características y estructuras

que permitan la selección adecuadas de los mismos acordes a las necesidades

presentadas responsablemente

Organizador Gráfico de la Unidad didáctica II:

Actividades de aprendizaje de la Unidad Didáctica II:

Actividad de Aprendizaje 1 de la Unidad Didáctica II:

Tipos de Sistemas Operativos

Sistemas Operativos por su Estructura

Estructura Monolítica: es la estructura de los primeros sistemas operativos

constituidos fundamentalmente por un solo programa compuesto de un conjunto de

Sistemas Operativos por su

Estructura

Sistemas Operativos por

Servicios

Sistemas Operativos por la Forma de Ofrecer

sus Servicios

Page 20: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

19

rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra. Las

características fundamentales de este tipo de estructura son:

Construcción del programa final a base de módulos compilados separadamente

que se unen a través del ligador.

Buena definición de parámetros de enlace entre las distintas rutinas existentes,

que puede provocar mucho acoplamiento.

Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes

aspectos de los recursos de la computadora, como memoria, disco, etc.

Generalmente están hechos a medida, por lo que son eficientes y rápidos en su

ejecución y gestión, pero por lo mismo carecen de flexibilidad para soportar

diferentes ambientes de trabajo o tipos de aplicaciones.

Estructura por Capas: a medida que fueron creciendo las necesidades de los

usuarios y se perfeccionaron los sistemas, se hizo necesaria una mayor organización

del software, del sistema operativo, donde una parte del sistema contenía subpartes

y esto organizado en forma de niveles.

Se dividió el sistema operativo en pequeñas partes, de tal forma que cada una de ellas

estuviera perfectamente definida y con un claro interface con el resto de elementos.

Se constituyó una estructura jerárquica o de niveles en los sistemas operativos, el

primero de los cuales fue denominado THE (Technische Hogeschool, Eindhoven), de

Dijkstra, que se utilizó con fines didácticos. Se puede pensar también en estos

sistemas como si fueran `multicapa’. Multics y Unix están en esa categoría.

En la estructura anterior se basan prácticamente la mayoría de los sistemas operativos

actuales. Otra forma de ver este tipo de sistema es la denominada de anillos

concéntricos o “rings”. En el sistema de anillos, cada uno tiene una apertura, conocida

como puerta o trampa (trap), por donde pueden entrar las llamadas de las capas

inferiores. De esta forma, las zonas más internas del sistema operativo o núcleo del

sistema estarán más protegidas de accesos indeseados desde las capas más

externas. Las capas más internas serán, por tanto, más privilegiadas que las externas.

Máquina Virtual: se trata de un tipo de sistemas operativos que presentan una

interface a cada proceso, mostrando una máquina que parece idéntica a la máquina

real subyacente. Estos sistemas operativos separan dos conceptos que suelen estar

unidos en el resto de sistemas: la multiprogramación y la máquina extendida. El

objetivo de los sistemas operativos de máquina virtual es el de integrar distintos

sistemas operativos dando la sensación de ser varias máquinas diferentes.

El núcleo de estos sistemas operativos se denomina monitor virtual y tiene como

misión llevar a cabo la multiprogramación, presentando a los niveles superiores tantas

Page 21: GUÍA DIDÁCTICA ELABORADA

20 Ing. Jorge Jaramillo Alba

máquinas virtuales como se soliciten. Estas máquinas virtuales no son máquinas

extendidas, sino una réplica de la máquina real, de manera que en cada una de ellas

se pueda ejecutar un sistema operativo diferente, que será el que ofrezca la máquina

extendida al usuario

Cliente-Servidor: el tipo más reciente de sistemas operativos es el denominado

Cliente-servidor, que puede ser ejecutado en la mayoría de las computadoras, ya sean

grandes o pequeñas. Este sistema sirve para toda clase de aplicaciones; por tanto, es

de propósito general y cumple con las mismas actividades que los sistemas operativos

convencionales.

El núcleo tiene como misión establecer la comunicación entre los clientes y los

servidores. Los procesos pueden ser tanto servidores como clientes. Por ejemplo, un

programa de aplicación normal es un cliente que llama al servidor correspondiente

para acceder a un archivo o realizar una operación de entrada/salida sobre un

dispositivo concreto. A su vez, un proceso cliente puede actuar como servidor para

otro. Este paradigma ofrece gran flexibilidad en cuanto a los servicios posibles en el

sistema final, ya que el núcleo provee solamente funciones muy básicas de memoria,

entrada/salida, archivos y procesos, dejando a los servidores proveer la mayoría que

el usuario final o programador puede usar. Estos servidores deben tener mecanismos

de seguridad y protección que, a su vez, serán filtrados por el núcleo que controla el

hardware. Actualmente se está trabajando en una versión de UNIX que contempla en

su diseño este paradigma.

Sintetice en un organizador gráfico los tipos de Sistemas Operativos por su

estructura

Actividad de Aprendizaje 2 de la Unidad Didáctica II:

Tipos de Sistemas Operativos

Sistemas Operativos por Servicios

Sistema Operativo Monousuario: los sistemas operativos monousuarios son

aquéllos que soportan a un usuario a la vez, sin importar el número de procesadores

que tenga la computadora o el número de procesos o tareas que el usuario pueda

ejecutar en un mismo instante de tiempo. Las computadoras personales típicamente

se han clasificado en este renglón.

Page 22: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

21

En otras palabras los sistemas monousuarios son aquellos que nada más puede

atender a un solo usuario, gracias a las limitaciones creadas por el hardware, los

programas o el tipo de aplicación que se este ejecutando.

Sistema Operativo Multiusuario: los sistemas operativos multiusuarios son capaces

de dar servicio a más de un usuario a la vez, ya sea por medio de varias terminales

conectadas a la computadora o por medio de sesiones remotas en una red de

comunicaciones. No importa el número de procesadores en la máquina ni el número

de procesos que cada usuario puede ejecutar simultáneamente.

En esta categoría se encuentran todos los sistemas que cumplen simultáneamente las

necesidades de dos o más usuarios, que comparten mismos recursos. Este tipo de

sistemas se emplean especialmente en redes. En otras palabras consiste en el

fraccionamiento del tiempo (timesharing).

Sistema Operativo Monotarea: los sistemas monotarea son aquellos que sólo

permiten una tarea a la vez por usuario. Puede darse el caso de un sistema

multiusuario y monotarea, en el cual se admiten varios usuarios al mismo tiempo pero

cada uno de ellos puede estar haciendo solo una tarea a la vez.

Los sistemas operativos monotareas son más primitivos y, solo pueden manejar un

proceso en cada momento o que solo puede ejecutar las tareas de una en una.

Sistema Operativo Multitarea: un sistema operativo multitarea es aquél que le

permite al usuario estar realizando varias labores al mismo tiempo. Es el modo de

funcionamiento disponible en algunos sistemas operativos, mediante el cual una

computadora procesa varias tareas al mismo tiempo. Existen varios tipos de

multitareas. La conmutación de contextos (context Switching) es un tipo muy simple

de multitarea en el que dos o más aplicaciones se cargan al mismo tiempo, pero en el

que solo se esta procesando la aplicación que se encuentra en primer plano (la que

ve el usuario.

En la multitarea cooperativa, la que se utiliza en el sistema operativo Macintosh, las

tareas en segundo plano reciben tiempo de procesado durante los tiempos muertos

de la tarea que se encuentra en primer plano, y siempre que esta aplicación lo permita.

En los sistemas multitarea de tiempo compartido, como OS/2, cada tarea recibe la

atención del microprocesador durante una fracción de segundo.

Un sistema operativo multitarea puede estar editando el código fuente de un programa

durante su depuración mientras compila otro programa, a la vez que está recibiendo

correo electrónico en un proceso en background. Es común encontrar en ellos

Page 23: GUÍA DIDÁCTICA ELABORADA

22 Ing. Jorge Jaramillo Alba

interfaces gráficas orientadas al uso de menús y el ratón, lo cual permite un rápido

intercambio entre las tareas para el usuario, mejorando su productividad.

Un sistema operativo multitarea se distingue por su capacidad para soportar la

ejecución concurrente de dos o más procesos activos. La multitarea se implementa

generalmente manteniendo el código y los datos de varios procesos simultáneamente

en memoria y multiplexando el procesador y los dispositivos de E/S entre ellos.

La multitarea suele asociarse con soporte hardware y software para protección de

memoria con el fin de evitar que procesos corrompan el espacio de direcciones y el

comportamiento de otros procesos residentes.

Sistema Operativo de Uniproceso: un sistema operativo uniproceso es aquél que

es capaz de manejar solamente un procesador de la computadora, de manera que si

la computadora tuviese más de uno le sería inútil. El ejemplo más típico de este tipo

de sistemas es el DOS y MacOS.

Sistema Operativo de Multiproceso: un sistema operativo multiproceso se refiere al

número de procesadores del sistema, que es más de uno y éste es capaz de usarlos

todos para distribuir su carga de trabajo. Generalmente estos sistemas trabajan de

dos formas: simétrica o asimétricamente.

Asimétrica: cuando se trabaja de manera asimétrica, el sistema operativo

selecciona a uno de los procesadores el cual jugará el papel de procesador

maestro y servirá como pivote para distribuir la carga a los demás

procesadores, que reciben el nombre de esclavos.

Simétrica: cuando se trabaja de manera simétrica, los procesos o partes de

ellos (threads) son enviados indistintamente a cual quiera de los procesadores

disponibles, teniendo, teóricamente, una mejor distribución y equilibrio en la

carga de trabajo bajo este esquema.

Actividad de Aprendizaje 3 de la Unidad Didáctica II:

Sistemas Operativos Distribuidos: permiten distribuir trabajos, tareas o procesos,

entre un conjunto de procesadores. Puede ser que este conjunto de procesadores

esté en un equipo o en diferentes, en este caso es transparente para el usuario.

Existen dos esquemas básicos de éstos. Un sistema fuertemente acoplado es a es

aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son

similares para todos los procesadores

En un sistema débilmente acoplado los procesadores no comparten ni memoria ni

reloj, ya que cada uno cuenta con su memoria local. Los sistemas distribuidos deben

Page 24: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

23

de ser muy confiables, ya que si un componente del sistema se compone otro

componente debe de ser capaz de reemplazarlo.

Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los

siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc.

Sistemas Operativos de Red: son aquellos sistemas que mantienen a dos o más

computadoras unidas a través de algún medio de comunicación (físico o no), con el

objetivo primordial de poder compartir los diferentes recursos y la información del

sistema.

El primer Sistema Operativo de red estaba enfocado a equipos con un procesador

Motorola 68000, pasando posteriormente a procesadores Intel como Novell Netware.

Los Sistemas Operativos de red más ampliamente usados son: Novell Netware,

Personal Netware, LAN Manager, Windows NT Server, UNIX, LANtastic.

Sistemas Operativos por Lotes: los Sistemas Operativos por lotes, procesan una

gran cantidad de trabajos con poca o ninguna interacción entre los usuarios y los

programas en ejecución. Se reúnen todos los trabajos comunes para realizarlos al

mismo tiempo, evitando la espera de dos o más trabajos como sucede en el

procesamiento en serie.

Estos sistemas son de los más tradicionales y antiguos, y fueron introducidos

alrededor de 1956 para aumentar la capacidad de procesamiento de los programas

Sistemas Operativos de Tiempo Real: los Sistemas Operativos de tiempo real son

aquellos en los cuales no tiene importancia el usuario, sino los procesos. Por lo

general, están subutilizados sus recursos con la finalidad de prestar atención a los

procesos en el momento que lo requieran. Se utilizan en entornos donde son

procesados un gran número de sucesos o eventos.

Muchos Sistemas Operativos de tiempo real son construidos para aplicaciones muy

específicas como control de tráfico aéreo, bolsas de valores, control de refinerías,

control de laminadores. También en el ramo automovilístico y de la electrónica de

consumo, las aplicaciones de tiempo real están creciendo muy rápidamente. Otros

campos de aplicación de los Sistemas Operativos de tiempo real son los siguientes

Sistemas Operativos de Tiempo Compartido: permiten la simulación de que el

sistema y sus recursos son todos para cada usuario. El usuario hace una petición a la

computadora, esta la procesa tan pronto como le es posible, y la respuesta aparecerá

en la Terminal del usuario.

Page 25: GUÍA DIDÁCTICA ELABORADA

24 Ing. Jorge Jaramillo Alba

Los principales recursos del sistema, el procesador, la memoria, dispositivos de E/S,

son continuamente utilizados entre los diversos usuarios, dando a cada usuario la

ilusión de que tiene el sistema dedicado para sí mismo. Esto trae como consecuencia

una gran carga de trabajo al Sistema Operativo, principalmente en la administración

de memoria principal y secundaria.

Sistemas Operativos Paralelos: en estos tipos de Sistemas Operativos se pretende

que cuando existan dos o más procesos que compitan por algún recurso se puedan

realizar o ejecutar al mismo tiempo.

En UNIX existe también la posibilidad de ejecutar programas sin tener que atenderlos

en forma interactiva, simulando paralelismo (es decir, atender de manera concurrente

varios procesos de un mismo usuario). Así, en lugar de esperar a que el proceso

termine de ejecutarse (como lo haría normalmente), regresa a atender al usuario

inmediatamente después de haber creado el proceso.

Sintetice en un organizador gráfico los tipos de Sistemas Operativos por la

forma de ofrecer sus servicios.

Actividades de Auto-evaluación de la Unidad Didáctica II:

1.- Elabore un cuadro sinóptico que resuma las clasificaciones de los tipos

de sistemas operativos en sus diferentes categorizaciones

Actividad de Evaluación de la Unidad Didáctica II:

Investigue y argumente ejemplos de cada uno de los diferentes tipos de

sistemas operativos.

Page 26: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

25

Unidad Didáctica III

Título de la Unidad Didáctica III:

Procesos

Introducción de la Unidad Didáctica III:

Dentro de las operaciones más básicas y la vez más complejas del sistema operativo

en un dispositivo, están los procesos. Estos permitirán entrar al mundo que se

despertará en el computador o dispositivo electrónico, metafóricamente.

Cada vez que se solicita al computador, mediante el sistema operativo realizar una

función u orden, los procesos asumen el trabajo comenzando la comunicación y flujo

de información con el microprocesador para las ejecuciones correspondientes, acorde

a los planes del sistema operativo influenciado por los procesos.

Objetivo de la Unidad Didáctica III:

Describir los procesos de un sistema operativo analizando su funcionamiento para la

optimización de recursos del sistema.

Organizador Gráfico de la Unidad didáctica III:

Elementos de un proceso

Planificación del procesador

Tipos de planificación

Características de un proceso

PROCESOS

Page 27: GUÍA DIDÁCTICA ELABORADA

26 Ing. Jorge Jaramillo Alba

Actividades de aprendizaje de la Unidad Didáctica III:

Actividad de Aprendizaje 1 de la Unidad Didáctica III:

Procesos

Los primeros sistemas operativos sólo permitían la ejecución de un programa a la vez.

Este programa se encargaba de todo, actualmente los sistemas operativos permiten

cargar múltiples programas.

Proceso es la unidad de trabajo en un sistema de tiempo compartido. Es un programa

en ejecución con su propio espacio de direcciones (direcciones de memoria que el

proceso puede utilizar) y aparentemente con su propia CPU (CPU virtual).

Contenido de un Proceso

Un proceso contiene:

El código del programa o sección de texto.

Contador de programa y contenido de registros del procesador.

La pila (stack) del proceso, que contiene datos temporales (como los parámetros

de subrutinas, direcciones de retorno y variables temporales)

Sección de datos, que contiene variables globales.

Estado de un proceso

Varios procesos pueden ejecutar incluso el mismo programa (p.ej. un editor) pero cada

uno tiene su propia representación.

Cada proceso está en un estado de ejecución que caracteriza lo que hace y determina

las acciones que se pueden sobre él.

Ilustración 1: Estado de un proceso

Nuevo. - El proceso se está creando.

Preparado o Listo. - En espera de la CPU, se puede ejecutar, pero se suspendió

temporalmente para dejar que otro proceso se ejecute.

Ejecutándose. - Ejecutando instrucciones, usando realmente el CPU en ese

momento.

1

2

3

4

Page 28: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

27

Bloqueado o En Espera- El proceso espera por un suceso, no puede ejecutarse en

tanto no ocurra algún evento externo.

Terminado. - El proceso terminó su ejecución.

Conforme un programa se ejecuta, pasa de un estado a otro.

Transiciones entre estados

Revisemos el gráfico anterior, ahora te explico cuándo se producen los cambios o

transiciones entre estados.

La transición 1 ocurre cuando un proceso, dentro de la ejecución de sus

instrucciones, necesita una operación de E/S (puede ser: la espera del ingreso de

una opción cuando se presenta un menú, o un clic de mouse). El proceso se

bloquea a la espera de entradas.

La transición 2 y 3 son causadas por una parte del SO (planificador), sin que el

proceso se entere de ello.

La transición 2 ocurre cuando el planificador decide que el proceso en ejecución

ya se ejecutó suficiente tiempo y es hora de dejar que otro proceso tenga algo de

tiempo del CPU.

La transición 3 ocurre cuando todos los demás procesos han disfrutado de una

porción justa y es hora de que el proceso reciba otra vez la CPU para ejecutarse.

La transición 4 ocurre cuando acontece el suceso externo que un proceso estaba

esperando (como el ingreso de un dato).

Ejemplo: Tomemos el ejemplo de la ejecución de un programa que suma dos números

en C/C++, cuando lo ejecutamos se dan los estados Nuevo, preparado y ejecución,

cuando solicita el primer o segundo número el proceso pasa al estado de bloqueado,

una vez que ingresamos los números cambia al estado de listo y luego al estado de

ejecución hasta que complete el programa cuando pasa al estado de terminado.

Explique con un ejemplo los estados que puede tener un proceso en un

Sistema Operativo

Actividad de Aprendizaje 2 de la Unidad Didáctica III:

Bloque de control de proceso (pcb)

Es una estructura de datos que representa al proceso, contiene su información

asociada:

Identificador del proceso en el sistema.

Estado del proceso.

Copia de los registros de la CPU.

Información de planificación.

Page 29: GUÍA DIDÁCTICA ELABORADA

28 Ing. Jorge Jaramillo Alba

Información para la gestión de memoria.

Información contable.

Información del estado de las E/S.

PCBs y Colas de Estado

El SO mantiene una cola de PCBs por estado; cada una de las cuales contiene a los

procesos que están en ese estado.

De esta forma:

Al crear un proceso, el PCB de dicho proceso se coloca en la cola de estado acorde

a su estado actual.

Conforme un proceso cambia de estado, su PCB es retirado de una cola y colocado

en otra.

Colas de estados

Cola de trabajos. - conjunto de todos los procesos del sistema.

Cola de preparados. - Conjunto de todos los procesos que residen en memoria

principal, preparados y esperando para ejecutarse.

Cola(s) de espera. - Conjunto de todos los procesos esperando por un dispositivo

de E/S particular o por un suceso (búfer de memoria, un semáforo, etc.).

Ilustración 2: Colas de Estado

Operaciones sobre procesos

En un sistema operativo básicamente hay 2 operaciones:

Creación de procesos

Terminación de procesos.

El SO tiene un proceso que es padre de todos los procesos, en unix éste es el proceso

init. Éste proceso crea procesos hijos como los demonios, que son procesos

automáticos ejm: el demonio de impresión.

a) Creación de Procesos

Los pasos a seguir por el SO:

1. Asignarle un PCB

2. Establecer su contexto de memoria (espacio de direcciones)

3. Cargar imagen (ejecutable) en memoria

4. Ajustar su contexto de CPU (registros)

Page 30: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

29

5. Marcar la tarea como ejecutable:

Saltar al punto de entrada, o

ponerlo en la cola de procesos preparados.

b) Terminación de Procesos

Un proceso finaliza cuando ejecuta la declaración de terminación (explícita o

implícitamente), e informa al SO que ha decidido terminar.

Los pasos a seguir:

1. Envío de datos del proceso creado a creador. Ej. Código de finalización.

2. El SO desasigna los recursos que tiene.

El proceso padre puede terminar la ejecución de los procesos hijos.

El hijo a excedido los recursos asignados

La tarea asignada al proceso hijo ya no se requiere

El proceso padre termina

El SO no permite que los procesos hijos continúen si el padre termina

Finalización en cascada

Los procesos son creados y destruidos por el sistema operativo, así como

también este se debe hacer cargo de la comunicación entre procesos,

pero lo hace a petición de otros procesos.

Investigue sobre el despacho de los procesos en los sistemas operativos

Windows

Actividad de Aprendizaje 3 de la Unidad Didáctica III:

Planificación de procesos

El sistema operativo debe gestionar y organizar la ejecución de procesos, para ello

cuenta con el planificador.

Planificador

Módulo del SO que controla la utilización de un recurso. Tiene por objetivo dar un buen

servicio a todos los procesos que coexistan en el sistema.

Niveles de Planificación. -Existen varios niveles de planificación a largo, medio y corto

plazo.

Page 31: GUÍA DIDÁCTICA ELABORADA

30 Ing. Jorge Jaramillo Alba

a) Planificación a largo plazo. - Es el encargado de crear los procesos y decide cual

es el próximo trabajo que se va a ejecutar. Sólo existe en los sistemas de

procesamiento por lotes. En los de tiempo compartido su misión es cargar los

programas en memoria.

b) Planificación a medio plazo. - Decide si un proceso que está suspendido, en espera

o bloqueado debe ser extraído temporalmente de la memoria, para reducir el grado

de multiprogramación. Sólo existe en los sistemas de tiempo compartido.

Políticas de Planificación

Las decisiones de planificación pueden tener lugar cuando el proceso se conmuta del:

1. Estado ejecutándose a bloqueando.

2. Estado ejecutándose a preparado.

3. Estado bloqueado a preparado.

4. Estado ejecutándose a finalizado.

Es decir, siempre que un proceso abandona la CPU, o se inserta un proceso en la cola

de preparados. Las políticas de planificación pueden ser:

• Apropiativas, que permiten la interrupción en la ejecución de un proceso para,

normalmente, dar paso a otro. (S.O. en t. compartido y real). En este caso el SO

puede quitar la CPU al proceso.

• No apropiativas, donde un proceso nunca abandona el procesador, salvo que

termine o se bloquee. (Lotes). No se puede retirar al proceso de la CPU, este la

libera voluntariamente al bloquearse o finalizar.

El planificador es aquel que administra como se irán atendiendo los

procesos, asi como los tiempos que tendrán disponibles para su ejecución

Argumente mediante ejemplos la importancia del planificador en el Sistema

Operativo

Actividad de Aprendizaje 4 de la Unidad Didáctica III:

Algoritmos de Planificación

El planificador que se encarga de decidir cuál proceso debe ejecutarse primero utiliza

algoritmos de planificación. El algoritmo seleccionado debe decidir una política no de

proveer un mecanismo. Existen varios criterios para determinar en qué consiste un

buen algoritmo.

Page 32: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

31

Criterios de Planificación

Equitatividad

Eficiencia

Tiempo de respuesta

Tiempo de retorno

Volumen de información

Los algoritmos para planificación de procesos son:

Primero en Llegar, Primero en ser Servido (FCFS)

Planificación Round-Robin (RR)

Por Prioridad

El primer trabajo más corto (SJN)

Colas Múltiples

Planificación enTiempo Real

Primero en Llegar, Primero en ser Servido (FCFS)

El algoritmo FCFS sistema ejecuta cada proceso hasta que termina y el resto esperan

en la cola de procesos preparados. (No apropiativa)

Método sencillo pero pobre de resultados.

El I mejora cuanto más largo sean los procesos.

Justo, aunque los P largos hacen esperar mucho a los cortos.

Es una política predecible.

Ejemplo:

Calcular el tiempo de espera, tiempo de retorno y tiempo medio de espera si aplicamos

el algoritmo FCFS suponiendo que los procesos siguientes llegan en el mismo instante

y en el orden: P1, P2, P3.

Page 33: GUÍA DIDÁCTICA ELABORADA

32 Ing. Jorge Jaramillo Alba

Desarrolle el ejercicio anterior con el siguiente orden de llegada: P2, P3, P1.

Actividad de Aprendizaje 5 de la Unidad Didáctica III:

Algoritmo SJF (Shortest-Job-First)

El algoritmo SJF (Shortest-Job-First) se basa en los ciclos de vida de los procesos, los

cuales transcurren en dos etapas o periodos que son: ciclos de CPU y ciclos de

entrada/salida, también conocidos por ráfagas.

La palabra shortest (el más corto) se refiere al proceso que tenga el próximo ciclo de

CPU más corto. La idea es escoger entre todos los procesos listos el que tenga su

próximo ciclo de CPU más pequeño.

El SJF se puede comportar de dos formas:

Expulsivo: Si se incorpora un nuevo proceso a la cola de listos y este tiene un ciclo

de CPU menor que el ciclo de CPU del proceso que se está ejecutando, entonces

dicho proceso es desalojado y el nuevo proceso toma la CPU.

No expulsivo: Cuando un proceso toma la CPU, ningún otro proceso podrá

apropiarse de ella hasta que el proceso que la posee termine de ejecutarse.

SFJ No expulsivo

Ejemplo:

Resuelva mediante el Algoritmo de Planificación SFJ No Expulsivo los siguientes procesos:

Page 34: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

33

Actividad de Aprendizaje 6 de la Unidad Didáctica III:

SFJ expulsivo

Ejemplo:

SJF No Expulsivo

Este algoritmo siempre prioriza los procesos más cortos primero

independientemente de su llegada y en caso de que los procesos sean

iguales utilizara el método FIFO anterior, es decir, el orden según entrada.

Este sistema tiene el riesgo de poner siempre al final de la cola los

procesos más largos por lo que nunca se ejecutarán, esto se conoce como

inanición.

SJF Expulsivo

Añadiendo la expulsión de procesos al algoritmo SJF, éste será capaz de

expulsar un proceso largo en ejecución para ejecutar otros más cortos. El

problema que puede surgir es que un proceso largo puede llegar a

expulsarse muchas veces y nunca terminar debido a la ejecución de otros

más cortos.

Resuelva mediante el Algoritmo de Planificación SFJ Expulsivo los siguientes procesos:

Page 35: GUÍA DIDÁCTICA ELABORADA

34 Ing. Jorge Jaramillo Alba

Actividad de Aprendizaje 7 de la Unidad Didáctica III:

Round Robin

Este algoritmo de planificación es uno de los más complejos y difíciles de implementar,

asigna a cada proceso un tiempo equitativo tratando a todos los procesos por igual y

con la misma prioridad.

Este algoritmo es circular, volviendo siempre al primer proceso una vez terminado con

el último, para controlar este método a cada proceso se le asigna un intervalo de

tiempo llamado quantum o cuanto (para definirlo se utiliza esta regla, el 80% de los

procesos tienen que durar menos tiempo que el quantum definido).

Pueden suceder dos casos con este método:

El proceso es menor que el quantum: Al terminar antes se planifica un nuevo

proceso.

El proceso es mayor que el quantum: Al terminar el quantum se expulsa el

proceso dando paso al siguiente proceso en la lista. Al terminar la iteración se

volverá para terminar el primer proceso expulsado

El quantum es la unidad que define el tiempo que tendrá cada proceso para ejecutarse cada vez.

Ejemplo:

Page 36: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

35

Ilustración 3: Round Robin

Resuelva mediante el Algoritmo de Planificación Round Robin aplicando un quantum de 2 y de 3 los siguientes procesos:

Page 37: GUÍA DIDÁCTICA ELABORADA

36 Ing. Jorge Jaramillo Alba

Actividad de Aprendizaje 8 de la Unidad Didáctica III:

Formas de Despacho

En un sistema monoprocesador nunca habrá más de un proceso en ejecución.

Si hay más procesos, tendrán que esperar a que la CPU quede libre para

reasignarse.

Para un mayor aprovechamiento, se mantienen varios procesos en memoria a

la vez. Cuando un proceso necesita esperar, el SO lequita la CPU y se la da a

otro proceso.

Casi todos los recursos del computador se planifican antes de usarse; la

planificación es fundamental en el diseño de un SO.

Ciclo de ráfagas de CPU y E/S: La ejecución de un proceso consiste en un ciclo

de ejecución alternando de manera sucesiva: Ráfagas de CPU (que inician el

proceso), durante las cuales el proceso ejecuta instrucciones; Ráfagas de E/S,

durante las cuales el proceso utiliza o espera por la E/S; Se ha medido la

duración de las ráfagas de CPU y resulta que varían considerablemente de un

proceso a otro y de un procesador a otro, sin embargo, tienden a tener una curva

de frecuencia bien tipificada.

Histograma de tiempos de ráfaga de CPU: Se observa: Gran número de ráfagas

de CPU cortas y pocas ráfagas de CPU largas.; Ráfagas de CPU cortas:

programas limitados por E/S.; Ráfagas de CPU largas: programas limitados por

CPU.

Planificación expropiativa:

Las decisiones de planificación de CPU se toman según las cuatro

situaciones siguientes:

(1) Cuando un proceso pasa del estado en ejecución a en espera.

(2) Cuando un proceso pasa del estado en ejecución a listo.

(3) Cuando un proceso pasa del estado en espera al estado listo.

(4) Cuando un proceso termina.

Los casos 1 y 4corresponden a una planificación no expropiativa (a la fuerza hay

que escoger un nuevo proceso).

Los casos 2 y 3corresponden a una planificación expropiativa.

Criterios de planificación:

Utilización de CPU: Porcentaje de tiempo que la CPU está ocupada.

Rendimiento: Número de procesos, trabajos, que se completan por unidad

de tiempo.

Tiempo de retorno: Tiempo transcurrido entre la llegada de un proceso y

su finalización.

Tiempo de espera: Tiempo que un proceso permanece en la cola de

preparados.

Tiempo de respuesta: Tiempo que un proceso bloqueado tarda en entrar

en la CPU desde que ocurre el suceso que lo bloquea.

Page 38: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

37

Posibles objetivos de la planificación:

Minimizar el tiempo medio de espera o de retorno.

Maximizar la utilización de CPU.

Mantener el tiempo de respuesta por debajo de un valor máximo.

En sistemas interactivos, como los sistemas de tiempo compartido, se

consideran también la estadística (las medias) de esas magnitudes.

No existe ninguna política de planificación óptima. La bondad de un método

depende de:

Tipo de procesos.

Criterio.

Mediante un organizador gráfico resuma las formas de despacho

Actividades de Auto-evaluación de la Unidad Didáctica III:

1.- ¿Qué es un proceso?

2.- ¿Cuáles son los estados de proceso?

3.- ¿En qué consiste la transición de estados?

4.- ¿Qué es el planificador?

5.- Describa los algoritmos de planificación FCFS, SFJ y Round Robin

Actividad de Evaluación de la Unidad Didáctica III:

Resuelva el siguiente planteamiento mediante cada uno de los Algoritmos

de Planificación analizados:

PROCESO LLEGADA DURACION

P1 0 9

P2 1 6

P3 2 4

P4 4 1

P5 5 2

P6 6 1

P7 8 2

P8 10 3

Page 39: GUÍA DIDÁCTICA ELABORADA

38 Ing. Jorge Jaramillo Alba

Atento a la Evaluación del Parcial I

Page 40: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

39

Unidad Didáctica IV

Título de la Unidad Didáctica IV:

Gestión de Memoria

Introducción de la Unidad Didáctica IV:

En la memoria física de un computador coexisten el sistema operativo, las rutinas de

enlace dinámico y los programas de usuario. En los sistemas operativos modernos la

gestión de memoria resuelve aspectos como la carga de programas y su ubicación

para ello, hay que establecer la correspondencia entre las direcciones lógicas del

programa y su ubicación física en memoria; la presencia simultánea de más de un

programa en memoria; la posibilidad de cargar rutinas en tiempo de ejecución (rutinas

de enlace dinámico; la compartición de espacios de memoria por varios programas; la

ejecución de programas que no caben completos en memoria; la gestión eficiente del

espacio de memoria libre.

A lo largo de la historia, los sistemas operativos han ido introduciendo conceptos y

mecanismos hasta llegar a ofrecer las características comentadas. Como el camino

ha sido largo y son muchos los aspectos que se combinan hoy en día, conviene revisar

las políticas de gestión de memoria teniendo en cuenta las propiedades

fundamentales que pueden ofrecer.

Objetivo de la Unidad Didáctica IV:

Aplicar la gestión de memoria del sistema operativo mediante el desarrollo de

ejercicios en base a escenarios que permitan la correcta administración del consumo

de memoria en el sistema de forma responsable.

Organizador Gráfico de la Unidad didáctica IV:

Gestión de

Memoria

Memoria Real y Virtual

Gestión de Bloques de Memoria

Fragmentación

Compactación

Paginación

Segmentación

Particiones y Algoritmos de

Asignación

Page 41: GUÍA DIDÁCTICA ELABORADA

40 Ing. Jorge Jaramillo Alba

Actividades de aprendizaje de la Unidad Didáctica IV:

Actividad de Aprendizaje 1 de la Unidad Didáctica IV:

Memoria Virtual y Memoria Real

El Administrador De Memoria se refiere a los distintos métodos y operaciones que se

encargan de obtener la máxima utilidad de la memoria, organizando los procesos y

programas que se ejecutan de manera tal que se aproveche de la mejor manera

posible el espacio disponible.

Para poder lograrlo, la operación principal que realiza es la de trasladar la información

que deberá ser ejecutada por el procesador, a la memoria principal. Actualmente esta

administración se conoce como Memoria Virtual ya que no es la memoria física del

procesador sino una memoria virtual que la representa. Entre algunas ventajas, esta

memoria permite que el sistema cuente con una memoria más extensa teniendo la

misma memoria real, con lo que esta se puede utilizar de manera más eficiente. Y por

supuesto, que los programas que son utilizados no ocupen lugar innecesario.

Las técnicas que existen para la carga de programas en la memoria son: partición fija,

que es la división de la memoria libre en varias partes (de igual o distinto tamaño) y la

partición dinámica, que son las particiones de la memoria en tamaños que pueden ser

variables, según la cantidad de memoria que necesita cada proceso.

Entre las principales operaciones que desarrolla la administración de memoria se

encuentran la reubicación, que consiste en trasladar procesos activos dentro y fuera

e la memoria principal para maximizar la utilización del procesador; la protección,

mecanismos que protegen los procesos que se ejecutan de interferencias de otros

procesos; uso compartido de códigos y datos, con lo que el mecanismo de protección

permite que ciertos procesos de un mismo programa que comparten una tarea tengan

memoria en común.

Memoria real o física

Capacidad, que representa el volumen global de información (en bits) que la memoria

puede almacenar.

Tiempo de acceso, que corresponde al intervalo de tiempo entre la solicitud de

lectura/escritura y la disponibilidad de los datos.

Tiempo de ciclo, que representa el intervalo de tiempo mínimo entre dos accesos

sucesivos.

Rendimiento, que define el volumen de información intercambiado por unidad de

tiempo, expresado en bits por segundo.

No volatilidad, que caracteriza la capacidad de una memoria para almacenar datos

cuando no recibe más electricidad.

Existen dos tipos de memorias RAM: SRAM Y DRAM.

Page 42: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

41

Memoria virtual

Es una combinación entre hardware especial y el sistema operativo hace uso de la

memoria principal y la secundaria para hacer parecer que el ordenador tiene mucha

más memoria principal (RAM) que la que realmente posee. Aunque la memoria virtual

podría estar implementada por el software del sistema operativo, en la práctica casi

siempre se usa una combinación de hardware y software, dado el esfuerzo extra que

implicaría para el procesador.

Este método es invisible a los procesos, debido a que sólo la parte de memoria virtual

que está almacenada en la memoria principal, es accesible a la CPU.

La memoria virtual ha llegado a ser un componente esencial de la mayoría de los S.O

actuales. Y como en un instante dado, en la memoria sólo se tienen unos pocos

fragmentos de un proceso dado, se pueden mantener más procesos en la memoria.

Es más, se ahorra tiempo, porque los fragmentos que no se usan no se cargan ni se

descargan de la memoria. Sin embargo, el S.O debe saber cómo gestionar este

esquema.

La memoria virtual también simplifica la carga del programa para su ejecución llamado

reubicación, este procedimiento permite que el mismo programa se ejecute en

cualquier posición de la memoria física.

La cantidad de memoria máxima que se puede hacer ver que hay tiene que ver con

las características del procesador. Por ejemplo, en un sistema de 32 bits, el máximo

es 232, lo que da 4096 Megabytes (4 Gigabytes). Todo esto hace el trabajo del

programador de aplicaciones mucho más fácil, al poder ignorar completamente la

necesidad de mover datos entre los distintos espacios de memoria.

Ventajas de la memoria virtual

Permite optimizar uso de memoria

Mantiene más procesos en memoria principal

Mantiene en disco partes del proceso poco usadas (rutinas de atención a

errores poco frecuentes, funciones de uso esporádico, datos no usados, …) .

Permite que un proceso sea más grande que toda la memoria principal

Se encarga el Sistema Operativo: evita al usuario la preocupación por

programar con superposición.

Con respecto a la performance del sistema: Se cuenta con una memoria

virtualmente más extensa con la misma memoria real. Se utiliza mucho más

eficientemente la memoria real.

Con respecto al desarrollo de aplicaciones: Al eliminar las restricciones de

memoria permite diseñar los sistemas más fácilmente, en menor tiempo y a

Page 43: GUÍA DIDÁCTICA ELABORADA

42 Ing. Jorge Jaramillo Alba

menos costo. Hace más sencillo el mantenimiento y la ampliación de los

programas. Hace más justificable el diseño e implementación de algunas

aplicaciones, cuyos requerimientos de memora varíen bastante en su ejecución

de acuerdo al volumen y complejidad de las transacciones. con respecto a la

operación del computador: Permite que un equipo de una memoria real menor

pueda ser usado sin dificultad como back-up en caso de necesidad. Hace

innecesario efectuar ciertos procedimientos cuyo único propósito es un mejor

aprovechamiento de la memoria real. Simplifica las actividades de planificación

Desventajas de la memoria virtual

Sobrecarga por gestión compleja de memoria

Costo asociado a la transformación de direcciones;

Memoria adicional que requiere para almacenar las tablas que debe mantener

el sistema operativo (memoria real de la parte residente del sistema

operativo)para indicar: l a cantidad de memoria real implementada, las

secciones que están presente en la memoria real y sus direcciones de

ubicación, y elementos de juicio para determinar qué secciones se tratarán de

dejar en memoria real y cuáles no, o que sección será desplazada cuando otra

sección de memoria virtual deba ser llevada a memoria real; pequeño

desperdicio de memoria que se produce en la última página de un programa

(ya que rara vez el tamaño del programa es múltiplo del tamaño de las páginas);

merma en el rendimiento del computador si es incorrectamente utilizada;

posible incremento del tiempo de ejecución de cada programa como

consecuencia de la paginación (operaciones de entrada/salida que demorarán

la ejecución del programa).

La memoria virtual puede ser una herramienta poderosa para incrementar la

performance del computador. Pero ello depende de ciertos factores, tales

como:

Velocidad de los dispositivos que contendrán la memoria virtual: La actividad

de paginación afecta adversamente a la performance del equipo cuando el

procesador real está frecuentemente esperando que termine una operación de

entrada/salida de paginación; por tanto se debe procurar que los

requerimientos de operaciones de paginación estén por debajo de lo necesario

para aprovechar convenientemente la multiprogramación. En caso contrario se

incrementarán los tiempos ociosos del órgano de comando. Velocidad del

procesador: Una relación desbalanceada entre la velocidad del procesador y la

del dispositivo de paginación puede alterar el rendimiento. Tamaño de la

memoria real y virtual: La cantidad de memoria real de la CPU (en relación con

el tamaño de la memoria virtual) afectará el número de páginas faltantes que

deberán ser traídas del dispositivo de paginación. Si el tamaño de la memoria

real es igual al de la virtual que están usando los programas en ejecución no

habrá páginas faltantes ya que todas estarán en memoria real. En cambio

Page 44: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

43

cuando la memoria real sea menor, la cantidad de páginas faltantes estará dada

por la razón de la memoria virtual usada por la memoria real disponible.

Estructura de los programas: La cantidad de memoria virtual que usa un

programa no es un factor tan significativo en la performance del equipo como

la forma en que la usa. Algunas formas para incrementar el rendimiento del

equipo son:

Usar áreas de entrada/salida más larga: Reduce el tiempo en que las páginas

del programa estarán en memoria real. Sin embargo, un aumento muy

significativo podría afectar negativamente el rendimiento en equipos con poca

memoria real.

Aumentar la capacidad de manejo de páginas faltantes cuando la actividad de

paginación causa frecuentes desactivaciones de programas: Esto puede ser

realizado:

Usando un dispositivo de mayor velocidad; estableciendo más dispositivos de

paginación; reduciendo o eliminados archivos del dispositivo de paginación;

reduciendo la actividad del canal que corresponde al dispositivo de paginación;

o aumentando un poco la memoria real.

Desarrolle un cuadro comparativo entre Memoria Virtual y Memoria Real

Actividad de Aprendizaje 2 de la Unidad Didáctica IV:

Particiones

Es el nombre genérico que recibe cada división presente en una sola unidad física de

almacenamiento de datos. Toda partición tiene su propio sistema de archivos

(formato); generalmente, casi cualquier sistema operativo interpreta, utiliza y manipula

cada partición como un disco físico independiente, a pesar de que dichas particiones

estén en un solo disco físico.

Vale aclarar entonces que cuando hablamos de formatear un disco se está hablando

de crear una partición que ocupe todo el espacio disponible de una unidad física de

almacenamiento.

Las particiones pueden ser utilizadas para permitir a un equipo en particular tener

instalado varios sistemas operativos en un mismo disco físico; de hecho algunos

sistemas operativos necesitan más de una partición para funcionar, o bien, para

aprovechar el rendimiento del equipo. Una partición también puede ser útil para

proporcionar al usuario un espacio para almacenar copias de seguridad de tal manera

Page 45: GUÍA DIDÁCTICA ELABORADA

44 Ing. Jorge Jaramillo Alba

que los archivos puedan quedar protegidos de un sistema de archivos roto e

irrecuperable o de un formateo accidental hecho a la partición donde esta el archivo

original.

Particiones Fijas

El primer intento para posibilitar la multiprogramación fue la creación de particiones

fijas o estáticas, en la memoria principal, una partición para cada tarea. El tamaño de

la partición se especificaba al encender el sistema, cada partición podía re-

configurarse al volver a encender el sistema o reiniciar el sistema.

Este esquema introdujo un factor esencial, la protección del espacio de memoria para

la tarea. Una vez asignada una partición a una tarea, no se permitía que ninguna otra

tarea entrara en sus fronteras. Este esquema de partición es más flexible que la de

usuario único, porque permite que varios programas estén en memoria al mismo

tiempo.

Ventajas:

- Simplicidad

- Resolución de direcciones en tiempo de carga

- Registro base (no requiere siquiera de un registro limite)

- Puede limitarse simplemente con un espacio de direccionamiento acorde en el

compilador.

Desventajas

- Rigidez

- Grado de multiprocesamiento limitado

- Si hay menos de 7 procesos, se desperdician recursos.

- Si hay más de 7, tienen que esperar a que se les abra espacio.

- Desperdicio de espacio (Fragmentación interna)

- Al asignarse la memoria en bloques fijos, un proceso pequeño podría desperdiciar

mucho espacio

Particiones Dinámicas

Las particiones dinámicas son variables en número y longitud, esto quiere decir que

cuando se carga un proceso a memorial principal se le asigna el espacio que necesita

en memoria y no más. Esta partición comienza siendo muy buena, pero en el trascurso

de uso deja un gran número de huecos pequeños en la memoria lo cual se le denomina

fragmentación externa. Se debe usar la compactación para evitar esta fragmentación,

el sistema operativo desplaza los procesos para que estén contiguos de forma que

todos los espacios de memoria libre se agrupen en un bloque, es decir:

Ventajas

No existe fragmentación interna

Page 46: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

45

Desventajas

fragmentación externa, se debe compactar la memoria. El compactado toma tiempo.

Profundice mediante una investigación sobre las particiones fijas y dinámicas

Actividad de Aprendizaje 3 de la Unidad Didáctica IV:

Asignación de Particiones Fijas

La asignación de las particiones fijas consiste en darle un espacio de memoria es decir

una partición a un proceso que necesite ejecutarse, es decir:

Ilustración 4: Ejemplo de Particiones Fijas

Ahora bien, se necesitan ejecutar estos procesos o tareas, lo que se hace es empezar

por la primera partición que va de 30 a 50, esta partición tiene un espacio de 20 (50-

30=20), como se asignan las tareas por orden de llegada entonces la primera que se

debe asignar es la tarea 1 que pesa 50, por lo tanto se busca en la memoria una

partición con esa capacidad.

En este ejemplo seria la partición que hay entre 80 a 200, donde tiene un espacio de

120, a esta particion se le asignara la tarea 1 (t1). Quedaría de la siguiente manera:

Ilustración 5: Ejemplo de Particiones Fijas

Al ingresar la tarea 1 en la partición vemos que queda un espacio de sobra en esa

partición la cual es 70 (120-50=70) a esto se le llama fragmentación. La fragmentación

es la memoria que se desperdicia, es un espacio que se esta usando, pero no se está

ocupando del todo.

Page 47: GUÍA DIDÁCTICA ELABORADA

46 Ing. Jorge Jaramillo Alba

La fragmentación es la memoria que queda desperdiciada al usar los

métodos de gestión de memoria que se vieron en los métodos anteriores. Tanto el primer ajuste, como el mejor y el peor producen fragmentación externa.

La fragmentación es la memoria que queda desperdiciada al usar los métodos de

gestión de memoria que se vieron en los métodos anteriores. Tanto el primer ajuste,

como el mejor y el peor producen fragmentación externa. La fragmentación es

generada cuando durante el reemplazo de procesos quedan huecos entre dos o más

procesos de manera no contigua y cada hueco no es capaz de soportar ningún

proceso de la lista de espera.

La fragmentación puede ser:

Fragmentación Externa: Existe el espacio total de memoria para satisfacer un

requerimiento, pero no es contigua.

Fragmentación Interna: La memoria asignada puede ser ligeramente mayor que la

requerida; esta referencia es interna a la partición, pero no se utiliza.

La fragmentación externa se puede reducir mediante la compactación para colocar

toda la memoria libre en un solo gran bloque, pero esta sólo es posible si la

relocalización es dinámica y se hace en tiempo de ejecución.

Se hace el mismo proceso con la tarea 2:

Ilustración 6: Ejemplo de Particiones Fijas

Ahora con la t3,la tarea 3 pesa 80 y si observamos la imagen nos daremos cuenta de

que no hay ninguna partición que tenga un espacio en la memoria de 80, por lo que

se dice que esta tarea queda en cola es decir que queda en espera mientras se

desocupa una partición que tenga ese espacio.

lo siguiente es terminar la tarea 4 y la tarea 5 que quedarían así:

Ilustración 7: Ejemplo de Particiones Fijas

Page 48: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

47

Desasignación para particiones fijas:

Las tareas salen de la memoria por el tiempo de ejecución, es fácil de comprender ya

que si una tarea termino lo único que hace es salir y dejar la partición libre, es decir:

Vamos a utilizar el ejemplo anterior y supondremos que la tarea 4 ya se ejecutó lo que

se hace es quitarla y queda el espacio libre, para poder asignar otra tarea.

Ilustración 8: Ejemplo de Particiones Fijas

Plantee y resuelva ejemplos para la asignación de particiones fijas

Actividad de Aprendizaje 4 de la Unidad Didáctica IV:

Asignación de las particiones dinámicas

Al cabo de un tiempo las particiones dinámicas se empiezan a comportar como

particiones fijas, así que en las particiones dinámicas también hay fragmentación,

pero esta fragmentación es externa. Para esto existen tres algoritmos: mejor ajuste,

primer ajuste o próximo ajuste

Mejor ajuste: Consiste en ubicar el proceso en el espacio de memoria que mas se

ajuste a su tamaño

Ejemplo: se quiere ingresar la tarea 3, pero si nos fijamos no hay una partición con un

espacio lo suficientemente grande para esta tarea, por lo cual, al igual que las

particiones fijas esta tarea quedaría en cola.

Ilustración 9: Ejemplo de Particiones Dinámicas

Page 49: GUÍA DIDÁCTICA ELABORADA

48 Ing. Jorge Jaramillo Alba

Ahora vamos a ingresar la tarea 4 que pesa 10, entonces si miramos en la imagen la

partición que mas se ajusta al tamaño de la tarea es la de (240 a 250), ya que si se

asigna la tarea allí, no se va a gastar espacio de memoria entonces quedaría:

Ilustración 10: Ejemplo de Particiones Dinámicas

Lo siguiente es ingresar la tarea 5 que pesa 20, pero hay dos particiones que están

disponibles y son adecuados para esta tarea que son la partición de (30 a 50) y de

(160 a 180), como el mejor ajuste dice que es la partición mas se ajuste a su tamaño,

por consiguiente se podria asignar a cualquiera de los dos espacios, en esta ocasión

lo pondremos en la partición de (30 a 50). Quedaría:

Ilustración 11: Ejemplo de Particiones Dinámicas

Primer ajuste: Consiste en ubicar el proceso en el primer hueco disponible,

recorriendo desde el inicio de la memoria, cuyo tamaño sea suficiente para el proceso.

Utilizaremos el ejemplo anterior para una mayor comprensión, vamos a ingresar la

tarea 5 de nuevo, pero esta vez como es primer ajuste obligatoriamente debe de ir en

la partición de (30 a 50) ya que el primer ajuste indica que se debe de asignar el

proceso en la primera partición que sea mas ajustada a su tamaño. Quedaría como la

imagen anterior.

Siguiente ajuste: Consiste en ubicar el siguiente hueco disponible, que sea

suficientemente grande, a partir de la última asignación de memoria.

Ejemplo: En este ejemplo asignamos la tarea 4, pero el punto de partida es la tarea 2

ya que fue la ultima en asignarse, por consiguiente la siguiente casilla se asignara,

pero en el siguiente ajuste hay que tener en cuenta, que también es la partición que

mas se ajuste al tamaño de la tarea, así este algoritmo pasara a la

siguiente partición hasta que encuentre una partición del mismo tamaño que la tarea

o un poco mas grande para poder optimizar memoria. Quedaría:

Page 50: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

49

Ilustración 12: Ejemplo de Particiones Dinámicas

Desasignación en las particiones dinámicas:

consiste en sacar las tareas de la memoria, las tareas salen por tiempo de ejecución,

pero para que salgan de dan 3 casos:

Particiones ocupadas

Particiones entre una libre y una ocupada

Particiones entre dos libres

Particiones ocupadas:

Ilustración 13: Particiones Ocupadas

Vamos a eliminar la tarea 4, como se aprecia en la imagen esta entre dos particiones

ocupadas, entonces el algoritmo lo que hace es preguntar si al lado izquierdo esta

ocupado y al lado derecho esta ocupado, si es así entonces la tarea 4 se puede liberar

y quedaría:

Ilustración 14: Particiones Ocupadas

Particiones entre una libre y una ocupada:

Ilustración 15: Partición Libre y Ocupada

Vamos a eliminar la tarea 1, antes de eliminar el algoritmo pregunta si a la izquierda

de la tarea 1 esta libre y a la derecha esta ocupado, o viceversa, si estas condiciones

se cumplen entonces se puede liberar la tarea 1, pero ademas la partición que esta

Page 51: GUÍA DIDÁCTICA ELABORADA

50 Ing. Jorge Jaramillo Alba

libre se fusiona con la partición en la que se libero la tarea quedando así una partición

mas grande, es decir:

Ilustración 16: Partición Libre y Ocupada

Particiones entre dos libres:

Ilustración 17: Particiones Libres

En este ejemplo vamos a sacar la tarea 3 o termino de ejecutar y va a salir, entonces

vemos que la tarea 3 esta entre dos particiones libres. El algoritmo pregunta si a la

izquierda y a la derecha de la tarea 3 esta libre, si es así, libera la tarea 3 y une las

tres particiones para que quede una mas grande, es decir:

Ilustración 18: Particiones Libres

Trabaje el taller sobre Particionamiento Dinámico

Partiendo desde la premisa del particionamiento fijo, que dice que las particiones se

van creando acorde a las necesidades de la primera utilización del computador en

cada encendido se tiene las siguientes tareas (caso basado en memoria de 1024MB):

Cod. Tarea Memoria

T1 S.O 30

T2 Word 160

T3 Excel 190

T4 Power Point 180

T5 Navegador 175

T6 Adobe PDF 125

T7 Bloc de Notas 64

Page 52: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

51

T8 Calculadora 100

Aplicando particionamiento fijo se habrán creado un total de 8 particiones con los

tamaños definidos previamente. Lo que representado gráficamente quedaría de la

siguiente manera:

= 1024MB

Lo anteriormente expuesto quiere decir que las nuevas tareas que vayan llegando

tendrán que asignarse a las particiones previamente definidas, pero aplicando

técnicas de particionamiento dinámico. Es decir, que cuando las particiones se hayan

liberado, tendremos las particiones así:

Tome en cuenta que el Sistema Operativo siempre va a estar ocupando al menos una

partición en la memoria.

Imaginemos que llega el siguiente conjunto de tareas, las mismas que serán

asignadas con las técnicas de particionamiento dinámico:

Cod. Tarea Memoria

T2 Reproductor 150

T3 Paint 75

T4 Explorador de Archivos 100

T5 Software de Escaneo 125

T6 Juego 200

T7 Visio 150

T8 GNS3 194

Aplicando Técnica de Mejor Ajuste

X Fragmentación

En cola: T6, T8

La técnica de mejor ajuste consiste en hallar la partición que mas se adecue a la tarea,

es decir, si no hay una partición del tamaño exacto necesario, buscar aquella donde

haya menos desperdicio de memoria. Con base en aquello, T2 se ubicó en la partición

de 160MB, pero como solo se necesitaba 150MB existe una fragmentación de 10MB

(revise en sus apuntes que era la fragmentación).

30 160 190 180 175 125 64 100

T1 T2 T3 T4 T5 T6 T7 T8

30 160 190 180 175 125 64 100

T1

30 160 190 180 175 125 64 100

T1 T2 T7 T5 T4 T3

Page 53: GUÍA DIDÁCTICA ELABORADA

52 Ing. Jorge Jaramillo Alba

Tome en cuenta que las tareas han sido asignadas en el orden en que se listaron, es

decir, primero T2, luego T3 y asi sucesivamente.

T3 fue ubicada en la partición que tenia 100MB, lo que produjo una fragmentación de

25MB (ya que T3 sólo necesitaba 75MB). Y asi sucedió con T4, T5, y T7.

Tanto T6 como T8, son tareas que necesitaban cantidades de memoria, mayores a

las de las particiones creadas, por eso se quedan en lo que se denomina cola. En las

siguientes tareas aprenderemos como despachar ese tipo de tareas.

Aplicando Técnica del Primer Ajuste

X Fragmentación

En cola: T6, T7, T8

Para el primer ajuste, las tareas se asignan a la primera partición libre que tenga el

espacio necesario requerido (sin importar cuán grande sea la partición). Es por este

motivo, que en este caso, la fragmentación es mucha, lo que ocasiona desperdicio de

memoria. Tome en cuenta que la búsqueda de particiones disponibles, siempre es de

izquierda a derecha.

Por lo anteriormente expuesto, notemos que T3, que solamente necesita de 75MB se

ubicó en una partición de 190MB, lo que genera un desperdicio de 115MB.

Para este caso, en cola quedan T6, T7 y T8.

Aplicando Técnica del Siguiente Ajuste

X Fragmentación

En cola: T6, T7, T8

La técnica del Siguiente ajuste consiste en ubicar la tarea en la siguiente partición

disponible desde la última asignación realizada. Para este ejemplo, la ubicación de las

tareas no difiere de la técnica del Primer Ajuste, por eso la representación gráfica esta

exactamente igual. Pero supongamos el siguiente caso:

Imaginemos que nuestra particionamiento fijo haya sido el siguiente:

Dado eso, para ubicar T2, lo tendríamos que haber ubicado en la partición de

190MB, ya que los 100MB de la primera partición libre no eran suficientes (en

estos casos la primera asignación se realiza de izquierda a derecha, como se

lo hace en la técnica del Primer Ajuste), lo cual queda representado de la

siguiente manera:

30 160 190 180 175 125 64 100

T1 T2 T3 T4 T5

30 160 190 180 175 125 64 100

T1 T2 T3 T4 T5

30 100 190 180 175 125 124 100

T1

30 100 190 180 175 125 124 100

T1 T2

Page 54: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

53

Siguiente la lógica de la técnica del Siguiente Ajuste, la ubicación de T3 se debe

hacer en la partición de 180MB, ya que la técnica “consiste en ubicar la tarea

en la siguiente partición disponible desde la última asignación realizada”. La

ultima asignación realizada fue la de T2, entonces, para ubicar T3, se busca la

primera partición disponible con el tamaño necesario (sin importar lo que se

desperdicie) a partir de la ubicación de T2.

Dicho esto, la ubicación de T4 se hará en la primera partición disponible

después de donde se ubicó T3.

Envíe el desarrollo del ejercicio previamente desarrollado.

Actividad de Aprendizaje 5 de la Unidad Didáctica IV:

Relocalización

La relocalización solamente existe en las particiones dinámicas.

Con este esquema de asignación de memoria, el administrador de memoria relocaliza

los programas para reunir los bloques vacíos y compactarlos, para hacer un bloque

de memoria lo bastante grande para aceptar algunas o todas las tareas en espera de

entrar

La relocalización sucede por 3 instancias:

Tiempo

Cantidad de tareas en cola

Porcentaje de como este ocupada la memoria

Ilustración 19: Relocalización

30 100 190 180 175 125 124 100

T1 T2 T3

Ultima

asignación

Page 55: GUÍA DIDÁCTICA ELABORADA

54 Ing. Jorge Jaramillo Alba

Como se puede apreciar en la imagen, la relocalización consiste en agrupar las

particiones libres en un solo bloque para que así cuando vuelva a ingresar una tarea,

esta se ingrese normalmente en la parte final de la memoria.

Paginación

La paginación consiste en dividir la memoria en un conjunto de marcos de igual

tamaño, cada proceso se divide en una serie de paginas del tamaño de los marcos,

incluso el espacio para el sistema operativo también esta paginado, un proceso se

carga en los marcos que requiera(todas las paginas), no necesariamente contiguas

es decir seguidas.

Ejemplo:

Ilustración 20: Paginación

En la imagen podemos ver como se paginan los procesos y la memoria, al paginar los

procesos se pueden llevar a la memoria aleatoriamente es así entonces como

funciona la paginación.

nosotros podemos saber cuantas paginas salieron al dividir un proceso, y también la

fragmentación a partir de una sencilla división y una resta

Se divide el tamaño de la tarea entre la división de los marcos, el (cociente + 1) va a

ser la paginación, después para saber la fragmentación se toma la división de marcos

y se le resta el residuo(10 - 5 = 5 ), esta sera la fragmentación.

De esta forma se puede cargar una página de información en cualquier marco de

página. Las páginas sirven como unidad de almacenamiento de información y

transferencia en la memoria principal y memoria secundaria

Las páginas de un programa necesitan estar contiguamente en memoria.

Page 56: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

55

Los mecanismos de paginación permiten la correspondencia correcta entre las

direcciones virtuales (dadas por los programas) y las direcciones reales de la memoria

que se reverencien.

Cada página consiste en z palabras contiguas; un espacio de direcciones N de un

programa consiste de n paginas (0,1,2,3…n-1) (n*z direcciones virtuales) y el espacio

de memoria consiste de m marcos de páginas (0,z,2z,…,(m-1)z)(m*z posiciones).

Tabla de páginas

Cada página tiene un número que se utiliza como índice en la tabla de páginas, lo que

da por resultado el número del marco correspondiente a esa página virtual. Si el bit

presente / ausente es 0, se provoca un señalamiento (trap) hacia el sistema operativo.

Si el bit es 1, el número de marco que aparece en la tabla de páginas se copia en los

bits de mayor orden del registro de salida. La finalidad de las tablas es asociar las

páginas virtuales con los marcos.

Características de la paginación

• El espacio de direcciones lógico de un proceso puede ser no contiguo.

• Se divide la memoria física en bloques de tamaño fijo llamados marcos (frames).

• Se divide la memoria en bloques de tamaño llamados páginas.

• Se mantiene información en los marcos libres.

• Para correr un programa de n páginas de tamaño, se necesitan encontrara n marcos

y cargar el programa.

• Se establece una tabla de páginas para trasladar las direcciones lógicas a físicas.

• Se produce fragmentación interna.

Ventajas:

Es posible comenzar a ejecutar un programa, cargando solo una parte del mismo en

memoria, y el resto se cargara bajo la solicitud. No es necesario que las paginas estén

contiguas en memoria, por lo que no se necesitan procesos de compactación cuando

existen marcos de páginas libres dispersos en la memoria. Es fácil controlar todas las

páginas, ya que tienen el mismo tamaño.

Desventajas

El costo de hardware y software se incrementa, por la nueva información que debe

manejarse y el mecanismo de traducción de direcciones necesario. Se consume

muchos más recursos de memoria, tiempo en el CPU para su implantación. Se deben

reservar áreas de memoria para las PMT de los procesos. Al no ser fija el tamaño de

estas, se crea un problema semejante al de los programas (como asignar un tamaño

óptimo sin desperdicio de memoria, u "ovearhead" del procesador).

La dirección generada por la CPU se divide en:

Page 57: GUÍA DIDÁCTICA ELABORADA

56 Ing. Jorge Jaramillo Alba

Numero de página (p): utilizado como índice en la tabla de páginas que contiene la

dirección base de cada página en la memoria física.

De la página (d): combinado con la dirección base define la dirección física que será

enviada a la unidad de memoria.

Existen dos funciones

1- Llevar a cabo la transformación de una dirección virtual a física, o sea, la

determinación de la página a la que corresponde una determinada dirección de

un programa.

2- Transferir, cuando haga falta, páginas de la memoria secundaria a la

memoria principal, y de la memoria principal a la memoria secundaria cuando

ya no sean necesarias.

Sintetice en un organizador gráfico el proceso de Paginación

Actividad de Aprendizaje 6 de la Unidad Didáctica IV:

Segmentación

Divide la memoria en segmentos, cada uno de los cuales tiene una longitud variable,

que está definida intrínsecamente por el tamaño de ese segmento del programa.

Los elementos dentro de un segmento se identifican por su desplazamiento, esto con

respecto al inicio del segmento.

Definición y aspectos generales

La segmentación de memoria es un esquema de manejo de memoria mediante el cual

la estructura del programa refleja su división lógica. Llevándose a cabo una agrupación

lógica de la información en bloques de tamaño variable denominados segmentos,

cada uno de ellos tienen información lógica del programa:

Subrutina, arreglo, etc.

Después cada espacio de direcciones de programa consiste de una colección de

segmentos, que generalmente reflejan la división lógica del programa, este sistema

de gestión de memoria es utilizado en sistemas operativos avanzados, pero ya

existían muestras de su actividad desde los S.O. UNIX y D.O.S

Objetivos alcanzados con la segmentación de memoria

Modularidad de programas: Cada rutina del programa puede ser un bloque sujeto a

cambios y recopilaciones, sin afectar por ello al resto del programa.

Page 58: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

57

Estructuras de datos de largo variable: Donde cada estructura tiene su propio

tamaño y este puede variar.

(stack)

Protección: Se puede proteger los módulos del segmento contra accesos no

autorizados.

Compartición: Dos o más procesos pueden ser un mismo segmento, bajo reglas de

protección; aunque no sean propietarios de los mismos.

Enlace dinámico entre segmentos: Puede evitarse realizar todo el proceso de

enlace antes de comenzar a ejecutar un programa. Los enlaces se establecerán solo

cuando sea necesario.

La segmentación paginada ayuda al proceso de gestión de memoria, puede hacerse

una combinación de segmentación y paginación para obtener las ventajas de ambas.

Cada segmento puede ser descrito por su propia tabla de páginas.

Los segmentos son usualmente múltiplos de páginas en tamaño, y no es necesario

que todas las páginas se encuentren en memoria principal a la vez; además las

páginas de un mismo segmento, aunque se encuentren contiguas en memoria virtual,

no necesitan estarlo en memoria real.

La segmentación paginada tiene su propio esquema, las páginas de almacenamiento

virtual, que son contiguas en este almacenamiento, no necesitan ser contiguas en el

almacenamiento real.

El direccionamiento es tridimensional con una dirección de almacenamiento virtual

“v=(s,p,d)”. S= núm.. segmento , P= num.pag. D= desplazamiento

Compartición de segmentos

En un sistema de segmentación, una vez que un segmento ha sido declarado como

compartido, entonces las estructuras que lo integran pueden cambiar de tamaño. Dos

procesos pueden compartir un segmento con solo tener entradas en sus tablas

generales que apunten al mismo segmento del almacenamiento primario.

Las Ventajas de la Segmentación

- El programador puede conocer las unidades lógicas de su programa,

dándoles un tratamiento particular.

- Es posible compilar módulos separados como segmentos, el enlace entre

los segmentos puede suponer hasta tanto se haga una referencia entre

segmentos.

- Es fácil el compartir segmentos.

- Es posible que los segmentos crezcan dinámicamente según las

necesidades del programa en ejecución.

Page 59: GUÍA DIDÁCTICA ELABORADA

58 Ing. Jorge Jaramillo Alba

Las Desventajas de la Segmentación

- Hay un incremento en los costos de hardware y de software para llevar a

cabo la implantación, así como un mayor consumo de recursos: memoria,

tiempo de CPU, etc.

- Debido a que los segmentos tienen un tamaño variable se pueden presentar

problemas de fragmentación externas, lo que puede ameritar un plan de

reubicación de segmentos en memoria principal.

Sintetice en un organizador gráfico el proceso de Segmentación

Argumente la relación que tiene los procesos de Segmentación y Paginación

Actividades de Auto-evaluación de la Unidad Didáctica IV:

1.- ¿Qué es la Gestión de Memoria?

2.- ¿Cuál es la diferencia entre Memoria Virtual y Memoria Real?

3.- ¿Qué es una Partición?

4.- Explique los tipos de Particionamiento que existen

5.- ¿Qué es la fragmentación y por qué es importante?

6.- ¿Qué es la Segmentación?

7.- ¿Qué es la Paginación?

Actividad de Evaluación de la Unidad Didáctica IV:

Aplicando Particionamiento Fijo y Dinámico resuelva lo siguiente:

Primer grupo de tareas

Cod. Tarea Memoria

T1 S.O 158

T2 Word 210

T3 Excel 365

T4 Power Point 320

T5 Navegador 410

T6 Adobe PDF 200

T7 Bloc de Notas 195

T8 Calculadora 190

Segundo Grupo de Tareas

Page 60: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

59

Cod. Tarea Memoria

T2 Reproductor 210

T3 Paint 190

T4 Explorador de Archivos 310

T5 Software de Escaneo 270

T6 Juego 290

T7 Visio 230

T8 GNS3 390

Tome el primer grupo de tareas y desarrolle el particionamiento fijo.

Desarrolle con el segundo grupo de tareas con las 3 técnicas del

particionamiento dinámico.

Page 61: GUÍA DIDÁCTICA ELABORADA

60 Ing. Jorge Jaramillo Alba

Unidad Didáctica V

Título de la Unidad Didáctica V:

Sistema de Archivos

Introducción de la Unidad Didáctica V:

Aunque los discos duros pueden ser muy chicos, aun así, contienen millones de bits,

por lo que necesitan organizarse para poder ubicar la información. Este es el propósito

del sistema de archivos. Recuerda que un disco rígido se conforma de varios discos

circulares que giran en torno a un eje. Las pistas (áreas concéntricas escritas a ambos

lados del disco) se dividen en piezas llamadas sectores (cada uno de los cuales

contiene 512 bytes). El formateado lógico de un disco permite que se cree un sistema

de archivos en el disco, lo cual, a su vez, permitirá que un sistema operativo (DOS,

Windows 9x, UNIX, etc.) use el espacio disponible en disco para almacenar y utilizar

archivos. El sistema de archivos se basa en la administración de clústeres, la unidad

de disco más chica que el sistema operativo puede administrar.

Un clúster consiste en uno o más sectores. Por esta razón, cuanto más grande sea el

tamaño del clúster, menores utilidades tendrá que administrar el sistema operativo.

Por el otro lado, ya que un sistema operativo sólo sabe administrar unidades enteras

de asignación (es decir que un archivo ocupa un número entero de clústeres), cuantos

más sectores haya por clúster, más espacio desperdiciado habrá. Por esta razón, la

elección de un sistema de archivos es importante.

Objetivo de la Unidad Didáctica V:

Seleccionar sistemas de archivos adecuados a la función de los sistemas operativos

mediante la correcta aplicación de atributos que permitan la administración de las

unidades de almacenamiento responsablemente.

Organizador Gráfico de la Unidad didáctica V:

Sistema de Archivos

Estructura

Operaciones

Administración Seguridad

Tipos

FAT

HPFS

NTFS

LINUX

Page 62: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

61

Actividades de aprendizaje de la Unidad Didáctica V:

Actividad de Aprendizaje 1 de la Unidad Didáctica V:

Sistema de archivos

Subsistema del S.O. encargado de la gestión de la memoria secundaria

(concretamente del almacenamiento de la información en dispositivos de memoria

secundaria).

Se encuentra en los niveles más externos del sistema operativo (más próximos al

usuario). Este nivel suministra al usuario el concepto de archivo (una de las

abstracciones fundamentales que genera un sistema operativo).

El sistema de archivos es el subsistema que suministra los medios para la

organización y el acceso a los datos almacenados en dispositivos de memoria

secundaria (disco).

Concepto de archivo: Agrupación de datos que el usuario ve como una entidad (por

ejemplo: programa, conjunto de rutinas, resultados de un cálculo, ...). Es la unidad que

almacena y manipula el sistema de archivos.

El medio sobre el que se almacenan los archivos se divide en bloques de longitud fija,

siendo el sistema de archivos el encargado de asignar un número adecuado de

bloques a cada archivo.

Funciones del sistema de archivos:

1. Crear y borrar archivos

2. Permitir el acceso a los archivos para que sean leídos o escritos

3. Automatizar la gestión de la memoria secundaria

4. Permitir referenciar un archivo por su nombre simbólico

5. Proteger los archivos frente a fallos del sistema

6. Permitir el uso compartido de archivos a usuarios autorizados

Organización de archivos

Los usuarios pueden definir objetos con nombre llamados archivos y que están

constituidos por una secuencia de bits, bytes, líneas o registros. Se referencian

mediante su nombre.

El sistema operativo suministra una serie de operaciones especiales (llamadas al

sistema) para la manipulación de los archivos:

1.Como unidad: Apertura, cierre, creación, borrado, copia, ...

2.Accediendo al contenido: Lectura y escritura, actualización, inserción.

Page 63: GUÍA DIDÁCTICA ELABORADA

62 Ing. Jorge Jaramillo Alba

Las organizaciones comunes de archivos (estructuras de archivos) varían de un S.O.

a otro. Por ejemplo, en UNIX los archivos son secuencias de bytes y la interpretación

de esos bytes no la hace el S.O.

Los tipos de archivos que podemos encontrar en UNIX son:

1. Regulares: contienen datos (programa, ...). Se dividen en diferentes tipos según

su uso (normalmente se identifican por la extensión).

2. Directorios: contienen información sobre los archivos contenidos en el mismo.

3. Especiales: dan nombres a los dispositivos de E/S.

Directorios

Un directorio es una tabla o un archivo (según el sistema) que contiene una entrada

por cada archivo contenido en el mismo.

Estructura de directorios:

• Más simple: Un único directorio que contiene todos los archivos de todos los

usuarios. Problema: conflictos cuando 2 usuarios utilizan el mismo nombre.

• Mejora: Un directorio por usuario.

• Generalización: Estructura jerárquica del sistema de archivos: árbol de directorios.

Acorde a su experiencia manejando Sistemas Operativos, ¿Considera adecuada la organización de archivos en Windows? ¿Por qué?

Actividad de Aprendizaje 2 de la Unidad Didáctica V:

Diseño del sistema de archivos

Gestión del espacio de disco

Dos estrategias posibles para el almacenamiento de un archivo de n bytes en un

dispositivo de memoria secundaria:

Asignación contigua: Al archivo se le asignan n bytes consecutivos de espacio de

disco. Si el archivo crece (hay que tener en cuenta que los archivos son estructuras

de datos con una alta volatilidad) probablemente tendrá que ser movido en el disco

(análogo a mover segmentos en memoria central, con la diferencia de que esta última

operación es más rápida).

Asignación no contigua: El archivo se divide en m bloques de tamaño fijo que se

almacenan en disco en bloques no necesariamente contiguos.

Page 64: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

63

La segunda estrategia es la más usual, pero nos encontramos con un primer problema

en la gestión del espacio de disco: El establecimiento del tamaño del bloque, es decir,

de la unidad mínima de asignación del espacio de disco. Para elegir el tamaño del

bloque, se van a tener en cuenta los siguientes datos:

Organización física del disco: Dada la forma en que se organizan los discos, el

sector, la pista y el cilindro son candidatos obvios para la unidad de asignación.

Aprovechamiento del espacio de disco: Si se elige una unidad de asignación

grande (cilindro) y el tamaño medio de los ficheros es pequeño, se

desaprovecha gran cantidad de espacio de disco por fragmentación interna.

Ritmo de transferencia de datos: Si se elige una unidad de asignación pequeña,

cada archivo estará dividido en muchos bloques. Como la lectura de cada

bloque requiere un tiempo de búsqueda, un tiempo de retraso rotacional y un

tiempo de transferencia, la lectura de un archivo (dividido en muchos bloques)

será lenta.

Los dos últimos criterios están en contraposición, por lo que la elección del tamaño

del bloque deberá ser un compromiso entre los mismos.

En la siguiente figura, se muestra, por un lado, el ritmo de transferencia de datos frente

a T (tamaño del bloque), observándose que este es mayor a medida que aumenta T.

También se ha representado en la misma gráfica el porcentaje de utilización del

espacio de disco, suponiendo un tamaño de medio de archivo de 1 KB. Se observa

que, a medida que aumenta el tamaño del bloque, el porcentaje de utilización del

espacio de disco disminuye (mayor fragmentación interna).

Ilustración 21: Correspondencia de espacio en disco

Page 65: GUÍA DIDÁCTICA ELABORADA

64 Ing. Jorge Jaramillo Alba

Surge pues un conflicto inherente entre la eficiencia del tiempo y del espacio (una

buena utilización del espacio de disco implica ritmos de transferencia de datos bajos

y viceversa). Compromiso normal: Se elige el tamaño de bloque de 512 B, 1 KB o 2

KB. Si se elige un tamaño de bloque de 1 KB sobre un disco con un tamaño de sector

de 512 Bytes, el sistema de archivos leerá o escribirá dos sectores consecutivos y los

tratará como una unidad simple e indivisible (hay que tener en cuenta que el sector es

la unidad más pequeña que se puede leer o escribir en el disco).

Conversión de un número de bloque en una dirección de disco

Podemos ver un disco como un espacio tridimensional de sectores (referenciados

mediante una dirección de disco que se establece mediante el cilindro, la pista dentro

del cilindro y el sector dentro de la pista). El sistema de archivos (software de E/S

independiente del dispositivo) trabaja con números de bloque lineales

(correspondientes a un espacio unidimensional de bloques de disco), entendiéndose

que la transformación de la dirección de bloque lineal en tridimensional es realizada

en otros niveles de software inferiores (drivers).

En el caso de que el bloque fuera del mismo tamaño que el sector, la transformación

se realizaría de la siguiente manera: Las direcciones de bloque aumentan a través de

todos los sectores de una pista, luego a través de todas las pistas (superficies) de un

cilindro y, por último, del cilindro 0 al último cilindro.

De esta forma, el número de bloque de un sector s en la pista p del cilindro c es:

b = s + ns * p + ns * np * c

donde np es el número de superficies (pistas por cilindro) y ns es el número de

sectores por pista.

Investigue sobre el procedimiento de asignación contigua y no contigua.

Actividad de Aprendizaje 2 de la Unidad Didáctica V:

Seguridad de los Sistemas de Archivos

La finalidad principal de las computadoras es la del tratamiento de la información que

se almacena permanentemente en los archivos. La pérdida o alteración no deseada

de dicha información causaría trastornos que podrían ser irreparables en algunos

casos. Por eso es necesario tomar las correspondientes medidas de seguridad, que

se deben enfocar desde dos aspectos diferentes: la disponibilidad y la privacidad de

los archivos.

Page 66: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

65

Disponibilidad de los archivos

Un archivo debe tener la información prevista y estar disponible en el momento que

un usuario la necesite. Hay que tener presente la necesidad de asegurar tal

circunstancia y para ello se suelen realizar las siguientes acciones:

Copias de seguridad (backup).

Consiste en que cada cierto tiempo (hora, día, semana...) se realice una copia del

contenido de los archivos, de forma que si se destruyen éstos, es posible la

recuperación de los datos a partir de la última de las copias. La operación de realizar

copias de seguridad, así como la recuperación de los datos a partir de las mismas, se

suele hacer por medio de programas de utilidad del sistema operativo.

La fiabilidad de las copias de seguridad dependerá fundamentalmente de la

periodicidad con que se realicen y del índice de actividad de los archivos, es decir, del

ritmo al que se actualicen.

Las copias de seguridad suelen realizarse sobre cinta magnética, guardándose en

dependencias alejadas del sistema y en armarios protegidos incluso contra incendios.

Al margen de las copias de seguridad, en muchos casos es conveniente mantener los

archivos duplicados en el mismo o distinto disco, para que en caso de problemas

locales en el archivo original se pueda tener una rápida recuperación. En los grandes

sistemas se tiende a automatizar los procesos de copias de seguridad por medio de

un software que periódicamente revisa la fecha de la última copia de cada archivo, así

como su último proceso de actualización, y a través de unos parámetros prefijados

decide en qué archivos deben ser procesadas sus copias.

Archivos LOG.

En sistemas de tiempo compartido donde trabajan simultáneamente muchos usuarios,

que entre otras operaciones llevan a cabo numerosas actualizaciones y

modificaciones de archivos, no son suficientes las periódicas copias de seguridad para

afrontar la pérdida de la información. Si la computadora falla por cualquier motivo en

medio de una sesión donde hay un gran número de usuarios trabajando, se puede

recuperar la información de los archivos desde la última copia de seguridad; pero esto

puede no ser suficiente, por lo cual se recurre en estos sistemas a archivos auxiliares

donde se registran todas las operaciones que realiza un usuario sobre sus archivos,

almacenándose la nueva información o aquella que difiera de la ya existente. Estos

archivos reciben el nombre de archivos LOG y son tratados por utilidades del sistema

operativo conjuntamente con las copias de seguridad para los procesos de

recuperación.

Page 67: GUÍA DIDÁCTICA ELABORADA

66 Ing. Jorge Jaramillo Alba

Privacidad de los archivos

El contenido de los archivos se debe proteger de posibles accesos no deseados. Entre

el peligro de permitir a todos los usuarios el acceso a cualquier archivo, y la rigidez de

que cada usuario sólo pueda acceder a los suyos, el sistema de protección debe

permitir accesos de forma controlada, según unas reglas predefinidas y con las

consiguientes autorizaciones.

Cada usuario, al comenzar la sesión en un sistema tras su identificación, tiene

asignado por el sistema de protección un dominio compuesto de una serie de recursos

y de operaciones permitidas, por ejemplo, una serie de archivos a los que acceder, no

teniendo permitido el acceso al resto de archivos. En general, los sistemas operativos

almacenan la información relativa a los dominios en lo que se denomina matriz de

dominios, cuyas filas indican los dominios existentes y las columnas los recursos.

Cada elemento de la matriz indica el derecho a utilizar el recurso correspondiente en

el dominio.

Si la matriz anterior tiene poca información, se recurre a otro tipo de almacenamiento

de información sobre dominios, consistente en asociar a cada recurso una lista de

dominios que pueden utilizarlo, denominándose éste vector lista de acceso. También

se puede obtener otro vector donde a cada dominio se le asigna una lista de recursos

a los que puede acceder, denominándose en este caso lista de capacidades.

En todos estos casos, la gestión de las listas de control se realiza mediante comandos

de uso restringido, estando éstos únicamente disponibles para el administrador del

sistema.

Mediante un organizador gráfico resuma los aspectos relevantes de la Seguridad de los Sistemas de Archivos

Actividad de Aprendizaje 3 de la Unidad Didáctica V:

Protección de Archivos en Windows

Protección de carpetas mediante Permisos de Windows Entendemos que se quiere hacer que una carpeta no pueda ser visible por otro usuario

de windows, o que esté protegida contra escritura. Sería señalar la carpeta con el

botón derecho -> Propiedades -> Seguridad

Page 68: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

67

Ilustración 22: Asignación de permisos Windows

Como se puede ver, se pueden Editar los permisos y cambiar los checks de Modificar,

Lectura y ejecución. Si en ese ordenador hay más usuarios se pueden añadir y ponerle

que solo tenga permisos de lectura o ninguno.

Este tipo de protección va en función del usuario que acceda al ordenador en cuestión.

Claro que si el disco duro no está encriptado nadie impediría usar un Live CD de linux,

arrancar con él, acceder al disco duro y apropiarse del contenido. Igualmente, esas

carpetas serían vulnerables a virus en el caso de que el propietario se infectase.

Cifrar carpeta y archivos en Windows Esta opción también la consideraríamos de andar por casa, a nivel de usuario, no a

nivel de empresa. Consiste en señalar una carpeta o archivo con el botón derecho del

ratón, elegir Propiedades, click en Opciones avanzadas y marcar Cifrar contenido

para proteger los datos.

Page 69: GUÍA DIDÁCTICA ELABORADA

68 Ing. Jorge Jaramillo Alba

Ilustración 23: Establecimiento de permisos en Windows

De esta forma el cifrado se asocia a la cuenta de usuario. Si otro usuario entrara en

ese ordenador e intentara abrir el archivo no podrá a menos que lograse entrar con tu

propio usuario.

Realice el procedimiento en una Carpeta (el nombre de la carpeta debe ser su apellido) que contenga varios archivos y documente el proceso con capturas de pantalla que expliquen el procedimiento realizado

Actividad de Aprendizaje 4 de la Unidad Didáctica V:

Protección de Archivos en Linuxx

En Linux la protección de archivos se la realiza con un comando.

Chattr al igual que otros comandos, tiene la propiedad de modificar los atributos de un

archivo o directorio en un sistema Linux. Pero tiene una particularidad y es que

brinda el mayor nivel de seguridad en archivos y directorios.

También puedes aprovechar esta seguridad extrema para evitar que archivos

importantes se eliminen accidentalmente, incluso siendo root.

Page 70: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

69

Proteger archivos y carpetas con el comando Chattr

La sintaxis de «chattr» es la siguiente:

chattr [ -RVf ] [ -v version ] [ mode ] archivo

Parámetros de Chattr

Los dividimos en tres partes:

Opcionales.

Operadores.

Atributos.

Parámetros de opción:

-V – Imprime en pantalla, información y detalles ampliados del comando.

-R – Indica una forma recursiva a los atributos de las carpetas seleccionadas y a su

contenido.

–v – Imprime en pantalla la versión utilizada.

Parámetros de operadores:

+ – Agrega atributos a los que ya existen.

– – Reduce o elimina los permisos existentes.

= – Sustituye los atributos que tiene el archivo por los que le indiques.

Parámetros de los atributos (los más usados):

a – Solo permite agregar contenido en el archivo.

A – Que la fecha del último acceso no sea modificada.

c – El archivo se comprimirá automáticamente.

d – No se permite backups del archivo o carpeta con dump.

i – Este atributo hará el archivo inmutable, para que me entiendas bien, no se podrá

eliminar, tampoco renombrar, ni apuntar a enlaces simbólicos, y mucho menos insertar

datos en el archivo o carpeta.

S – Las modificaciones del archivo se escribirán en el disco de forma sincrónica.

s – Los bloques que usa el archivo serán re-escritos con ceros (0), el fichero será

irrecuperable, es como si ese espacio hubiese sido formateado a bajo nivel (de

fábrica).

u – Al eliminar un archivo, su contenido quedara guardado por si lo quieres recuperar

después con alguna herramienta especializada.

Ejemplos de uso del comando Chattr

Ejemplos de como hacer que un archivo o carpeta sea «inmutable«, con «+ i «.

chattr +i sololinux.txt

chattr +i carpeta

Page 71: GUÍA DIDÁCTICA ELABORADA

70 Ing. Jorge Jaramillo Alba

Usaremos «+ a» para que solo permita adjuntar contenido.

chattr +a sololinux.txt

Con la opción «–» podemos eliminar atributos, incluso los del archivo inmutable.

chattr -i sololinux.txt

chattr -a linuxparatodos.txt

***En una carpeta de forma recursiva.

chattr -R -ai carpeta

Ilustración 24: Consola en Linux para permisos

Investigue sobre el comando chattr

Actividad de Aprendizaje 5 de la Unidad Didáctica V:

Sistemas de Archivo FAT

FAT es con diferencia el sistema de archivos más simple de aquellos compatibles con

Windows NT. El sistema de archivos FAT se caracteriza por la tabla de asignación de

archivos (FAT), que es realmente una tabla que reside en la parte más "superior" del

volumen. Para proteger el volumen, se guardan dos copias de la FAT por si una

resultara dañada. Además, las tablas FAT y el directorio raíz deben almacenarse en

una ubicación fija para que los archivos de arranque del sistema se puedan ubicar

correctamente.

Page 72: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

71

Un disco con formato FAT se asigna en clústeres, cuyo tamaño viene determinado por

el tamaño del volumen. Cuando se crea un archivo, se crea una entrada en el

directorio y se establece el primer número de clúster que contiene datos. Esta entrada

de la tabla FAT indica que este es el último clúster del archivo o bien señala al clúster

siguiente.

La actualización de la tabla FAT es muy importante y requiere mucho tiempo. Si la

tabla FAT no se actualiza con regularidad, podría producirse una pérdida de datos.

Requiere mucho tiempo porque las cabezas lectoras de disco deben cambiar de

posición y ponerse a cero en la pista lógica de la unidad cada vez que se actualiza la

tabla FAT.

No hay ninguna organización en cuanto a la estructura de directorios de FAT, y se

asigna a los archivos la primera ubicación libre de la unidad. Además, FAT solo es

compatible con los atributos de los archivos de almacenamiento, del sistema, ocultos

y de solo lectura.

Convención de nomenclatura de FAT

FAT usa la convención de nomenclatura tradicional 8.3 y todos los nombres de archivo

deben crearse con el conjunto de caracteres ASCII. El nombre de un archivo o

directorio puede tener ocho caracteres de longitud, después un separador de punto (.)

y una extensión de hasta tres caracteres. El nombre debe empezar con una letra o un

número y puede contener cualquier carácter excepto los siguientes:

. " / \ [ ] : ; | = ,

Si se usa cualquiera de estos caracteres, pueden producirse resultados inesperados.

El nombre no puede contener espacios en blanco.

Los nombres siguientes están reservados:

CON, AUX, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3, PRN, NUL

Todos los caracteres se convertirán a mayúsculas.

Ventajas de FAT

No es posible realizar una recuperación de archivos eliminados en Windows NT en

ninguno de los sistemas de archivos compatibles. Las utilidades de recuperación de

archivos eliminados intentan tener acceso directamente al hardware, lo que no se

puede hacer en Windows NT. Sin embargo, si el archivo estuviera en una partición

FAT y se reiniciara el sistema en MS-DOS, se podría recuperar el archivo. El sistema

de archivos FAT es el más adecuado para las unidades y/o particiones de menos de

200 MB aproximadamente, ya que FAT se inicia con muy poca sobrecarga.

Page 73: GUÍA DIDÁCTICA ELABORADA

72 Ing. Jorge Jaramillo Alba

Desventajas de FAT

Cuando se usen unidades o particiones de más de 200 MB, es preferible no usar el

sistema de archivos FAT. El motivo es que a medida que aumente el tamaño del

volumen, el rendimiento con FAT disminuirá rápidamente. No es posible establecer

permisos en archivos que estén en particiones FAT.

Las particiones FAT tienen un tamaño limitado a un máximo de 4 Gigabytes (GB) en

Windows NT y 2 GB en MS-DOS. Para obtener información adicional acerca de esta

limitación, consulte el siguiente artículo de Microsoft Knowledge Base:

Argumente ejemplos de Sistemas Operativos que trabajan con el Sistema de Archivo FAT

Actividad de Aprendizaje 6 de la Unidad Didáctica V:

Sistemas de Archivo HPFS

El sistema de archivos HPFS se presentó por primera vez con OS/2 1.2 para permitir

un mejor acceso a los discos duros de mayor tamaño que estaban apareciendo en el

mercado. Además, era necesario que un nuevo sistema de archivos ampliara el

sistema de nomenclatura, la organización y la seguridad para las crecientes

demandas del mercado de servidores de red. HPFS mantiene la organización de

directorio de FAT, pero agrega la ordenación automática del directorio basada en

nombres de archivo. Los nombres de archivo se amplían hasta 254 caracteres de

doble byte. HPFS también permite crear un archivo de "datos" y atributos especiales

para permitir una mayor flexibilidad en términos de compatibilidad con otras

convenciones de nomenclatura y seguridad. Además, la unidad de asignación cambia

de clústeres a sectores físicos (512 bytes), lo que reduce el espacio perdido en el

disco.

En HPFS, las entradas de directorio contienen más información que en FAT. Además

del archivo de atributos, esto incluye información sobre la fecha y la hora de

modificación, de creación y de acceso. En lugar de señalar al primer clúster del

archivo, en HPFS las entradas del directorio señalan a FNODE. FNODE puede

contener los datos del archivo, o bien punteros que pueden señalar a datos del archivo

o a otras estructuras que, a su vez, señalarán a datos del archivo.

HPFS intenta asignar, en la medida de lo posible, la mayor cantidad de datos de un

archivo en sectores contiguos. Esto se hace con el fin de aumentar la velocidad al

realizar el procesamiento secuencial de un archivo.

Page 74: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

73

HPFS organiza una unidad en una serie de bandas de 8 MB y, siempre que sea

posible, un archivo estará contenido dentro de una de estas bandas. Entre cada una

de estas bandas hay mapas de bits de asignación de 2 KB, que hacen un seguimiento

de los sectores dentro de una banda que se han asignado y que no se han asignado.

La creación de bandas aumenta el rendimiento porque el cabezal de la unidad no tiene

que volver a la parte superior lógica (normalmente el cilindro 0) del disco, sino al mapa

de bits de asignación de banda más cercano, para determinar dónde se almacenará

un archivo.

Además, HPFS incluye un par de objetos de datos especiales únicos:

Superbloque: El superbloque se encuentra en el sector lógico 16 y contiene un

puntero al FNODE del directorio raíz. Uno de los mayores peligros de usar HPFS es

que si el superbloque se pierde o resulta dañado debido a un sector defectuoso, lo

mismo ocurrirá con el contenido de la partición, incluso aunque el resto de la unidad

esté bien. Sería posible recuperar los datos de la unidad copiando todo a otra unidad

con un sector 16 en buen estado y volviendo a generar el superbloque. Sin embargo,

es una tarea muy compleja.

Bloque de reserva: el bloque de reserva se encuentra en el sector lógico 17, y

contiene una tabla de "revisiones" y el bloque de directorio de reserva. En HPFS,

cuando se detecta un sector defectuoso, la entrada de las "revisiones" se usa para

señalar lógicamente a un sector en buen estado existente en lugar de al sector

defectuoso. Esta técnica para el tratamiento de errores de escritura se conoce como

revisión.

La revisión es una técnica en la que, si se produce un error debido a un sector

defectuoso, el sistema de archivos mueve la información a otro sector diferente y

marca el sector original como no válido. Todo ello se realiza de forma transparente

para cualquier aplicación que esté realizando operaciones de E/S de disco (es decir,

la aplicación nunca sabe que hubo problemas con el disco duro). Al usar un sistema

de archivos que admite revisiones, se eliminarán mensajes de error como el de FAT

"¿Desea interrumpir, reintentar o cancelar?" que aparece cuando se encuentra un

sector defectuoso.

Ventajas de HPFS

HPFS es la mejor opción para las unidades comprendidas entre 200 y 400 MB.

Desventajas de HPFS

Debido a la sobrecarga que implica HPFS, no es una opción muy eficaz para un

volumen de menos de unos 200 MB. Además, con volúmenes mayores de unos 400

MB, habrá una ligera degradación del rendimiento. No se puede establecer la

seguridad en HPFS con Windows NT.

Page 75: GUÍA DIDÁCTICA ELABORADA

74 Ing. Jorge Jaramillo Alba

Argumente ejemplos de Sistemas Operativos que trabajan con el Sistema de Archivo HPFS

Actividad de Aprendizaje 7 de la Unidad Didáctica V:

Sistemas de Archivo NTFS

Desde el punto de vista de un usuario, NTFS sigue organizando los archivos en

directorios que, al igual que ocurre en HPFS, se ordenan. Sin embargo, a diferencia

de FAT o de HPFS, no hay ningún objeto "especial" en el disco y no hay ninguna

dependencia del hardware subyacente, como los sectores de 512 bytes. Además, no

hay ninguna ubicación especial en el disco, como las tablas de FAT o los superbloques

de HPFS.

Los objetivos de NTFS son proporcionar lo siguiente:

Confiabilidad, que es especialmente deseable para los sistemas avanzados y

los servidores de archivos

Una plataforma para tener mayor funcionalidad

Compatibilidad con los requisitos de POSIX

Eliminación de las limitaciones de los sistemas de archivos FAT y HPFS

Confiabilidad

Para garantizar la confiabilidad de NTFS, se han tratado tres áreas importantes:

la capacidad de recuperación, la eliminación de errores graves de un único

sector y las revisiones.

NTFS es un sistema de archivos recuperable porque hace un seguimiento de las

transacciones con el sistema de archivos. Cuando se ejecuta un comando CHKDSK

en FAT o HPFS, se comprueba la coherencia de los punteros dentro del directorio, la

asignación y las tablas de archivos. En NTFS se mantiene un registro de

transacciones con estos componentes de forma que CHKDSK solo tenga que

deshacer las transacciones hasta el último punto de confirmación para recuperar la

coherencia dentro del sistema de archivos.

En FAT o en HPFS, si se produce un error en un sector que es la ubicación de uno de

los objetos especiales del sistema de archivos, se producirá un error de un único

sector. NTFS evita esto de dos maneras: en primer lugar, no usa objetos especiales

en el disco, hace un seguimiento de todos los objetos del disco y los protege. En

segundo lugar, en NTFS se mantienen varias copias (el número depende del tamaño

del volumen) de la tabla maestra de archivos.

Page 76: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

75

De manera similar a las versiones OS/2 de HPFS, NTFS admite revisiones.

Ventajas de NTFS

NTFS es la mejor opción para volúmenes de unos 400 MB o más. El motivo es que el

rendimiento no se degrada en NTFS, como ocurre en FAT, con tamaños de volumen

mayores.

La posibilidad de recuperación está diseñada en NTFS de manera que un usuario

nunca tenga que ejecutar ningún tipo de utilidad de reparación de disco en una

partición NTFS. Para conocer otras ventajas de NTFS, consulte lo siguiente:

Desventajas de NTFS

No se recomienda usar NTFS en un volumen de menos de unos 400 MB, debido a la

sobrecarga de espacio que implica. Esta sobrecarga de espacio se refiere a los

archivos de sistema de NTFS que normalmente usan al menos 4 MB de espacio de

unidad en una partición de 100 MB.

Actualmente, NTFS no integra ningún cifrado de archivos. Por tanto, alguien puede

arrancar en MS-DOS u otro sistema operativo y emplear una utilidad de edición de

disco de bajo nivel para ver los datos almacenados en un volumen NTFS.

No es posible formatear un disco con el sistema de archivos NTFS; Windows NT

formatea todos los disco con el sistema de archivos FAT porque la sobrecarga de

espacio que implica NTFS no cabe en un disco.

Convenciones de nomenclatura de NTFS

Los nombres de archivo y de directorio pueden tener hasta 255 caracteres de longitud,

incluyendo cualquier extensión. Los nombres conservan el modelo de mayúsculas y

minúsculas, pero no distinguen mayúsculas de minúsculas. NTFS no realiza ninguna

distinción de los nombres de archivo basándose en el modelo de mayúsculas y

minúsculas. Los nombres pueden contener cualquier carácter excepto los siguientes:

? " / \ < > * | :

En la actualidad, desde la línea de comandos solo se pueden crear nombres de

archivo de un máximo de 253 caracteres.

Argumente ejemplos de Sistemas Operativos que trabajan con el Sistema de Archivo HPFS

Page 77: GUÍA DIDÁCTICA ELABORADA

76 Ing. Jorge Jaramillo Alba

Actividad de Aprendizaje 8 de la Unidad Didáctica V:

Sistemas de archivos soportados por Linux

Linux soporta una gran cantidad de tipos diferentes de sistemas de archivos. Para

nuestros propósitos los más importantes son:

Minix: el más antiguo y supuestamente el más fiable, pero muy limitado en

características (algunas marcas de tiempo se pierden, 30 caracteres de longitud

máxima para los nombres de los archivos) y restringido en capacidad (como mucho

64 MB de tamaño por sistema de archivos).

xia

Una versión modificada del sistema de archivos minix que eleva los límites de nombres

de archivos y tamaño del sistema de archivos, pero por otro lado no introduce

características nuevas. No es muy popular, pero se ha verificado que funciona muy

bien.

ext3

El sistema de archivos ext3 posee todas las propiedades del sistema de archivos ext2.

La diferencia es que se ha añadido una bitácora (journaling). Esto mejora el

rendimiento y el tiempo de recuperación en el caso de una caída del sistema. Se ha

vuelto más popular que el ext2.

ext2

El más sistema de archivos nativo Linux que posee la mayor cantidad de

características. Está diseñado para ser compatible con diseños futuros, así que las

nuevas versiones del código del sistema de archivos no necesitará rehacer los

sistemas de archivos existentes.

ext

Una versión antigua de ext2 que no es compatible en el futuro. Casi nunca se utiliza

en instalaciones nuevas, y la mayoría de la gente que lo utilizaba han migrado sus

sistemas de archivos al tipo ext2.

reiserfs

Un sistema de archivos más robusto. Se utiliza una bitácora que provoca que la

pérdida de datos sea menos frecuente. La bitácora es un mecanismo que lleva un

registro por cada transacción que se va a realizar, o que ha sido realizada. Esto

permite al sistema de archivos reconstruirse por sí sólo fácilmente tras un daño

ocasionado, por ejemplo, por cierres del sistema inadecuados.

Page 78: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

77

Argumente a su criterio que tipo de sistema de archivos es mejor.

Actividades de Auto-evaluación de la Unidad Didáctica V:

1.- ¿Qué es un Sistema de Archivos?

2.- ¿Qué mecanismos de Seguridad implementa un Sistema de archivos?

3.- ¿De qué manera Windows permite proteger sus archivos?

4.- ¿De qué manera Linux permite proteger sus archivos?

5.- Desarrolle un cuadro comparativo de los sistemas de archivos Fat, NTFS

y HPFS

6.- Desarrolle un cuadro comparativo de los tipos de sistemas de Archivos

en Linux

Actividad de Evaluación de la Unidad Didáctica V:

Descargue un software que permite el formateo de unidades de

almacenamiento con diversos tipos de sistemas de archivos y realice el

formateo de una unidad con FAT, NTFS y Ext. Documente el procedimiento

con capturas de pantalla

Page 79: GUÍA DIDÁCTICA ELABORADA

78 Ing. Jorge Jaramillo Alba

Unidad Didáctica VI

Título de la Unidad Didáctica VI:

Instalación y Configuración de Sistemas Operativos.

Introducción de la Unidad Didáctica VI:

Usualmente el usuario conoce el manejo de MS-Windows, que es un sistema

operativo, sin embargo hay otros sistemas operativos como: Unix, GNU/Linux, Solaris,

Mac-OS.

A nivel general, la instalación de Windows es bastante documentada, y sencilla para

personas incluso sin conocimientos avanzados, sin embargo a nivel de Linux, a pesar

de la existencia de información, su proceso de instalación es poco aplicado por parte

de usuarios con conocimientos básicos por temor a equivocarse o provocar daños a

nivel de hardware, siendo esto una contrariedad dado el estatus de open source que

tiene Linux.

Objetivo de la Unidad Didáctica VI:

Instalar sistemas operativos mediante la aplicación de configuraciones adecuadas

para procesos relacionados con redes de computadores que gestionen recursos de

manera responsable.

Organizador Gráfico de la Unidad didáctica VI:

Instalación

Configuración

Windows

Instalación

Configuración

Linux

Page 80: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

79

Actividades de aprendizaje de la Unidad Didáctica VI:

Actividad de Aprendizaje 1 de la Unidad Didáctica VI:

Instalación y Configuración de Windows

Cuando el sistema intente arrancar desde la memoria USB, lo primero que veremos será

un mensaje que nos pedirá que pulsemos una tecla cualquiera para empezar con la

instalación de Windows 10.

Ilustración 25: Instalación de Windows 10

Pulsamos cualquier tecla, y empezará una ventana de carga durante la cual se cargará

en la memoria todo lo necesario para arrancar el asistente de instalación.

Ilustración 26: Instalación de Windows 10

Page 81: GUÍA DIDÁCTICA ELABORADA

80 Ing. Jorge Jaramillo Alba

Tras esta ventana de carga, que dura unos segundos, veremos la ventana inicial del

asistente de instalación de Windows 10.

Ilustración 27: Instalación de Windows 10

En esta ventana debemos configurar el idioma de nuestro sistema operativo, el formato

de hora y moneda y el tipo de teclado que vamos a utilizar.

Pulsamos sobre «Siguiente» y en la nueva ventana que aparece pulsaremos sobre

«Instalar ahora«.

Ilustración 28: Instalación de Windows 10

El asistente de instalación de Windows dedicará unos segundos a preparar la instalación.

Page 82: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

81

Ilustración 29: Instalación de Windows 10

El siguiente paso que nos pedirá el asistente será introducir el número de licencia de

nuestro Windows. Si la licencia se encuentra grabada en la BIOS/UEFI de nuestro

ordenador, esta ventana no la veremos. De lo contrario, si la tenemos a mano podemos

introducirla o, si no, pulsamos sobre «No tengo clave de producto» para continuar sin

dicha licencia.

Ilustración 30: Instalación de Windows 10

A continuación, el asistente nos preguntará por la versión de Windows 10 que queremos

instalar. Debemos elegir la que corresponda a nuestra licencia para evitar problemas.

Page 83: GUÍA DIDÁCTICA ELABORADA

82 Ing. Jorge Jaramillo Alba

Ilustración 31: Instalación de Windows 10

Pulsamos de nuevo sobre Siguiente y aparecerán los términos de licencia, los cuales

aceptaremos para continuar.

Ilustración 32: Instalación de Windows 10

La siguiente ventana es una de las más importantes. En ella elegiremos el tipo de

instalación que queremos:

Si queremos actualizar Windows y no perder los datos ni aplicaciones,

elegiremos «Actualización».

Para una instalación limpia, elegiremos «Personalizada».

Page 84: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

83

Ilustración 33: Instalación de Windows 10

En nuestro caso seleccionamos la segunda opción, personalizada, y veremos un nuevo

paso en el asistente donde elegir la partición del disco duro donde instalaremos

Windows.

Si queremos crear particiones, pulsaremos sobre «Nuevo» y configuraremos el espacio

que queremos utilizar para nuestro Windows. Si no hacemos nada, el asistente utilizará

automáticamente todo el espacio para instalar Windows (y crear la partición de

recuperación de 500 MB). En la segunda imagen podemos ver las particiones que crea

por defecto Windows para poder arrancar y funcionar.

Ilustración 34: Instalación de Windows 10

Page 85: GUÍA DIDÁCTICA ELABORADA

84 Ing. Jorge Jaramillo Alba

Ilustración 35: Instalación de Windows 10

Ilustración 36: Instalación de Windows 10

Pulsamos sobre «Siguiente» y comenzará el proceso de instalación. Durante este

proceso se llevarán a cabo una serie de tareas:

Copia de todos los archivos de instalación al disco duro.

Preparar los archivos para la instalación.

Instalar características de Windows.

Instalar actualizaciones incluidas en el medio se instalación.

Finalizar instalación.

Page 86: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

85

Ilustración 37: Instalación de Windows 10

Ilustración 38: Instalación de Windows 10

Debemos esperar a que finalice el proceso de instalación. Durante el cual, el ordenador

se reiniciará varias veces y, además, veremos distintas fases, tanto del asistente de

instalación como de la configuración inicial de nuestro Windows 10.

Page 87: GUÍA DIDÁCTICA ELABORADA

86 Ing. Jorge Jaramillo Alba

Ilustración 39: Instalación de Windows 10

Ilustración 40: Instalación de Windows 10

Tras los reinicios, Windows 10 ya estará instalado, aunque antes de poder usarlo

tendremos que completar el siguiente asistente de configuración inicial.

Configuración inicial tras instalar Windows 10

Una vez finalice la instalación y los preparativos previos para Windows 10, veremos un

asistente de configuración inicial desde el que tendremos que configurar nuestro sistema

operativo.

Page 88: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

87

Configuración básica

Lo primero que aparecerá en este asistente de configuración será Cortana, el asistente

personal. Puede que incluso nos asuste, porque empezará hablando.

Ilustración 41: Configuración de Windows 10

Ilustración 42: Configuración de Windows 10

Si no queremos que Cortana nos asista durante esta configuración inicial, entonces

podemos hacer clic sobre el icono del micro que aparece en la parte inferior izquierda

para silenciarla.

A continuación, lo que debemos configurar en Windows 10 es la región del sistema

operativo, así como la distribución del teclado que vamos a usar. Además, el asistente

nos permitirá añadir otras distribuciones de teclado, en caso de usarlas. Si no vamos a

Page 89: GUÍA DIDÁCTICA ELABORADA

88 Ing. Jorge Jaramillo Alba

añadir otras distribuciones de teclado, entonces haremos clic sobre «Omitir» para

continuar.

Ilustración 43: Configuración de Windows 10

Ilustración 44: Configuración de Windows 10

Configuración de red

El asistente de configuración de Windows 10 se encargará a continuación de realizar

una serie de configuraciones, como, por ejemplo, de la red. Si estamos conectados

por cable, el asistente se conectará automáticamente a Internet. Si lo hacemos por Wi-

Fi, veremos una lista con todas las redes, y tendremos que elegir la nuestra.

Page 90: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

89

Ilustración 45: Configuración de Windows 10

Configuración de cuenta

Una vez conectados a la red, llega uno de los pasos más polémicos de Windows

10: iniciar sesión con una Cuenta Microsoft. Si tenemos la cuenta y vamos a usarla,

podemos introducir nuestro correo y nuestra contraseña en este asistente para iniciar

sesión. Si no tenemos una cuenta, podemos crear una nueva desde aquí.

Ilustración 46: Configuración de Windows 10

Page 91: GUÍA DIDÁCTICA ELABORADA

90 Ing. Jorge Jaramillo Alba

Ilustración 47: Configuración de Windows 10

Una Cuenta Microsoft nos brinda muchas ventajas a la hora de usar el sistema operativo,

como acceso a OneDrive y la posibilidad de sincronizar la configuración del PC con la

nube. También nos permite acceder a la Microsoft Store para bajar apps de la tienda de

Windows.

¿Y si queremos usar una cuenta local de Windows 10? Microsoft ha complicado

bastante esta opción en Windows 10 Home, pero es posible hacerlo. Simplemente

debemos evitar conectarnos a Internet durante la instalación para que nos aparezca esta

posibilidad. De todas formas, os recomendamos optar por iniciar sesión con la Cuenta

Microsoft.

El siguiente paso será crear un PIN para iniciar sesión. Gracias a él podremos iniciar

más rápido con el código numérico en lugar de tener que escribir una y otra vez la

contraseña, que, por seguridad, debería ser bastante larga.

Page 92: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

91

Ilustración 48: Configuración de Windows 10

Ilustración 49: Configuración de Windows 10

Page 93: GUÍA DIDÁCTICA ELABORADA

92 Ing. Jorge Jaramillo Alba

Ilustración 50: Configuración de Windows 10

Configuración de servicios de Microsoft

El siguiente paso nos permitirá elegir si queremos, o no, activar el historial de actividad.

Esta función nos permite sincronizar todos nuestros ordenadores y dispositivos de

manera que podamos continuar lo que estamos haciendo en uno de ellos en cualquier

otro. Todo gracias a nuestra Cuenta Microsoft. Si no vamos a usarlo, podemos negarlo,

que el proceso continuará igualmente.

Ilustración 51: Configuración de Windows 10

También veremos una pantalla que nos permitirá instalar la aplicación «Tu teléfono», y

configurar directamente Windows 10 de manera que podamos controlar nuestro móvil

desde el PC.

Page 94: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

93

Ilustración 52: Configuración de Windows 10

A continuación, tendremos que elegir si queremos activar OneDrive para guardar todos

los datos personales en la nube de Microsoft, o si queremos guardar los datos localmente

en el PC.

Ilustración 53: Configuración de Windows 10

Windows 10 también nos ofrecerá la posibilidad de instalar una versión de prueba de

Office 365 en el sistema operativo, o comprar directamente la licencia de la suite.

Page 95: GUÍA DIDÁCTICA ELABORADA

94 Ing. Jorge Jaramillo Alba

Ilustración 54: Configuración de Windows 10

A continuación, tendremos que elegir si queremos que Cortana sea nuestro asistente

personal, o si queremos que el asistente digital quede desactivado. Si lo habilitamos,

Cortana nos ayudará con recordatorios, nos ayudará a buscar cosas y, además, nos

contará chistes malos. También podemos marcar la casilla que nos permitirá indicarle si

queremos que responda automáticamente al comando de voz «Hola Cortana».

Ilustración 55: Configuración de Windows 10

Configuración de privacidad

Y, para finalizar, ya solo nos quedan de configurar las distintas opciones de privacidad

de Windows 10. Estas opciones son muy claras y explicativas, y nos permiten saber

cómo y para qué usará Windows 10 nuestros datos. Según queramos, podemos

permitírselo o impedir que acceda a estos datos.

Los puntos de privacidad de Windows 10 que configuraremos son:

Page 96: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

95

Reconocimiento de voz.

Ubicación.

Encontrar mi dispositivo.

Enviar diagnósticos a Microsoft.

Mejorar escritura.

Obtener experiencias personalizadas.

Permitir a las aplicaciones usar el ID de publicidad.

Por supuesto, estas (y otras) opciones de privacidad se pueden configurar más adelante

una vez instalado Windows 10.

Una vez configurado esto, el asistente de configuración terminará de preparar Windows

10 para nosotros.

Este proceso puede tardar unos minutos y, cuando finalice, ya podremos ver el escritorio

de Windows. Ya hemos instalado Windows 10 desde cero.

Ilustración 56: Finalización de Instalación de Windows 10

Comente sus impresiones sobre el proceso de instalación de Windows

Actividad de Aprendizaje 2 de la Unidad Didáctica VI:

Instalación y Configuración de Linux

Para instalar Linux una de las opciones es Ubuntu. Por soporte, la opción más

recomendable es la 14.04.03 LTS.

Page 97: GUÍA DIDÁCTICA ELABORADA

96 Ing. Jorge Jaramillo Alba

Ilustración 57: Configuración de Linux Ubuntu

Lo creas o no, este segunda paso es también muy sencillo. Las preguntas y elecciones

que te presenta Ubuntu durante su instalación tienen siempre una opción más fácil, y

esa precisamente es la que escogeremos.

Empezamos con una elección de lo más evidente. En la primera pantalla, cambia el

idioma a español (todas las pantallas de la instalación cambiarán a este idioma

automáticamente).

Ilustración 58: Instalación de Linux Ubuntu

También puedes optar por varias lenguas autonómicas: catalán, gallego y euskera,

seleccionando la opción correspondiente. Una vez te aparezca la pantalla en el idioma

que desees, selecciona Instalar Ubuntu.

Page 98: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

97

Ilustración 59: Instalación de Linux Ubuntu

La opción de Probar Ubuntu es para arrancar el sistema operativo en modo Live, esto

es, sin necesidad de instalarlo en tu ordenador. Habitualmente se utiliza para echar

un vistazo al entorno, pero no es lo que nosotros queremos hoy.

En la siguiente pantalla, Ubuntu nos recuerda los requisitos recomendados y nos

ofrece dos opciones para marcar. En primer lugar, descargar las

actualizaciones disponibles durante la instalación, así empezaremos con el sistema

totalmente al día.

Además, podemos elegir la instalación de Fluendo MP3, un plugin para reproducir

ficheros con este formato de compresión. Se trata de un software privativo, de modo

que elegirlo o no es una cuestión personal de cada usuario. Lo más práctico, es justo

decirlo, es instalarlo y asegurarte así la compatibilidad si quieres utilizar este formato

y no sus alternativas libres.

Page 99: GUÍA DIDÁCTICA ELABORADA

98 Ing. Jorge Jaramillo Alba

Ilustración 60: Configuración de Linux Ubuntu

No te asustes con la siguiente pantalla porque no tiene dificultad alguna. La instalación

ofrece varias opciones sobre cómo particionar o reparticionar el disco duro, encriptar,

etc.

Como ya hemos dicho, se trata de perder el miedo a Linux, así que tiramos por la

opción más fácil, la de destinar el ordenador únicamente a Ubuntu. Por eso señalamos

la opción de Borrar disco e instalar Ubuntu (contamos con que si tenías información

importante en tu ordenador, ya la hayas guardado!).

Ilustración 61: Configuración de Linux Ubuntu

Ya no te dará tanto miedo la siguiente pantalla: la zona horaria en la que te encuentras

se detecta automáticamente y de forma eficaz. Pese a que la cabeza del alfiler esté

Page 100: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

99

pisando el Estrecho de Gibraltar, Ubuntu se ha dado cuenta de dónde estamos y cuál

es nuestro horario. Si estás conforme, Pulsa en Continuar.

Ilustración 62: Configuración de Linux Ubuntu

Ha llegado el momento de escoger la distribución de nuestro teclado. Ubuntu

demuestra su amplitud de miras y no se limita a presentar un teclado español genérico.

Puedes probar las variaciones que quieras en la caja inferior para asegurarte de que

la distribución sea la correcta. Una vez hayas comprobado que todo funciona

bien, pulsa en Continuar.

Ilustración 63: Configuración de Linux Ubuntu

¡Últimas opciones! Pero son muy importantes: escoge un nombre para el equipo, un

nombre de usuario y una contraseña. Finalmente, opta por cómo iniciar la sesión.

Page 101: GUÍA DIDÁCTICA ELABORADA

100 Ing. Jorge Jaramillo Alba

Nuestro consejo es que el sistema te solicite la contraseña y, si encriptas tu carpeta

personal, mejor que mejor.

Ilustración 64: Configuración de Linux Ubuntu

Como has comprobado, no tiene ninguna dificultad y Ubuntu te deja escoger hasta

qué grado quieres complicarte con su uso y configuración.

Durante unos minutos, el sistema irá presentando algunas pantallas con el software

incluido en Ubuntu e irá descargando ficheros y actualizaciones, preparando y

configurando el hardware, el gestor de arranque... un poco de paciencia.

Ilustración 65: Configuración de Linux Ubuntu

Pero tú sólo tendrás que mirar, ya está todo hecho. Espera a que finalice, extrae el

disco de instalación y pulsa Enter para que se reinicie el sistema.

Page 102: GUÍA DIDÁCTICA ELABORADA

Sistemas Operativos

101

Comente sus impresiones sobre el proceso de instalación de Linux

Actividades de Auto-evaluación de la Unidad Didáctica VI:

1.- Resuma los procesos de Instalación de Windows y Linux.

Actividad de Evaluación de la Unidad Didáctica VI:

Realice la instalación de un sistema operativo diferente a Windows 10 y

Linux Ubuntu. Documente el proceso con la ayuda de capturas de pantalla.

Atento a la Evaluación del Parcial II

BIBLIOGRAFÍA

Tanenbaum: Sistemas Operativos, Ediciones Prentice Hall, Cuarta Edición:

México – 2014.

Carretero Jesús: Sistemas Operativos Una Visión Aplicada, Mc Graw Hill:

España 2001