Please enable JavaScript.
Coggle requires JavaScript to display documents.
Sistema operativo (Tipos (DOS (Disk Operating System (sistema operativo de…
Sistema operativo
Tipos
DOS
Disk Operating System (sistema operativo de
disco)
"compatibilidad IBM"
Windows 3.1
amigable para el usuario
Windows 95
soporte multitareas y arquitectura de 32 bits,
Windows NT
especializa en las redes y servidores
interactuar de forma eficaz entre dos o más computadoras
OS/2
no se han creado muchas
aplicaciones que aprovechen las características del SO,
Mac OS
UNIX
multiusuario y multitarea
corre en diferentes computadoras, desde
supercomputadoras, Mainframes, Minicomputadoras, computadoras personales y
estaciones de trabajo
El concepto de proceso
un programa en ejecución que necesita recursos para
realizar su tarea
formados por
Las instrucciones de un programa destinadas a ser ejecutadas por el
microprocesador
Su estado de ejecución en un momento dado, esto es, los valores de los registros
de la unidad central de procesamiento para dicho programa.
Su memoria de trabajo (memoria crítica), es decir, la memoria que ha reservado y
sus contenidos.
similar al trabajo de oficina
estas fijarles prioridades alta, media, baja
"Una unidad de actividad que se caracteriza por la ejecución
de una secuencia de instrucciones, un estado actual, y un conjunto de recursos del
sistema asociados".
Cada proceso tiene su contador de programa, registros y variables,
páginas,
Un proceso se rige en pequeñas porciones, conocidas como páginas
bifurcación (fork).
El mecanismo por el cual un proceso crea otro
proceso se denomina bifurcación (fork).
pueden ser cooperativos o independientes
Los procesos que ejecutan de forma concurrente en un sistema se pueden clasificar como
procesos independientes o cooperantes
Estas interacciones pueden ser de dos tipos
Interacciones motivadas porque los procesos comparten o compiten por el acceso
a recursos físicos o lógicos
Interacción motivada porque los procesos se comunican y sincronizan entre sí
para alcanzar un objetivo común
Tipos de comunicación
Síncrona
Quien envía permanece bloqueado esperando a que llegue una respuesta del receptor
antes de realizar cualquier otro ejercicio.
Asíncrona
Quien envía continúa con su ejecución inmediatamente después de enviar el mensaje al
receptor. O sea le vale madres
Persistente
El receptor no tiene que estar operativo al mismo tiempo que se realiza la comunicación,
el mensaje se almacena tanto tiempo como sea necesario para poder ser entregado (Ej.:
e-Mail).
Momentánea (transient)
El mensaje se descarta si el receptor no está operativo al tiempo que se realiza la
comunicación. Por lo tanto no será entregado.
Directa
Las primitivas enviar y recibir explicitan el nombre del proceso con el que se comunican.
Indirecta
Es aquella donde la comunicación está basada en una
herramienta o instrumento ya que el emisor y el receptor están a distancia.
Simétrica
Todos los procesos pueden enviar o recibir. También llamada bidireccional para el caso
de dos procesos.
Asimétrica
Un proceso puede enviar, los demás procesos solo reciben
Suele usarse para hospedar servidores en Internet.
Uso de buffers automático
El transmisor se bloquea hasta que el receptor recibe el mensaje (capacidad cero).
RPC
Remote Procedure Call / llamada a un procedimiento remoto
Permitir que los programas
realicen llamadas a funciones localizadas en otras máquinas.
Desde el punto de vista de un programador la llamada a una función remota es y funciona
de la misma manera que lo haría si la llamada fuese local.
Hay cuatro eventos principales que provocan la creación de procesos
El arranque del sistema
La ejecución, desde un proceso, de una llamada al sistema para la creación de
otro proceso
Una petición de usuario para crear un proceso
El inicio de un trabajo por lotes
Funciones y componentes del núcleo. (kernel)
funciones principales
Gestión de periféricos
#
La gestión de la memoria
gran tabla de palabras o bytes
almacén de datos de rápido acceso
es compartido por el CPU y
los dispositivos de E/S,
son volátiles y pierden su contenido ante fallos del sistema
Función del SO
conocer qué partes de la memoria están siendo utilizadas y por quién, decidir qué procesos se cargarán en memoria cuando haya espacio disponible, asignar y reclamar espacio de memoria cuando sea necesario
La administración del sistema de archivos.
Los archivos son colecciones de información relacionada, definidas por sus creadores
Éstos almacenan programas (en código fuente y objeto)
Función de SO
construir y eliminar archivos y directorios, ofrecer funciones para manipular archivos y directorios, establecer la correspondencia entre archivos y unidades de almacenamiento, realizar copias de
seguridad de archivos.
diferentes formas de organizar
la información
sistemas de archivos FAT, FAT32, ext3, NTFS,
XFS, etc.
Generalmente, cuanto más reciente sea el sistema
operativo, mayor será el número de archivos que admita. Por esto, se necesita contar con
FAT16
en DOS y en las primeras versiones de Windows 95.
el más popular sistema de archivos es
ext3
, debido a que es un sistema de archivos con bitácora.
Reiserfs
es otra elección popular porque también posee
bitácora.
Coexistencia de varios sistemas de archivo
Cuando existen varios sistemas operativos, se debe elegir un sistema de archivos para cada uno, teniendo en cuenta que es posible que deba acceder a los datos de un
sistema operativo desde otro
Una solución sería la de usar particiones FAT para los
sistemas, con particiones no mayores a 2 GB.
#
UNIDAD 2. SISTEMAS DE ARCHIVOS
File System
es un método para el almacenamiento y
organización de archivos para hacer
más fácil la tarea encontrarlos y accederlos
El término también es utilizado para referirse a una
partición o disco
que se está utilizando para almacenamiento, o el tipo del sistema de archivos que utiliza.
El sistema de archivos o ficheros es el componente del sistema operativo encargado de administrar y facilitar el uso de las
memorias periféricas
, ya sean secundarias o terciarias
son usados en dispositivos de almacenamiento como discos duros y CD-ROM
es un conjunto de tipo de datos abstractos
que son implementados para el almacenamiento, la organización jerárquica, la manipulación, el acceso, el direccionamiento y la recuperación de datos
Los sistemas de archivos comparten mucho en común con la tecnología de las
bases de datos
construir un sistema de archivos.
Es cuando Antes de que una partición o disco sea utilizada como un sistema de archivos,
necesita ser iniciada, y las estructura de datos necesitan escribirse al disco.
Los conceptos centrales
son superbloque,
tiene información del sistema de archivos en conjunto
nodo-i,
tiene toda la información de un archivo, salvo su nombre
contiene los números de varios bloques de datos, que se utilizan para almacenar los datos en el archivo
#
poco utilizados por la mayoría de los usuarios.
bloque de datos,
bloque de directorio,
El nombre se almacena en el directorio, junto con el número de nodo-i.
Una entrada de directorio
consiste en un nombre de archivo y el número de nodo-i que representa al archivo
bloque de indirección.
principales funciones
asignación de espacio a los archivos
administración del espacio libre
administración del acceso a los datos
resguardados
Estructura
Estructuran la información guardada en una unidad de almacenamiento
(normalmente un disco duro de una computadora), que luego será representada ya
sea textual o gráficamente utilizando un
gestor de archivos.
Lo habitual es utilizar dispositivos de almacenamiento de datos que permiten el acceso a los datos como una cadena de bloques de un mismo tamaño, a veces llamados
sectores
, usualmente de 512 bytes de longitud
También denominados clústers
El software del sistema de archivos es responsable de la organización de estos sectores en archivos y directorios y mantiene un registro de qué sectores pertenecen a qué
archivos y cuáles no han sido utilizados
Los sistemas de archivos dividen los archivos en dos categorías lógicas
archivos compartibles vs. no compartibles
son aquéllos a los que se puede acceder desde varios
hosts; mientras que los archivos no compartibles sólo están disponibles localmente.
archivos variables vs. estáticos
tales como documentos, pueden cambiar en cualquier
momento; los archivos estáticos, tales como binarios, no cambian sin una actuación por parte del administrador de sistemas.
Rutas y nombre de archivos
La estructura de directorios suele ser jerárquica, ramificada o "en árbol"
Tipo de sistemas de archivos
Sistemas de archivos de disco
#
#
#
Sistemas de archivos de red
los
sistemas de archivos distribuidos
sistemas de archivos paralelos
Sistemas de archivos de propósito especial )Special purpose file system)
Aquellos tipos de sistemas de archivos que no son ni
sistemas de archivos de disco, ni sistemas de archivos de red.
Ejemplos: acme (Plan
9), archfs, cdfs, cfs, devfs, udev, ftpfs, lnfs, nntpfs, plumber (Plan 9), procfs, ROMFS,
swap, sysfs, TMPFS, wikifs, LUFS, etc.
Sistemas de archivo virtuales
son sistemas de archivos basados en memoria
proporcionan acceso a información de núcleo especial y utilidades
no utilizan espacio en disco de sistemas de archivos.
Sistemas de archivo temporal
(TMPFS) utiliza memoria local para lecturas y
escrituras de sistemas de archivos.
#
pueden mejorar el rendimiento del
sistema al evitar el costo de leer y escribir archivos temporales en un disco local o en
la red.
Integridad de un sistema de archivo
comando fsck
para reparar cualquier problema menor que encuentre, y alertar al usuario si hay errores irreparables
El código implementado en los sistemas de
archivos puede estudiarse de forma muy efectiva y normalmente son causados por
fallos de alimentación, hardware defectuoso, o errores de operación; por ejemplo, no
apagar el sistema adecuadamente.
Implementación de directorios
Definir cómo debe ver el usuario el sistema de archivos
definir un archivo y sus atributos
definir las operaciones permitidas sobre un archivo
definir la estructura de directorios
Definir los algoritmos y estructuras de datos que deben crearse para establecer la
correspondencia entre el sistema de archivos lógico y los dispositivos físicos donde se
almacenan.
Métodos
Asignación Continua
El esquema de asignación más sencillo es almacenar cada
archivo como un bloque contiguo de datos en el disco
2 more items...
Asignación por Listas Enlazadas
Es guardar cada uno como una lista enlazada de
bloques de disco
#
Con este método es posible utilizar todos los bloques
No se pierde
espacio por fragmentación del disco.
Asignación por Lista enlazada Empleando un Índice
Todo el bloque está disponible
para todos.
el acceso directo es mucho más fácil
basta con guardar un solo entero en la entrada del directorio para poder
localizar todos los bloques
desventaja
1 more item...
Mejora del rendimiento
Utilizar menos memoria virtual (swap)
Lo normal en Linux es de
vm.swapiness
es de 60
Este valor corresponde a la frecuencia con la que las aplicaciones utilizan memoria
virtual
1 more item...
se edita el archivo /etc/sysctl.conf y se añade al final de éste: 10 ( o 20 no se) vm.swappiness = 10
1 more item...
Si se asigna 0 (cero) como valor para vm.swappiness, se estará desactivando el uso de memoria virtual
1 more item...
Opción noatime (no tiempos de acceso).
Esta opción impide se actualice los tiempos de acceso de los inodos (nodos índice)
#
portátiles pues reduce considerablemente la cantidad de procesos de E/S o Entrada y Salida (I/O o Input/Output) del disco duro.
Equivale a utilizar chattr +A, pero aplicado a todos los datos de la partición.
desfragmentar el disco duro
para acceder a los archivos más
rápidamente y mejorar el rendimiento general del sistema
Abra la ventana de Bitdefender.
En el panel Tune-Up, haga clic en Optimizar y seleccione Desfragmentador de disco en el menú desplegable.
Siga los pasos del asistente.
Limpiar su PC
Abra la ventana de Bitdefender.
En el panel Tune-Up, haga clic en Optimizar y seleccione PC Clean-Up en el
menú desplegable.
Siga los pasos del asistente.
Limpiar registro de Windows
El Limpiador del registro analiza el registro de
Windows y elimina las claves de registro no válidas.
Abra la ventana de Bitdefender.
En el panel Tune-Up, haga clic en Optimizar y seleccione Limpiador del registro
en el menú desplegable.
Siga los pasos del asistente.
Analice su sistema periódicamente
al menos una vez a la
semana.
Abra la ventana de Bitdefender.
En el panel Antivirus, haga clic en Analizar ahora y seleccione Análisis del sistema en el menú desplegable.
Siga los pasos del asistente
La administración de servicios de entrada/salida.
sistema de almacenamiento temporal (caché
Funcion de SO
gestionar el almacenamiento temporal de E/S y servir las interrupciones de los
dispositivos de E/S.
La asignación de recursos entre los usuarios
Gestión del almacenamiento secundario
es necesario, ya que la memoria principal muy pequeña para almacenar todos los programas y datos.
mantener los datos que no convenga mantener
en la memoria principal.
Funcionnde SO
planificar los discos, gestionar el espacio
libre, asignar el almacenamiento, verificar que los datos se guarden en orden
es aquella parte de un sistema operativo que interactúa de forma directa con el hardware de una máquina.
Sistemas de protección
Mecanismo que controla el acceso de los programas o los usuarios a los recursos del
sistema
Funcion de SO
distinguir entre uso autorizado y no autorizado, especificar
los controles de seguridad a realizar, forzar el uso de estos mecanismos de protección
Sistema de comunicaciones
controlar el envío y recepción de información a través de las interfaces de red.
crear y mantener puntos de comunicación
crear y mantener conexiones virtuales entre aplicaciones
Programas de sistema
Son aplicaciones de utilidad que se suministran con el SO pero no forman parte de él.
manipulación y modificación de archivos, información del estado del sistema, soporte a lenguajes de programación, comunicaciones, gestor de recursos
Administración de tareas
#
Clasificacion
ESTRUCTURA
Jerarquica
Monilitica
Cliente servidor
MANEJO DE RECURSOS
Distribuido
Permite utilizar los recursos (memoria, CPU, disco, periféricos...) de más de una computadora al mismo tiempo.
Centralizado
Permite usar los recursos de una sola computadora.
ADMINISTRACION DE TAREAS
Monotarea
Solamente permite ejecutar un proceso (aparte de los procesos del propio SO) en un momento dado.
Multitarea
Es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de SO. normalmente asigna los recursos disponibles (CPU, memoria, periféricos) de forma alternada a los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez, de forma concurrente
ADMINISTRACION DE USUARIOS
Monousuario
Sólo permite ejecutar los programas de un usuario al mismo tiempo.
Multiusuario
Permite que varios usuarios ejecuten simultáneamente sus programas, accediendo a la vez a los recursos de la computadora
Por el numero de procesadores
Uniproceso
Mutiproceso
Simètrico
Asimètrico
Procesos concurrentes
Conceptos de programación concurrente
Edición concurrente
dos o más usuarios distintos editan un mismo
campo de datos o un mismo documento
Ingeniería Concurrente (IC),
unión de varios procedimientos que sirven para reducir los
tiempos que se utilizan en el desarrollo de proyectos
en paralelo,
siempre que sea posible, en vez de secuencialmente
Objetivos
Acortar los tiempos de desarrollo de los productos.
Elevar la productividad.
Aumentar la flexibilidad.
Mejor utilización de los recursos.
El problema de la sección crítica
porción de código de un
programa de computador en la cual se accede a un recurso compartido (estructura de
datos o dispositivo) que no debe ser accedido por más de un proceso o hilo en ejecución
exclusión mutua.
El método más común para evitar que dos procesos accedan al mismo tiempo a un
recurso es el de la exclusión mutua.
Las funciones de los cerrojos en general son tres: init(), lock() y unlock(). El cerrojo se inicializa con la función init().
Luego cada proceso/hilo debe llamar a la función lock()
antes de acceder a los datos protegidos por el cierre. Al finalizar su sección crítica, el dueño del cerrojo debe desbloquearlo mediante la función unlock().
Semáforos (informática
propósitos
Implementar cierres de exclusión mutua o locks
Barreras
Barreras
Permitir a un máximo de N threads (hilos) acceder a un recurso, inicializando el semáforo en N
núcleo o kernel
Es igual
NO es el sistema operativo
#
La diferencia
la plataforma Amiga
Viene entorno gráfico por separado
Fueron bautizados con el sobrenombre de Video
Toasters
núcleo Linux
usado en las distribuciones
Linux,
aparatos electrónicos con microprocesadores llevan SO
Evaluación de algoritmos
Criterios de evaluación de un algoritmo
Grado de utilización de la CPU.
Tiempo de respuesta.
Rendimiento
Evaluación de políticas
Modelado determinista
Evaluación analítica de algoritmos
Metodología
Se buscan los algoritmos candidatos.
Se establece una carga de trabajo representativa del sistema
Para cada algoritmo
Sometemos la carga de trabajo a su planificación
Evaluamos su rendimiento en función de los criterios de 1
Seleccionamos el que mejor se comporte
Se definen los criterios de rendimiento
Características
Cómodo de realizar
Proporciona magnitudes exactas con las que comparar los algoritmos
Limitación de su validez en cuanto a que se le somete a una carga concreta de trabajo
Modelos de colas (estadísticos).
Metodología
Determinación de la distribución (estadística) de ráfagas de CPU y de E/S.
2.Distribución de los tiempos de llegada al sistema
Resultado: probabilidad de una ráfaga de CPU dada.
Distribución exponencial que se describe en términos de su media
Simulaciones
Metodología
Codificarlo.
Colocarlo en el SO
Probar su funcionamiento
Problema
Coste elevado:
Modificación del SO
Dificultar el trabajo de los usuarios, puesto que el SO está en continuo cambio
Solución:
Plantear un esquema híbrido del tipo
Análisis preliminar de las políticas candidatas mediante modelos deterministas.
Simulación de la opción u opciones más ventajosas
Implementación de la opción óptima:
Primero en un sistema de desarrollo (pruebas).
Finalmente en un sistema de producción.
Implementación
Algoritmos de planificación del procesador
Cuando tenemos más de un proceso en condiciones de
ejecutar, debemos escoger uno de entre ellos. Para
escogerlo empleamos un algoritmo de planificación.
La prioridad
la expropiación
retirar un proceso que se está
ejecutando para introducir otro nuevo.
Paràmetros
Tiempo de espera
Tiempo de retorno
Tiempo de respuesta
Productividad
Número de trabajos realizados por unidad de tiempo
Uso de la CPU
de tiempo que el procesador pasa ejecutando
procesos.
Algoritmos
Estos son para procesos en memoria... creo
FCFS. First Come, First Served
corre el peligro de que un proceso muy largo monopolice la CPU durante mucho tiempo generando tiempos de espera mayores de los que serían deseables. :frowning_face:
no es expropiativo y no emplea prioridades
Round-Robin. RR, Carrousel o planificación por rondas
es expropiativo y no emplea prioridades
dar una rodaja a cada proceso de forma secuencial
se elige el que más tiempo lleve esperando
Si llega un proceso nuevo y hay otro en ejecución, los ciclos de CPU se distribuyen entre ambos pero se ejecuta un ciclo de CPU para el proceso en ejecución e inmediatamente se le asigna un ciclo al recién llegado
Si el
cuanto
es muy pequeño se provocarían constantemente cambios de contexto, disminuyendo el rendimiento :frowning_face:
SJF. Son las siglas de Short Job First,
es decir el trabajo más corto primero
(si dos tienen el
mismo tiempo se decide por FIFO)
puede ser
expropiativo o no.
En la variante expropiativa denominada
SRTN(Shortest remainig Time Next)
medimos el tiempo restante que le queda a cada proceso.
Ventajas o desventaja
Se minimiza el tiempo de espera medio.
Los procesos de larga duración sufren riesgo de inanición.
SJF es un caso especial de planificación por prioridad.
SJF dispone de su versión expulsiva.
Planificación por prioridad
el proceso de mayor prioridad es
el que se ejecuta
Para evitar que los procesos con baja prioridad no lleguen
a ejecutarse
se puede incrementar dicha prioridad
Según la categoría del usuario.
Según el tipo de proceso
Según la ocupación de CPU de los procesos.
Planificación con colas de múltiples niveles
Se trata de repartir el tiempo de la CPU entra las diferentes colas según la
carga que tenga cada una
Otra idea útil es migrar los procesos de una cola a otra cuando
la situación lo requiera.
s uno de los más completos, pero también es de
los más difíciles de implementar :frowning_face:
y cuando no son en memoria????
qué pasa cuando hay muchos procesos, o poca memoria :warning:
2 niveles
uno para planificar a largo plazo, donde se sitúan los procesos que no están en memoria
otro nivel a corto plazo donde se ponen los procesos que están en memoria
Todo al final son 0s y unos, esos se llaman bits, 8 bits son 1 byte