Unidad 2
Unidad 2
Unidad 2
Caso práctico
Por otro lado, tenemos a Ana y Carlos, dos jóvenes que quieren
Elaboración Propia
mejorar su formación profesional en la rama de informática. Ana, a
quien le apasiona el diseño gráfico, parece decantarse por estudiar el
ciclo de Desarrollo de Aplicaciones Informáticas Multiplataforma,
puesto que le vendría muy bien para mejorar a nivel profesional. Carlos está pensando
estudiar el ciclo de Desarrollo de Aplicaciones Web, ya que se ajusta mejor a su perfil y tiene
curiosidad por aprender a programar en entornos web.
Caso práctico
Ana y Carlos acaban de llegar a BK Programación y
preguntan por Ada, ella los recibe en su oficina y se alegra
de saludar de nuevo a Ana, colaboradora ocasional de BK
Programación. Ana y Carlos le comentan su intención de
estudiar ciclos formativos de informática y su interés por
realizar, si fuera posible, las prácticas en la empresa. Ada
encuentra interesante la posibilidad de incorporar personal
con nuevas ideas, ilusión y con conocimientos actualizados.
Cree que puede ser una buena experiencia en la que ambas
partes, estudiantes y empresa, se beneficien. Elaboración Propia
Caso práctico
María, encargada en muchas ocasiones de implantar los servicios web de los clientes,
siempre se preocupa de conocer a fondo los requisitos y peculiaridades de instalación y
configuración de las aplicaciones con las que trabaja, documentándose para ello.
¿Qué ocurre cuando queremos instalar una aplicación software en el ordenador? En todo proceso de
instalación se han de seguir unos pasos que describiremos a continuación. Si no se realizan
adecuadamente podemos encontrarnos con un funcionamiento limitado o erróneo de la aplicación. Los
pasos serían:
Y de carácter software:
Plataforma software: sistema operativo bajo el que funciona la aplicación, Windows, Linux, etc.
Otros paquetes software adicionales necesarios, tales como actualizaciones concretas de
seguridad para el sistema operativo, la JVM (máquina virtual de Java), el Flash Player, etc. Por
ejemplo, para instalar el editor de imágenes de Microsoft te indica que debes tener instalado varios
componentes de Microsoft.
Teniendo en cuenta lo visto anteriormente, los fabricantes de aplicaciones informáticas suelen establecer
tres niveles de requisitos para la instalación de sus aplicaciones:
Equipo básico.
Equipo opcional.
Equipo en red.
¿Qué supone cada uno de los niveles anteriores? Veamos las características de cada nivel de requisitos
software a través de la siguiente presentación:
Resumen textual alternativo
1.2.- Requisitos e instalación: Ejecución
del programa de instalación.
Ejecución del programa de instalación
Por la instalación de un programa o aplicación informática entendemos el conjunto de pasos que nos van a
permitir copiar los archivos necesarios, configurar, implantar y poner en funcionamiento una aplicación en
un sistema informático.
La mayoría de las aplicaciones presentan dos niveles en función de los conocimientos del usuario:
Instalación básica
Instalación personalizada o avanzada
Instalación básica: Este nivel está diseñado para usuarios con pocos conocimientos informáticos. El
programa realizará una instalación en función de los elementos que detecte en el equipo y según unos
parámetros básicos establecidos por defecto por el fabricante.
En la actualidad, la mayoría de los fabricantes distribuyen también sus aplicaciones en formato DVD, CD o
con posibilidad de descarga de los archivos de instalación o en imágenes ISO (por ejemplo: muchas
distribuciones de Linux pueden descargarse en este formato).
1.3.- Requisitos e instalación:
Configuración de la aplicación.
Configuración de la aplicación
Una vez realizado correctamente el proceso de instalación sólo queda configurar las opciones de la
aplicación, a veces también del sistema operativo, y configurar el entorno de trabajo. En la configuración
se pueden modificar los parámetros establecidos por defecto para la aplicación. Algunas aplicaciones
pueden generar una serie de archivos de configuración con los datos introducidos por los usuarios. El
usuario debe realizar una última tarea antes de comenzar a utilizar la aplicación: configurar el entorno de
trabajo. Esto consiste en definir una serie de parámetros de funcionamiento que adecuen el
funcionamiento de la aplicación a las exigencias del usuario. Este proceso se realizará en el caso que no
sea satisfactoria la configuración establecida por defecto por el programa. Entre estos parámetros
aparecen:
Ajuste y distribución de la pantalla (tamaños de las ventanas, colores, tipos de letras, cambio de
resolución, etc.).
Definición de directorios de trabajo (directorios para los archivos, proyectos, plantillas, etc.).
Como ejemplo de configuración dentro de las opciones de la parte servidora de la aplicación de control
remoto UltraVNC, se nos permite cambiar la contraseña de administrador, cambiar los puertos por defecto,
etc. Por otro lado, algunas aplicaciones web requieren la activación de cookies y la modificación de la
configuración de seguridad de nuestro navegador.
Tras este último paso de configuración la aplicación ya está lista para empezar a funcionar
adecuadamente.
Autoevaluación
¿Qué nivel de requisitos en la instalación de una aplicación recomienda el fabricante
del software para conseguir un rendimiento óptimo de la misma?
Solución
1. Opción correcta
2. Incorrecto
3. Incorrecto
4. Incorrecto
1.4.- Tipos de aplicaciones informáticas
(I).
Caso práctico
Ana y Carlos acaban de terminar su reunión con Ada. De
camino a casa, a Carlos le surgen algunas dudas sobre el
tipo de software con el que trabajan en BK Programación.
Ana, que tiene algunos conocimientos más sobre
informática que Carlos, le comenta que existen varias
clasificaciones de aplicaciones o programas informáticos.
Una de las que conoce responde al ámbito en el que se
utilizan esas aplicaciones.
Podemos decir que las aplicaciones informáticas pueden clasificarse en dos tipos, en función del ámbito
o la naturaleza de uso:
Gestión de texto:
Editores de texto (no permiten formato, como por ejemplo Notepad).
Procesadores de texto (Microsoft Word, Writer de OpenOffice).
Programas de autoedición, maquetación y diseño: Microsoft Publisher.
Hoja de cálculo (Microsoft Excel, Calc de OpenOffice, Lotus 1-2-3).
Asistente personal: agenda, calendario, listín telefónico.
Generador de presentaciones (Microsoft PowerPoint, Impress de S.C. Asher. Aplicaciones de
propósito específico. (CC BY-NC-
OpenOffice). SA)
Autoevaluación
Un antivirus y un entorno de desarrollo para programación son ejemplos de:
Solución
1. Incorrecto
2. Incorrecto
3. Incorrecto
4. Opción correcta
Para saber más
Conoce las posibilidades que te ofrecen las aplicaciones portables. Puedes llevarlas en tu
memoria USB y utilizarlas donde y cuando quieras, sin necesidad de instalación. Para ello,
visita este enlace:
Caso práctico
María, como asesora en la implantación de aplicaciones
software, prefiere la opción de software libre, siempre que
sea posible y el cliente esté de acuerdo. Sin embargo, Juan
parece decantarse por la alternativa de software propietario
que, según su criterio, garantiza un soporte técnico más
profesional y fiable. ¡Así que, como os podéis imaginar, el
debate está a la orden del día!
Elaboración Propia
En primer lugar, las licencias software nos sirven para establecer un contrato
entre el autor de una aplicación software (sometido a propiedad intelectual y a
derechos de autor) y el usuario. En el contrato se definen con precisión los
derechos y deberes de ambas partes, es decir, los “actos de explotación
legales”.
Pueden existir tantas licencias como acuerdos concretos se den entre el autor y el usuario. Distinguimos
varios tipos de software o licencias en función de lo limitadas que estén las acciones del usuario sobre el
mismo:
Software propietario.
Software libre.
Software semilibre.
Software de dominio público.
Software con copyleft.
Software con licencia de usuario final (EULA).
Software con licencia OEM.
Todo programa que no incorpore alguna de estas libertades se considera no libre o semilibre. La mayor
parte de las licencias de software libre surgen de la FSF. El software libre suele estar disponible
gratuitamente, o al precio de costo de la distribución a través de otros medios; sin embargo no es
obligatorio que sea así, por lo tanto no hay que asociar software libre a "software gratuito"
(denominado usualmente freeware), ya que, conservando su carácter de libre, puede ser distribuido
comercialmente.
La licencia EULA (End User License Agreement) es una licencia por la cual el uso de un producto sólo
está permitido para un único usuario (el comprador). El dueño de los derechos de un producto insta al
usuario final de éste a que reconozca tener conocimiento de las restricciones de uso, de los derechos del
autor (copyright), de las patentes, etc. y que acepte de conformidad. El usuario no tiene más opción que
aceptar o rechazar el contenido del mismo (en algunos países existen organizaciones de protección al
consumidor que autorizan ciertas excepciones).
La licencia OEM (Original Equipment Manufacturer) implica que la venta del software estará siempre ligada
a un equipo nuevo, cosa que especifica de forma clara, estando prohibida explícitamente su venta si no
forma parte de un todo. El software no podrá utilizarse ni tan siquiera en el caso de haber una sustitución
del equipo por otro, salvo que ésta sea por motivos de garantía. Este tipo de software va siempre
preinstalado.
Freeware: Programa totalmente gratuito. Es posible que requiera que nos registremos, pero siempre
de forma gratuita.
Shareware (Demo): Se trata de una versión reducida del programa, con algunas funciones
desactivadas para que podamos probarlo y decidir si lo vamos a comprar o no.
Shareware (Versión limitada por tiempo): Se trata de una versión totalmente funcional por un
cierto número de días (normalmente 30, pero puede variar según la compañía) tras la cual no lo
podremos usar o se verá reducida su funcionalidad. Su objetivo es poder probar la aplicación y luego
decidir si la compraremos o no.
1.5.2- Ejemplos de software libre.
Veamos algunos ejemplos de aplicaciones de software libre:
Autoevaluación
La libertad de usar una aplicación de software libre cualquiera que sea su propósito es
una de las libertades de este tipo de software, además de:
Redistribuir copias.
Conocer como está construida la aplicación.
Las dos anteriores son ciertas.
Ninguna de las anteriores es cierta.
No es la respuesta más correcta y completa, repasa las libertades del software libre.
Muy bien, éstas son tres de las cuatro libertades del software libre.
Solución
1. Incorrecto
2. Incorrecto
3. Opción correcta
4. Incorrecto
Suites ofimáticas.
Software semilibre.
Software libre.
La primera y tercera respuestas son ciertas.
No es la respuesta más correcta y completa.
Muy bien, ambas herramientas son paquetes o suites ofimáticas y al mismo tiempo son
software libre.
Solución
1. Incorrecto
2. Incorrecto
3. Incorrecto
4. Opción correcta
Caso práctico
En BK Programación, los protagonistas de nuestra historia
deben conocer a fondo todos los productos que el mercado
ofrece en cuanto a software de sistema, y así aconsejar con
garantías cuál se adecua mejor a las necesidades y
situaciones que su clientela le pueda plantear.
En este apartado introduciremos gran parte de la teoría en la que están basados los sistemas operativos
actuales. El sistema operativo es un conjunto de programas que se encarga de gestionar los
recursos hardware y software del ordenador, por lo que actúa como una interfaz entre los programas de
aplicación del usuario y el hardware puro.
2.1.- Concepto y objetivos de los sistemas
operativos.
Los principales objetivos de los sistemas operativos son:
de archivos.
Controlar el acceso al sistema y los recursos: en el caso de sistemas compartidos,
proporcionando protección a los recursos y los datos frente a usuarios no autorizados.
Detección y respuesta ante errores: El sistema operativo debe prever todas las posibles
situaciones críticas y resolverlas, si es que se producen.
Capacidad de adaptación: Un sistema operativo debe ser construido de manera que pueda
evolucionar a la vez que surgen actualizaciones hardware y software.
Gestionar las comunicaciones en red: El sistema operativo debe permitir al usuario manejar con
facilidad todo lo referente a la instalación y uso de las redes de ordenadores.
Permitir a los usuarios compartir recursos y datos: Este aspecto está muy relacionado con el
anterior y daría al sistema operativo el papel de gestor de los recursos de una red.
Autoevaluación
El procesamiento por lotes aparece durante:
La 1ª generación.
La 2ª generación.
La 3ª generación.
La 4ª generación.
Solución
1. Incorrecto
2. Opción correcta
3. Incorrecto
4. Incorrecto
La 1ª generación.
La 2ª generación.
La 3ª generación.
La 4ª generación.
Solución
1. Incorrecto
2. Incorrecto
3. Incorrecto
4. Opción correcta
Monolítico Monousuario
Centralizado
Jerárquico Multiusuario
Monoprocesador
Híbrido Distribuido
Multiprocesador
Jerárquico: Conforme las necesidades de los usuarios aumentaron, los sistemas operativos fueron
creciendo en complejidad y funciones. Esto llevó a que se hiciera necesaria una mayor organización del
software del sistema operativo, dividiéndose en partes más pequeñas, diferenciadas por funciones y con
una interfaz clara para interoperar con los demás elementos. Un ejemplo de este tipo de sistemas
operativos fue MULTICS.
Adaptación de apuntes "Historia de los
sistemas operativos" de Gustavo
Romero. Universidad de Granada.
Sistema operativo jerárquico. (CC BY)
Máquina Virtual: El objetivo de los sistemas operativos es el de integrar distintos sistemas operativos
dando la sensación de ser varias máquinas diferentes. Presentan una interfaz a cada proceso, mostrando
una máquina que parece idéntica a la máquina real subyacente. Estas máquinas no son máquinas
extendidas, son 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. VMware y VM/CMS
son ejemplos de este tipo de sistemas operativos.
Microkernel o Cliente-Servidor: El modelo del núcleo de estos sistemas operativos distribuye las
diferentes tareas en porciones de código modulares y sencillas. El objetivo es aislar del sistema, su núcleo,
las operaciones de entrada/salida, gestión de memoria, del sistema de archivos, etc. Esto incrementa la
tolerancia a fallos, la seguridad y la portabilidad entre plataformas de hardware. Algunos ejemplos son
MAC OS X o AIX.
Híbrido: Esta estructura es en realidad una combinación entre la monolítica y la microkernel con la idea de
incluir en el núcleo ciertas funciones para que se ejecuten más rápido de lo que se haría si estuviera en
espacio de usuario.
Mª Trinidad López Escobar. Sistema operativo híbrido. (GNU/GPL)
2.2.1.- Tipos de sistemas operativos (II).
Sistemas operativos por sus servicios
Monotarea: Sólo permiten una tarea a la vez por usuario. Se puede dar el caso
de un sistema multiusuario y monotarea, en el cual se admiten varios usuarios simultáneamente pero cada
uno de ellos puede ejecutar sólo una tarea en un instante dado. Ejemplos de sistemas monotarea son MS-
DOS, Microsoft Windows 3.x y 95 (estos últimos sólo simulan la multitarea).
Multitarea: Permite al usuario realizar varias tareas al mismo tiempo. Algunos ejemplos son MAC OS,
UNIX, Linux, Microsoft Windows 98, 2000, XP, Vista y 7.
Monoprocesador: Es aquel capaz de manejar sólo un procesador, de manera que si el ordenador tuviese
más de uno le sería inútil. MS-DOS y MAC OS son ejemplos de este tipo de sistemas operativos.
Sistemas operativos en red: Estos sistemas tienen la capacidad de interactuar con los sistemas
operativos de otras máquinas a través de la red, con el objeto de intercambiar información, transferir
archivos, etc. La clave de estos sistemas es que el usuario debe conocer la ubicación de los recursos en
red a los que desee acceder. Los sistemas operativos modernos más comunes pueden considerarse
sistemas en red, por ejemplo: Novell, Windows Server, Linux, etc.
Sistemas operativos distribuidos: Abarcan los servicios de red, las funciones se distribuyen entre
diferentes ordenadores, logrando integrar recursos (impresoras, unidades de respaldo, memoria, procesos,
etc.) en una sola máquina virtual que es a la que el usuario accede de forma transparente. En este caso, el
usuario no necesita saber la ubicación de los recursos, sino que los referencia por su nombre y los utiliza
como si fueran locales a su lugar de trabajo habitual. MOSIX es un ejemplo de estos sistemas operativos.
Autoevaluación
Los sistemas operativos según su estructura se dividen en:
1. Incorrecto
2. Incorrecto
3. Opción correcta
4. Incorrecto
Solución
1. Incorrecto
2. Incorrecto
3. Incorrecto
4. Opción correcta
Windows 10 vs Ubuntu
Esta comparativa entre sistemas Windows y Linux en 2018 puede resultarte interesante:
Windows VS GNU/Linux en 2018
2.3.- Servicios de los sistemas operativos.
El sistema operativo necesita administrar los recursos para tener control sobre
las funciones básicas del ordenador. Pero, ¿cuáles son los recursos que
gestiona el sistema operativo? Los principales recursos que administra el
sistema operativo son:
El procesador.
La memoria.
Los dispositivos de entrada/salida.
El sistema de archivos.
Para gestionar todos estos recursos, existe una parte muy importante del sistema operativo, el núcleo o
kernel. El núcleo normalmente representa sólo una pequeña parte de todo lo que es el sistema
operativo, pero es una de las partes que más se utiliza. Por esta razón, el núcleo reside por lo general
en la memoria principal, mientras que otras partes del sistema operativo son cargadas en la memoria
principal sólo cuando se necesitan.
Resumiendo, el núcleo supone la parte principal del código de un sistema operativo y se encarga de
controlar y administrar los servicios y peticiones de recursos. Para ello se divide en distintos niveles:
Gestión de procesos
Gestión de memoria
Gestión de la entrada/salida (E/S)
Gestión del Sistema de archivos
Autoevaluación
Los servicios principales que presta un sistema operativo son:
Solución
1. Incorrecto
2. Opción correcta
3. Incorrecto
4. Incorrecto
3.- Gestión de procesos.
Caso práctico
Ana y Carlos tienen dudas sobre lo que afecta a la eficiencia
de un ordenador. María y Juan les explican que el
rendimiento efectivo de un ordenador no sólo se basa en sus
prestaciones hardware, sino también en el software que se
ejecute y en el tipo de carga de trabajo que procese. La
ejecución de los distintos programas que se lanzan en un
equipo se traduce en multitud de procesos que requieren
Elaboración Propia
recursos. Uno de los principales recursos del ordenador es el
procesador.
María y Juan le comentan a Ana y Carlos con más de detalle en qué consiste la gestión de
procesos y que opciones existen.
Entre las principales tareas del sistema operativo está la de administrar los procesos del sistema.
Listo.
En ejecución.
Bloqueado.
Los procesos en estado listo son los que pueden pasar a estado de ejecución si el planificador del
sistema operativo los selecciona, esto es, cuando llegue su turno (según el orden de llegada o prioridad).
Los procesos en estado de ejecución son los que se están ejecutando en el procesador en un momento
dado.
Los procesos que se encuentran en estado bloqueado están esperando la respuesta de algún otro
proceso para poder continuar con su ejecución, por ejemplo una operación de entrada/salida.
El sistema operativo sigue la pista de en qué estado se encuentran los procesos, decide qué
procesos pasan a ejecución, cuáles quedan bloqueados, en definitiva, gestiona los cambios de
estado de los procesos. Los procesos pueden comunicarse entre sí o ser independientes. En el
primer caso, los procesos necesitarán sincronizarse y establecer una serie de mecanismos para la
comunicación; por ejemplo, los procesos que pertenecen a una misma aplicación y necesitan intercambiar
información. En el caso de procesos independientes estos, por lo general, no interactúan y un proceso no
requiere información de otros.
3.1.- Planificación del procesador.
En la planificación del procesador se decide cuánto tiempo de ejecución
se le asigna a cada proceso del sistema y en qué momento. Si el
sistema es monousuario y monotarea no habrá que decidir, pero en el resto
de los sistemas multitarea esta decisión es fundamental para el buen
funcionamiento del sistema, ya que determinará la correcta ejecución de
los distintos programas de aplicación que se estén ejecutando.
Una estrategia de planificación debe buscar que los procesos obtengan sus turnos de ejecución de
forma apropiada (momento en que se le asigna el uso de la CPU), junto con un buen rendimiento y
minimización de la sobrecarga (overhead) del planificador mismo. En general, se buscan cinco objetivos
principales:
Equidad: Todos los procesos en algún momento obtienen su turno de ejecución o intervalos de
tiempo de ejecución hasta su terminación con éxito.
Rendimiento: El sistema debe finalizar el mayor número de procesos por unidad tiempo.
Tiempo de respuesta: El usuario no percibirá tiempos de espera demasiado largos.
Tiempo de retorno: Evitar el aplazamiento indefinido, los procesos deben terminar en un plazo finito
de tiempo. Esto es, el usuario no debe percibir que su programa se ha parado o “colgado”.
Eficacia: El procesador debe estar ocupado el 100% del tiempo.
En función de cómo sean la mayoría de los procesos habrá algoritmos de planificación que den un mejor o
peor rendimiento al sistema.
3.2.- Planificación apropiativa y no
apropiativa.
La planificación no apropiativa (en inglés, no preemptive) es aquélla en la que, cuando a un proceso le
toca su turno de ejecución, ya no puede ser suspendido; es decir, no se le puede arrebatar el uso de la
CPU, hasta que el proceso no lo determina no se podrá ejecutar otro proceso. Este esquema tiene sus
problemas, puesto que si el proceso contiene ciclos infinitos, el resto de los procesos pueden quedar
aplazados indefinidamente. Otro caso puede ser el de los procesos largos que penalizarían a los cortos si
entran en primer lugar.
La planificación apropiativa (en inglés, preemptive) supone que el sistema operativo puede arrebatar el
uso de la CPU a un proceso que esté ejecutándose. En la planificación apropiativa existe un reloj que
lanza interrupciones periódicas en las cuales el planificador toma el control y se decide si el mismo
proceso seguirá ejecutándose o se le da su turno a otro proceso.
En la siguiente animación puedes conocer ,de forma general, el funcionamiento, ventajas y desventajas de
cada uno de los algoritmos:
Resumen textual alternativo
Autoevaluación
En el algoritmo "Primero en llegar, primero en ejecutarse":
Su tiempo de respuesta puede ser alto, especialmente si varían mucho los tiempos de
ejecución.
La sobrecarga del sistema es mínima.
Penaliza los procesos cortos y los procesos con operaciones de Entrada/Salida.
Todas son ciertas.
Solución
1. Incorrecto
2. Incorrecto
3. Incorrecto
4. Opción correcta
Que una vez se asigna la CPU a un proceso éste no puede ser suspendido hasta que
el proceso no lo determina.
Existe un reloj que lanza interrupciones periódicas en las que el planificador toma el
control y se decide a que proceso se le asigna el uso de la CPU.
El algoritmo "Round Robin" corresponde a este tipo de planificación.
Las respuestas primera y tercera con ciertas.
Muy bien, así es, el proceso toma el control de la CPU y no la libera hasta que éste lo
determina, mientras, los demás procesos esperarán su turno.
Solución
1. Opción correcta
2. Incorrecto
3. Incorrecto
4. Incorrecto
Caso práctico
Ana y Carlos tras entender la importancia de una adecuada
gestión de procesos, preguntan: —¿Qué ocurre con la
memoria principal? ¿Cómo la utiliza el sistema operativo
para poder ejecutar los procesos de manera equilibrada? —
Juan les explica que existen diferentes posibilidades en la
gestión de la memoria que hace el sistema operativo. Pero
lo primero es tener claro ciertos conceptos sobre el uso de
la memoria. Juan comienza su explicación...
Elaboración Propia
Hemos visto en la gestión de procesos que el recurso compartido es el procesador. Sin embargo, para que
un proceso se pueda ejecutar no sólo requiere tiempo de procesamiento sino también estar cargado en
memoria principal. Esto es así, porque ningún proceso se puede activar antes de que se le asigne el
espacio de memoria que requiere. Así, la memoria se convierte en otro recurso clave que tendrá que
gestionar el sistema operativo y la parte encargada de ello se denomina gestor de memoria.
De este modo, la gestión de memoria va a tener que cubrir los siguientes requisitos:
El sistema de gestión de la memoria que se use dependerá del ordenador y sistema operativo en
particular que se tenga. Las opciones en la gestión de memoria se dividen en función del número de
procesos albergados en memoria (monotarea/multitarea) y de si se utiliza memoria real o virtual.
Memoria
Memoria Real Memoria Virtual
Real
Multitarea Multitarea
Relocalización Protección
4.1.- Gestión de memoria en sistemas
operativos monotarea.
En sus orígenes los sistemas operativos no incluían ningún gestor de memoria, y el programador tenía un
control completo sobre el espacio total de memoria. La memoria real se utiliza para almacenar el programa
que se esté ejecutando en un momento dado. Conforme los procesos se ejecutan secuencialmente a
medida que van terminando los anteriores.
Materiales FP a
Distancia de la Junta de
Andalucía. Gestión de la
memoria – Sistema
operativo monotarea.
(CC BY)
Se trata del esquema más sencillo, en cada momento la memoria alberga un solo proceso y reserva otra
zona de la memoria para el sistema operativo. Por ello, se necesita un mecanismo de protección para
evitar accesos a la parte del sistema operativo de los procesos de usuario.
4.2.- Gestión de memoria en sistemas
operativos multitarea.
Actualmente la mayoría de los sistemas operativos son sistemas multitarea, en los que va a haber varios
procesos simultáneamente en ejecución. Para que esto sea posible, todos estos procesos deberán estar
también simultáneamente en memoria, pues ésta es una condición necesaria para que un proceso pueda
ejecutarse. Por tanto, deberá haber mecanismos de gestión para distribuir la memoria principal entre
todos estos procesos que quieren ejecutarse.
Materiales FP a
Distancia de la Junta de
Andalucía. Gestión de la
memoria – Sistema
operativo multitarea.
(CC BY)
Intercambio o swapping
Hay varias alternativas, la primera de ellas es dividir el espacio de memoria en particiones fijas. Estas
particiones podrán ser todas del mismo tamaño o tener distintos tamaños. Estas particiones se establecen
de forma lógica por el sistema operativo y están predefinidas antes de que lleguen los procesos. El
número de particiones se mantiene fijo en el tiempo, así como el tamaño de cada una de las
particiones.
La gestión y asignación de particiones a los procesos se puede hacer siguiendo dos tipos de organización:
En ambos casos, utilización de una cola por partición o uso de una única cola para los procesos, el gestor
de memoria establecerá mecanismos para impedir que un proceso pueda acceder a una zona de
memoria que está fuera de la memoria correspondiente a la partición en la que se encuentra.
Cierto, la división de la memoria puede ser en partes fijas de igual o diferente tamaño.
Solución
1. Incorrecto
2. Incorrecto
3. Incorrecto
4. Opción correcta
4.2.2.- Asignación de particiones
variables.
Con la asignación de particiones fijas se tiene la desventaja de que no se
aprovecha, con frecuencia, todo el tamaño de cada partición, ya que el
proceso se adapta a los tamaños fijos ya preestablecidos en memoria. En
este punto se plantea una segunda alternativa, la asignación de memoria
a los procesos mediante particiones variables. La idea es crear las
particiones dinámicamente, conforme llegan los procesos y en
función de los tamaños de estos. Este método de gestión de memoria
se conoce con el nombre de asignación de la memoria con particiones
variables. Es una técnica más realista que aprovecha mejor el espacio de
la memoria. The Pizza Review. Asignación de particiones
dinámicas. (CC BY)
La memoria virtual da una solución a estos casos, ya que permite dividir los
procesos en varias partes y cargar sólo algunas de ellas en memoria. La
memoria virtual se basa en el uso de las técnicas de paginación o
segmentación.
¿En qué consisten las técnica de paginación y segmentación? Conoce su Lumaxart. Escalera. (CC BY-NC-ND)
funcionamiento básico por medio del siguiente recurso:
Como hemos comentado, no todas las partes de un proceso pueden estar cargadas en memoria en un
instante determinado. Por ello, cuando un proceso haga referencia a un parte que no se encuentre
asignada en memoria provocará un fallo de página o segmento, y el gestor de memoria traerá dicha
parte del proceso de disco a memoria.
Autoevaluación
La memoria virtual hace uso de las técnicas de …
Solución
1. Incorrecto
2. Incorrecto
3. Opción correcta
4. Incorrecto
Caso práctico
Nuestros protagonistas utilizan a diario una gran variedad
de periféricos (impresora, escáner, teclado, ratón, módem,
monitor, dispositivos de almacenamiento externo, etc.). Hoy
en día, estos dispositivos están preparados en su mayoría
para enchufar y empezar a funcionar, algunos requieren la
instalación de software específico para que el ordenador
pueda trabajar con ellos adecuadamente. Carlos, que es un
gran aficionado a la edición de música y video digitales, no
se había planteado hasta este momento cómo interactúan
su tarjeta capturadora de vídeo o los altavoces, por ejemplo. Elaboración Propia
Anteriormente, vimos que una de las funciones del ordenador era procesar
la información, dicha información la obtiene y muestra a través de los
periféricos. La parte del sistema operativo que se encarga de este proceso
es la gestión de la E/S (entrada/salida). En la primera unidad estudiamos
los periféricos y recordamos que se clasificaban en periféricos:
El sistema operativo hace que los dispositivos se conecten al sistema y realicen sus funciones de
forma adecuada y eficiente. El sistema operativo abstrae de la complejidad y peculiaridad hardware
de cada periférico para que las aplicaciones de usuario puedan hacer uso de los periféricos de una
manera estandarizada y más sencilla. El sistema operativo actúa pues como intermediario entre
ellos, gracias a los controladores de dispositivo.
5.1.- Controladores de dispositivo.
¿Cómo pueden entenderse los programas de aplicación con los dispositivos periféricos? Hay
multitud de tipos y fabricantes de periféricos, esto conlleva que tanto el sistema operativo como los
fabricantes de periféricos deben estandarizar el acceso a los dispositivos utilizando lo que se
denominan controladores de dispositivos (device drivers).
Un periférico siempre tiene dos partes: un controlador, se encarga de la comunicación con la CPU y un
dispositivo mecánico, electromecánico o electromagnético. El controlador es un software, generalmente,
suministrado por el fabricante del dispositivo o bien por el desarrollador del sistema operativo. De esta
manera, estos controladores actúan como interfaz entre los programas y el hardware.
Spools: Los datos de salida se almacenan de forma temporal en una cola situada en un
dispositivo de almacenamiento masivo (spool), hasta que el dispositivo periférico requerido se
encuentre libre. De este modo se evita que un programa quede retenido porque el periférico no esté
disponible. El sistema operativo dispone de llamadas para añadir y eliminar archivos del spool. Se
utiliza en dispositivos que no admiten intercalación, como ocurre en la impresora, ya que no
puede empezar con otro hasta que no ha terminado.
Buffers: Es para dispositivos que pueden atender peticiones de distintos orígenes. En este
caso. los datos no tienen que enviarse completos, pueden enviarse porciones que el buffer retiene
de forma temporal. También se utilizan para acoplar velocidades de distintos dispositivos. Así, si un
dispositivo lento va a recibir información más rápido de lo que puede atenderla se emplea un buffer
para retener temporalmente la información hasta que el dispositivo pueda asimilarla. Esto ocurre
entre una grabadora de DVD y el disco duro, ya que la primera funciona a una menor velocidad que
el segundo.
5.3.- Técnicas de la E/S.
Vamos a conocer las distintas formas de funcionamiento de la E/S en los sistemas operativos según la
intervención de la CPU. En estos momentos tenemos:
Acceso directo a memoria (DMA): la transferencia es realizada por un Lumaxart. Flecha. (CC BY-NC-ND)
controlador especializado. Esta técnica acelera enormemente el proceso
de la E/S y libera a la CPU de trabajo. Lo habitual es que los datos que se quieren escribir en el
dispositivo o que son leídos del dispositivo provengan o vayan a la memoria del ordenador, pues bien
en este caso, la CPU inicia el proceso, pero luego este continúa sin necesitar a la CPU, con lo que
se acelera mucho el proceso de entrada/salida y se libera a la CPU del proceso.
5.4.- Planificación de discos.
En la anterior unidad estudiamos la estructura y funcionamiento del disco duro, en este apartado
conoceremos la forma u orden en que el sistema operativo atiende las peticiones de lectura/escritura
en disco. Para ello utiliza lo que se conoce como algoritmos de planificación del disco. Antes de
estudiarlas, fíjate en la figura sobre el funcionamiento de la E/S en una unidad de disco:
E/S en disco
¿Cómo funcionan cada uno de estos algoritmos? Veamoslo con la siguiente animación:
Resumen textual alternativo
Autoevaluación
Dentro de la gestión de E/S se distinguen los periféricos por las estructuras que
utilizan para manejar la información. La impresora funciona con …
Spool.
Buffer.
Ambas.
Ninguna es cierta.
1. Opción correcta
2. Incorrecto
3. Incorrecto
4. Incorrecto
Solución
1. Incorrecto
2. Opción correcta
3. Incorrecto
4. Incorrecto
6.- Gestión del sistema de archivos.
Caso práctico
Carlos y Ana están aprendiendo de la mano de María y
Juan las principales funciones de los sistemas operativos.
Pero ahora se preguntan, ¿qué ocurre con los archivos y
directorios? ¿qué información almacena el sistema
operativo de estos? ¿qué operaciones pueden realizarse
sobre los mismos? ¿existen distintas formas de referenciar
un archivo o directorio? Éstas y otras cuestiones encuentran
respuesta con las explicaciones de Juan y María.
Elaboración Propia
Fácil actualización: Los cambios (añadir, borrar y modificar) no deben suponer una tarea
complicada para el usuario y las aplicaciones.
Los sistemas de archivos deben proveer una capa de abstracción que oculte
los detalles puramente hardware al usuario y le permita utilizar el medio de
almacenamiento (disco) de una forma intuitiva y cómoda, por supuesto más
cercana a los hábitos humanos de organización de la información. Éste es el nivel
lógico del sistema de archivos y naturalmente en el que estamos más
interesados.
Ministerio de Educación.
Estructura de directorios. (CC BY)
A esto se le llama organización del sistema de archivos y suele coincidir en
todos los sistemas de archivos actuales, utilizando el esquema de
almacenamiento en archivos y la organización en carpetas o directorios.
¿En qué consisten los archivos y carpetas? y ¿cómo los gestiona el sistema de archivos?
Archivos: Es el elemento central de la mayoría de programas de aplicación. Los archivos o ficheros son
estructuras de datos en disco donde se almacena la información y los programas de un ordenador. Pueden
tener diversas estructuras y ello dependerá del sistema de archivos de nuestro sistema operativo y de la
extensión del mismo.
Cada archivo de un sistema tendrá unas características, o atributos, que lo identifican y le sirven al
sistema de archivos y al sistema operativo para manejarlo correctamente. Los atributos pueden variar de
un sistema a otro, pero suelen coincidir al menos en los siguientes:
Directorios: También denominados carpetas, son archivos especiales que cumplen la función de
almacenar y organizar en su interior a archivos y otros subdirectorios. Son estos los que permiten
mantener una cierta organización en el sistema de archivos. La organización en directorios mantiene forma
de árbol invertido que comienza por un directorio principal llamado raíz y se va ramificando en otros
directorios que pueden contener archivos y otros directorios. Respecto a los atributos de un directorio,
como archivos que son coinciden con los atributos de estos.
6.2.- Operaciones soportadas por un
sistema de archivos.
Los sistemas de archivos también suministran un conjunto de operaciones para los directorios, las más
comunes son: crear, borrar, abrir, cerrar, renombrar y leer. Además existen otras dos operaciones
sobre archivos y directorios como son la de crear un enlace y eliminarlo. La operación de crear un
enlace se utiliza para poder acceder a un archivo o directorio desde distintos puntos de la organización de
directorios del sistema sin tener que duplicar o copiar el archivo o directorio en cuestión.
6.3.- Rutas de acceso.
Los sistemas de archivos necesitan una forma de determinar la localización exacta de un archivo o
directorio en la estructura del árbol de directorios. La ruta de acceso a un archivo o directorio se indica
nombrando todos los directorios y subdirectorios que tienen que atravesarse hasta llegar al elemento
concreto. Dependiendo del sistema operativo con el que se trabaje cambiará la forma de establecer la ruta
de acceso. Por ejemplo, en Windows se utiliza la barra invertida “\” para separar los directorios y en Linux
se utiliza la barra “/”.
Existen dos tipos de rutas de acceso:
Ruta de Acceso Relativa: Se utiliza junto con el concepto de directorio de trabajo o directorio
activo, que es aquel donde estamos situados en un momento dado. Consiste en escribir la ruta a
partir del directorio activo, esto se indica con ‘.’ que hace referencia a la localización actual donde
nos encontramos y '..' indica el directorio padre. También se puede escribir en primer lugar
directamente el nombre de un directorio al que queremos subir sin usar el punto '.'. En las rutas de
acceso relativas no se conoce la ubicación exacta del recurso al que se apunta ya que depende de la
localización del directorio activo. En los siguientes ejemplos primero se baja uno o dos niveles
usando ".." para luego subir a otros directorios.
Autoevaluación
Son objetivos de los sistemas de archivos…
Optimizar el rendimiento mediante un acceso rápido cuando se recupera información.
Mantenimiento sencillo.
Fiabilidad para asegurar la confianza en los datos.
Todas son ciertas.
Muy bien, todos los anteriores son objetivos de los sistemas de archivos.
Solución
1. Incorrecto
2. Incorrecto
3. Incorrecto
4. Opción correcta
Relativa.
Absoluta.
Corresponde a un sistema Windows.
La primera y tercera respuestas son ciertas.
Solución
1. Incorrecto
2. Incorrecto
3. Incorrecto
4. Opción correcta
7.- Mecanismos de seguridad y protección.
Caso práctico
Ada, como responsable de la empresa BK Programación,
está muy concienciada de la relevancia de la seguridad en
el ámbito informático. Por ello, los trabajadores de la
empresa están muy sensibilizados con este tema. Ada
decide que es hora de que los nuevos compañeros que
acaban de llegar a la empresa reciban un breve seminario
sobre seguridad informática, en este caso, centrándose
en la relacionada con los sistemas operativos y otros
elementos relacionados. María será la encargada de
impartir dicho seminario. Elaboración Propia
Confidencialidad: Los elementos del sistema sólo serán visibles por aquellos usuarios o grupos
autorizados.
Integridad: Los elementos del sistema sólo serán modificados por los usuarios o grupos autorizados.
Disponibilidad: Los elementos del sistema sólo estarán disponibles para usuarios y grupos
autorizados.
Hardware.
Software.
Datos.
Líneas de comunicación.
Pero, ¿cuáles son las posibles acciones accidentales o malintencionadas sobre los elementos
amenazados?
Elemento
Confidencialidad Integridad Disponibilidad
amenazado
Elemento
Confidencialidad Integridad Disponibilidad
amenazado
Robo o sobrecarga de
Hardware equipos, eliminando el
servicio.
Alteración de un programa en
Realización de Eliminación de
funcionamiento haciéndolo fallar
copias no programas, denegando
Software durante la ejecución o haciéndolo
autorizadas del el acceso a los
que realice alguna tarea para la que
software. usuarios.
no está programado.
Lecturas de datos
no autorizadas.
Revelación de
Eliminación de archivos,
datos ocultos de Modificación de archivos existentes
Datos denegando el acceso a
manera indirecta o invención de nuevos.
los usuarios.
por análisis de
datos
estadísticos.
Destrucción o
Lectura de
eliminación de
mensajes. Mensajes modificados, retardados,
Líneas de mensajes. Las líneas de
Observación de la reordenados o duplicados.
comunicación comunicación o redes
muestra de tráfico Invención de mensajes falsos.
no se encuentran
de mensajes.
disponibles.
Para hacer frente a estas acciones el sistema operativo agrupa la seguridad
según tres aspectos:
Caso práctico
Manual del Administrador: Documentación que va dirigida a la persona responsable del correcto
funcionamiento, seguridad y rendimiento de la aplicación. Esta persona es, en muchos casos, la
misma que instala y configura la aplicación.
Guía de referencia rápida: Contiene las funciones básicas Lumaxart. Necesidad de información.
imprescindibles para instalar, con las opciones por defecto, y comenzar a (CC BY-NC-ND)
Autoevaluación
Cuando se va a implantar una aplicación corporativa el manual de instalación y
configuración de la aplicación suele ser utilizado por:
Solución
1. Incorrecto
2. Incorrecto
3. Opción correcta
4. Incorrecto
Anexo I.- Evolución histórica de los
sistemas operativos.
El hardware y el software de los sistemas informáticos han evolucionado de forma paralela y conjunta en
las últimas décadas. Por lo que la evolución que vamos a ver de los sistemas operativos está
estrechamente relacionada con los avances en la arquitectura de los ordenadores que se produjo de cada
generación.
Los primeros ordenadores estaban construidos con tubos de vacío. En un principio no existían sistemas
operativos, se programaba directamente sobre el hardware. Los programas estaban hechos directamente
en código máquina y el control de las funciones básicas se realiza mediante paneles enchufables.
Hacia finales de 1950 aparecen las tarjetas perforadas que sustituyen los paneles enchufables. Las
tarjetas perforadas supusieron un enorme paso ya que permitían codificar instrucciones de un programa y
los datos en una cartulina con puntos que podía interpretar el ordenador. La mayoría de los programas
usaban rutinas de E/S y un programa cargador (automatizaba la carga de programas ejecutables en la
máquina). Esto constituía una forma rudimentaria de sistema operativo.
2ª Generación (1955-1965)
Como mejora del procesamiento por lotes surgió el procesamiento fuera de línea (off-line), en el cual las
operaciones de carga de datos y salida de resultados de un proceso podían realizarse de forma externa y
sin afectar al tiempo que el procesador dedicaba a los procesos. A esto ayudó la aparición de las cintas
magnéticas y las impresoras de líneas. Ejemplos de sistemas operativos de la época son FMS (Fortran
Monitor System) y IBSYS.
3ª Generación (1965-1980)
En esta generación se producen grandes avances en la industria hardware como la creación de los
circuitos LSI (integrados a gran escala). También aparecen los ordenadores personales, entre finales de
la anterior generación y principios de la presente. Ejemplos de sistemas operativos de los primeros
ordenadores personales son MS-DOS, desarrollado por Microsoft, Inc., para el IBM PC y MacOS de
Apple Computer, Inc. Steve Jobs, cofundador de Apple, apostó por la primera interfaz gráfica basada
en ventanas, iconos, menús y ratón a partir de una investigación realizada por Xerox. Siguiendo esta
filosofía aparecería MS Windows. Durante los 90 apareció Linux a partir del núcleo desarrollado por Linus
Torvalds. Los sistemas operativos evolucionan hacia sistemas interactivos con una interfaz cada vez más
amigable al usuario. Los sistemas Windows han ido evolucionando, con diferentes versiones tanto para
escritorio como para servidor (Windows 3.x, 98, 2000, XP, Vista, 7, Windows Server 2003, 2008, etc), al
igual que lo han hecho Linux (con multitud de distribuciones, Ubuntu, Debian, RedHat, Mandrake, etc) y los
sistemas Mac (Mac OS 8, OS 9, OS X, Mac OS X 10.6 "Snow Leopard", entre otros).
Un avance importante fue el desarrollo de redes de ordenadores a mediados de los años 80 que ejecutan
sistemas operativos en red y sistemas operativos distribuidos. En un sistema operativo en red los
usuarios tienen conocimiento de la existencia de múltiples ordenadores y pueden acceder a máquinas
remotas y copiar archivos de un ordenador a otro. En un sistema distribuido los usuarios no saben donde
se están ejecutando sus programas o dónde están ubicados sus programas, ya que los recursos de
procesamiento, memoria y datos están distribuidos entre los ordenadores de la red, pero todo esto es
transparente al usuario.
Actualmente, existen sistemas operativos integrados, para una gran diversidad de dispositivos
electrónicos, tales como, teléfonos móviles, PDAs (Personal Digital Assistant, Asistente Digital Personal u
ordenador de bolsillo), otros dispositivos de comunicaciones e informática y electrodomésticos. Ejemplos
de este tipo de sistemas operativos son PalmOS, WindowsCE, Android OS, etc. Haremos una referencia
especial al último, Android OS, se trata de un sistema operativo basado en Linux. Fue diseñado en un
principio para dispositivos móviles, tales como teléfonos inteligentes y tablets, pero actualmente se
encuentra en desarrollo para su aplicación también en netbooks y PCs.
Anexo II.- Gestión de memoria: Técnicas
de memoria virtual.
Paginación pura
Segmentación pura
Cada proceso se divide en una serie de segmentos. La peculiaridad de estos segmentos es que su
tamaño no tiene que ser el mismo y puede variar hasta un límite máximo. Un proceso se carga
situando todos sus segmentos en particiones dinámicas que no tienen que estar contiguas en memoria.
Este sistema reduce la fragmentación interna de la memoria principal.
Historial de actualizaciones
Versión: 01.02.00 Fecha de actualización: 25/06/16 Autoría: María Trinidad López Escobar
Ubicación: No especificada.
Mejora (tipo 2): Punto 2 pasa a ser Aspectos básicos de un sistema operativo que lo agrutina todo. 3.
Virtualización
Ubicación: A lo largo de todos los contenidos
Mejora (tipo 1): Los enlaces a definiciones están rotos.
Ubicación: Sección 1.5
Mejora (tipo 2): Incluir un apartado con información sobre EULA, licencias OEM.
Otro apartado con: Cómo determinar la licencia de nuestros productos SW si utilizamos librerías y
recursos de otros.
Versión: 01.01.00 Fecha de actualización: 20/10/15 Autoría: María Trinidad López Escobar
También en el punto 3.1 creo que hay otro error. Cuando habla del contenido de la tabla de control de
procesos, uno de los contenidos es estado del procesador. Creo que debería decir estado del proceso.
Ubicación: Secciones 2.2 y 2.2.2
Mejora (Mapa conceptual): - Incluir la estructura híbrida en el apartado 2.2
- Incluir la forma centralizada en el apartado 2.2.2
Ubicación: No especificada.
Mejora (Orientaciones del alumnado): - Adaptar la temporalización al curso actual