Resumen SO 1er Parcial PDF

Title Resumen SO 1er Parcial
Course Sistemas Operativos
Institution Universidad Argentina de la Empresa
Pages 28
File Size 695.2 KB
File Type PDF
Total Downloads 620
Total Views 941

Summary

SISTEMAS OPERATIVOSDEFINICIÓN✓ Básicamente es un programa que actúa como intermediario entre el usuario y el hardware de la computadora.✓ Es un programa que se ejecuta en el procesador al igual que las aplicaciones de usuario.✓ Entrega el control a otros programas y debe esperar a que el programa le...


Description

SISTEMAS OPERATIVOS DEFINICIÓN ✓ Básicamente es un programa que actúa como intermediario entre el usuario y el hardware de la computadora. ✓ Es un programa que se ejecuta en el procesador al igual que las aplicaciones de usuario. ✓ Entrega el control a otros programas y debe esperar a que el programa le devuelva el control. ✓ Objetivo: 1- Hacer que el sistema de cómputo se pueda utilizar de forma cómoda. 2- Usar el hardware de la computadora en forma eficiente.

FUNCIONES -

COMO MÁQUINA EXTENDIDA.

(intro) La arquitectura de la mayoría de las computadoras a nivel de lenguaje máquina es primitiva y compleja de programar, en especial para la entrada/salida. Debe quedar claro que el programador promedio tal vez no desee involucrarse demasiado con la programación de los discos flexibles o de los discos duros. Lo que desea es una abstracción simple de alto nivel que se encargue de lidiar con el disco. Las buenas abstracciones convierten una tarea casi imposible en dos tareas manejables. 1) Definir e implementar las abstracciones 2) Utilizarlas para resolver el problema en cuestión. ------------------------------(el sistema operativo) → - Oculta el hardware - Presenta abstracciones (agradables, elegantes, simples y consistentes) a los programas y a sus programadores para que puedan trabajar con estas. Clientes del sistema operativo -

Programas de aplicación ( a través de los programadores) Son los que tratan directamente con el sistema operativo y sus abstracciones.

Usuarios finales

-

Tienen que lidiar con las abstracciones que proporciona la interfaz de usuario, ya sea un shell de línea de comandos o una interfaz gráfica.

--------------------------------(Las abstracciones en la interfaz de usuario pueden ser similares a las que proporciona el sistema operativo, pero no siempre es así)

-

COMO ADMINISTRADOR DE RECURSOS

El sistema operativo está presente para administrar todas las piezas de un sistema complejo: ❏ Proporciona una asignación ordenada y controlada de los procesadores, memorias y dispositivos de E/S, entre los diversos programas que compiten por estos recursos. ❏ Permiten la ejecución simultánea de varios programas. Cuando una computadora tiene varios usuarios, hay necesidad de administrar y proteger la memoria, los dispositivos de E/S y otros recursos. Su tarea principal es: - Llevar un registro de qué programa está utilizando qué recursos. - Otorgar las peticiones de recursos - Contabilizar su uso - Mediar las peticiones en conflicto de distintos programas y usuarios. Administración de recursos incluye el multiplexaje (compartir) de estos en dos formas distintas: ❏ En el tiempo ( los programas o usuarios toman turnos para utilizarlos) Ejemplo:

Una sola CPU y varios programas que desean ejecutarse en ella. Una sola impresora y varios trabajos en una cola de impresión.

❏ En el espacio ( cada uno obtiene una parte del recurso) Ejemplo: Una memoria principal se divide entre varios programas en ejecución. eficiente que proporcionar toda la memoria a un solo programa)

(es más

Un solo disco conteniendo archivos de muchos usuarios.

-

ES UN PROGRAMA DE CONTROL

Se ocupa especialmente de la operación y control de los dispositivos de E/S. Controla la ejecución de los programa de usuario para evitar errores y el uso incorrecto de la computadora.

CONCEPTOS ASOCIADOS -

Monoprogramación: Solo se ejecuta un programa a la vez y no se ejecuta otro hasta que se termine el anterior.

-

Multiprogramación: Dos o más procesos pueden alojarse en la memoria principal y ser ejecutados concurrentemente (no simultáneamente) por el procesador. El procesador se separa en time slices (tiempos de intervalo) y se ejecutan alternativamente partes de múltiples procesos cargados en la MP.

-

Monousuario: Soportan solo 1 usuario a la vez. Sin importar: El número de procesadores que tenga la máquina. El número de procesos/tareas que el usuario pueda ejecutar en un mismo instante de tiempo.

-

Multiusuario: Sistema operativo/ programa permite proveer servicio y procesamiento a múltiples usuarios simultáneamente. Administra cada usuario y le asigna nombre y recursos.

-

Monoprocesamiento: Un procesador. Para usarlo para diferentes tareas debo esperar a que este se libere. Hay que repartirlo según lo demanden las apps y según como se quiera trabajar (lo hace el S.O mediante el algoritmo de planificación).

-

Multiprocesamiento: Deben haber 2 o más procesadores trabajando. Pueden ser Simétricos: Todos los procesadores son iguales y es indiferente que se use uno u otro. Asimétricos: Diferentes procesadores (los controla un procesador maestro) que cumplen con diferentes tareas, por esto son más rápidos.

CLASIFICACIÓN - POR TIPO DE NÚCLEO (KERNEL) -

Monolítico

•El núcleo grande y complejo, y engloba todos los servicios / funciones del •Está programado de forma no modular, y tiene mayor rendimiento que un micronúcleo.

sistema.

•Facilitan abstracciones del hardware.

-

Por capas:

El núcleo tiene capas internas, una relacionada al y otras relacionadas a los programas y procesos.

-

hardware

Micronúcleos (microkernel):

• Proveen un conjunto de primitivas o llamadas al sistema mínimas, para implementar servicios básicos como espacios de direcciones, comunicación entre procesos y planificación básica. (modo kernel) •Todos los otros servicios (gestión de memoria, sistema de archivos, operaciones de E/S, etc.), se ejecutan como procesos servidores en modo  usuario. * Si se produce un error en los procesos que se ejecutan en modo kernel, este puede hacer que falle todo el sistema debido a su vital importancia. Contrario es el caso de un posible error de un proceso que se ejecuta en modo usuario * Dificultades: • Complejidad en la sincronización de todos los módulos que lo componen y su acceso a la memoria, • Compleja integración con las aplicaciones.

-

Núcleos híbridos (micronúcleos modificados ) :

• Parecidos a los micronúcleos, excepto porque incluyen código adicional en el espacio de núcleo para que se ejecute más rápidamente. Ej. : MS Windows, XNU, el núcleo de Mac OS X, etc. -

Exonúcleos:

•No facilitan ninguna abstracción, pero permiten el uso de bibliotecas que proporcionan mayor funcionalidad gracias al acceso directo o casi directo hardware.

-

al

Cliente - Servidor:

Variación de la idea de micronúcleo, consiste en diferenciar dos clases de procesos: ● ●

Servidores: Cada uno de los cuales proporciona cierto servicio. Clientes: Los que utilizan estos servicios.

-

Máquina virtual

Un sistema de tiempo de compartido proporciona: 1) Multiprogramación 2) Una máquina extendida con una interfaz más conveniente que el hardware por sí solo. El corazón del sistema que se conoce como monitor de máquina virtual, se ejecuta en el hardware solamente y realiza la multiprogramación, proporcionando varias máquinas virtuales a la siguiente capa hacia arriba. Estas máquinas virtuales son copias exactas del hardware, incluyendo el modo kernel / usuario, las E/S, las interrupciones y todo lo demás que tiene la maquina real. Como cada máquina virtual es idéntica al verdadero hardware, cada una puede ejecutar a cualquier sistema operativo que se ejecute solo en el hardware. Distintas máquinas virtuales pueden (con frecuencia lo hacían) ejecutar distintos s.o.

- POR TIPO DE PLATAFORMA / FUNCION -

S.O de mainframe:

Son computadoras del tamaño de un cuarto completo que aún se encuentran en los principales centros de datos corporativos. La diferencia entre estas computadoras y las personales está en su capacidad de E/S. Están profundamente orientados hacia el procesamiento de muchos trabajos a la vez, que en su mayoría, requieren muchas operaciones de E/S. Ofrecen tres tipos de servicios: procesamiento por l otes, procesamiento de t ransacciones y tiempo  compartido. -

S.O de servidores:

Se ejecutan en servidores, que son computadoras personales muy grandes, estaciones de trabajo o incluso mainframes. Dan servicio (de impresión, de archivos o Web) a varios usuarios a la vez a través de una red y les permiten compartir los recursos de hardware y de software. -

S.O de multiprocesadores:

Se conectan varias CPU en un solo sistema. Sus S.O a menudo son variaciones de los S.O de servidores con características especiales para la comunicación, conectividad y consistencia. -

S.O de computadoras personales:

Su trabajo es proporcionar buen soporte para un solo usuario. Se utilizan ampliamente para el procesamiento de texto, las hojas de cálculo y el acceso a Internet. -

S.O de computadoras de bolsillo: ( Personal Digital Assistant)

Realiza una pequeña variedad de funciones, como libreta de direcciones electrónica y bloc de notas. (CPUs de 32 bits) PDAs vs Telefonos celulares → D  iferencias en el tamaño, el peso y la interfaz de usuario. PDAs vs PCs → Los primeros no tienen discos duros de : varios cientos de GigaBytes.

-

S.O integrados:

Operan en las computadoras que controlan dispositivos que no se consideran como computadoras (no aceptan software instalado por el usuario). Todo el software se encuentra en ROM. Esto significa que no hay necesidad de protección en las aplicaciones, lo cual conlleva a cierta simplificación.

-

S.O de nodos sensores :

Son pequeñas computadoras que se comunican, inalambricamente entre sí, con una estación base. Poseen radios integrados y son alimentadas con baterías, por lo que la red debe ser lo bastante robusta para tolerar sus fallas a medida que las baterías empiezan a agotarse. -

S.O en tiempo real:

Se caracterizan por tener el tiempo como un parámetro clave. El sistema operativo es simplemente una biblioteca enlazada con los programas de aplicación, en donde todo está acoplado en forma estrecha y no hay protección entre cada una de las partes del sistema

-

Sistema de t iempo real duro : Cuando una acción debe ocurrir sin excepción dentro de un cierto rango de tiempo.

-

Sistema de tiempo real suave: Acepta que muy ocasionalmente se pueda fallar a un tiempo predeterminado.

-

S.O de tarjetas inteligentes:

Son dispositivos del tamaño de una tarjeta de crédito que contienen un chip de CPU. Algunos pueden realizar una sola función, como pagos electrónicos; otros pueden llevar a cabo varias funciones en la misma tarjeta inteligente. Algunas tarjetas inteligentes funcionan con Java. Lo que esto significa es que la ROM en la tarjeta inteligente contiene un intérprete para la Máquina virtual de Java (JVM). La administración de los recursos y su protección también se convierten en un problema cuando hay dos o más applets (pequeños programas de Java) presentes al mismo tiempo.

Historia de los Sistemas Operativos Cada fase surgió sin esperar a que la anterior terminará completamente. -

Primera Generación → El sistema operativo eran las personas. → Tubos de vacío → Procesamiento en serie (CPU atiende solo un proceso por vez) → Máquinas a válvula → Si el proceso espera una operación de E/S, la CPU está ociosa. → Se programa por cableado. (No existen lenguajes de programación) → Instrucciones codificadas a mano. → Se crean los Ensambladores,Enlazadores y Cargadores para agilizar el proceso de programación.

-

Segunda Generación  → Programas escritos en lenguaje ensamblador y posteriormente se perforaban las tarjetas con el código. → 1° pseudo sistema operativo (compartía memoria con otros programas y corría un trabajo a la vez transfiriendo automáticamente el control al siguiente). → Transistores discretos → Sistema de Procesamiento por Lotes : - Programas de usuario de necesidades similares. - Cuando el trabajo estaba en ejecución, este tenia control total de la máquina. - Al terminar cada trabajo (normal o anormalmente), el control era devuelto al pseudo SO, el cual "limpiaba" la memoria, leía e inicia el trabajo siguiente. - P  roblemas: - Entre la carga de los lotes (grandes demoras). - Si el trabajo se detenía el operador debía percatarse y determinar si fue detención normal o anormal. - Al terminar cada trabajo (bien normal o anormalmente), el operador debía reiniciar el computador para el siguiente lote.

→ + importante en la planificación de trabajos: capacidad de multi programar. → Se creó el Secuenciador Automático de Trabajos. → Aparecen nuevos lenguajes, entre ellos se desarrolla el FORTRAN y se usa el ASSEMBLER.

-

Tercera Generación → S.O de tiempo compartido hace uso de planificación de la CPU y la multiprogramación. (es decir que la CPU ejecuta múltiples trabajos alternando entre ellos, a muy alta velocidad) → Varios trabajos deben mantenerse sincrónicos en la memoria por lo que requiere de la Administración y Protección de memoria. → S.O desarrollados para servir a múltiples usuarios de forma simultánea → Procesamiento por Lotes, de tiempo compartido, de tiempo real y multiprocesamiento. → Memoria virtual: conformada por la memoria operativa (RAM) y la memoria secundaria (memoria de respaldo). → La técnica de spooling: permite leer y escribir en los periféricos cuando se necesita, en lugar de tener que esperar a que todos los trabajos estén listos. Para ello el sistema operativo mantiene una cola de impresión, es decir, con la información de los trabajos a ser impresos. → Almacenamiento transitorio y rápido: buffers´s → Para asegurar una ejecución ordenada debe contemplar mecanismos de sincronización y comunicación de los procesos, asegurando que estos no se bloquean mutuamente.

-

Cuarta Generación → Sistemas de Red → Sistemas de Tiempo Real → Sistemas de Procesamiento Paralelo → Sistemas Distribuidos → Emuladores de terminal para el acceso a equipos remotos desde la PC. → Proliferación de sistemas de base de datos. → Popularización del modelo cliente  - servidor. → Concepto de máquina virtual. → Software amigable con el usuario con una interfaz gráfica muy desarrollada.

-

Nuevas generaciones → Aparición de internet de: - Las aplicaciones de Inteligencia Artificial y Máquinas Inteligentes. - De los objetos (IOT) e interfaces entre las máquinas que operan de forma autónoma → Computación ubicua e invisible. → Grandes cantidades de datos almacenados y procesados a nivel global.

SUBSISTEMAS BÁSICOS DE LOS SISTEMAS OPERATIVOS -

Procesos  Es un programa en ejecución. Cada proceso tiene asociado: 1) Un  espacio de direcciones. (Contiene el programa ejecutable, los datos del programa y su pila) 2) Una  lista de ubicaciones de memoria donde el proceso puede leer y escribir información. (va desde algún mínimo (generalmente 0) hasta cierto valor máximo) 3)  Recursos. - Registros (el contador de programa y el apuntador de pila, entre ellos) - Una lista de archivos abiertos - Alarmas pendientes - Listas de procesos relacionados - Etc.

/ ej: multiprogramación / cuando un proceso se suspende en forma temporal, toda la información acerca de este debe guardarse en alguna parte (de forma explícita) durante la suspensión. Además de que todos los apuntadores deben guardarse de manera que, si una llamada a read se ejecuta después de reiniciar el proceso, lea los datos apropiados. TABLA DE PROCESOS- tabla de info.

-

Archivos:

-

Para crear, leer*, escribir y eliminar archivos → Se requieren las llamadas al sistema

-

* Para leer un archivo primero debo localizarlo en el disco para poder abrirlo y una vez que lo leí se debe cerrar.

-

El S.O utiliza directorios para agrupar los archivos y donde además pueden haber otros directorios, dando lugar a una jerarquía que puede existir por años ( no como la jerarquía de procesos que tienen una duración corta).

-

Entrada/Salida:

-

Diferentes dispositivos: Teclados, monitores, impresoras,etc. (Es responsabilidad del sistema administrarlos y para esto cuenta con subsistemas de E/S)

-

Una parte del software de E/S es independiente de los dispositivos (se aplica a muchos o a todos los dispositivos de E/S por igual)

-

Otras partes del software son específicas para ciertos dispositivos de E/S.

-

Seguridad:

-

Las computadoras contienen grandes cantidades de información que los usuarios comúnmente desean proteger y es responsabilidad del sistema operativo administrar la seguridad del sistema.

-

Memoria:

-

Es uno de los principales recursos de la computadora y se construye en una jerarquía. (organización piramidal de la memoria que tienen los ordenadores → en niveles)

-

Puntos básicos : Velocidad , Cantidad y Costo.

-

ADMINISTRACIÓN Y PROTECCIÓN DE MEMORIA: En los S.O más avanzados los programas pueden estar trabajando en memoria simultáneamente por lo tanto para que uno no interfiera con el otro, se necesita algún tipo de mecanismo de protección. Esto sirve para aprovechar eficazmente el espacio disponible.  ❖ Hay dos clases de sistemas de administración de memoria: - Operan solo en memoria principal - Los que llevan y traen procesos entre la memoria principal y el almacenamiento secundario durante la ejecución.

-

! El intercambio y la memoria virtual (paginación) existen por la falta de suficiente memoria principal para contener todos los programas a la vez.  Ciclo de vida de un programa: ○ Compilación ○ Carga ○ Ejecución 

-

Concepto de reubicación

-

Se ejecuta un programa: - No conocemos en qué parte de la memoria se colocará. - No conocemos que otros programas están en la memoria.



Reubicación → un programa en ejecución puede tener que descargarse al disco y tener que volver a la memoria principal, pero en una ubicación distinta a la anterior. ¿Cuando no es reubicable? ○ Durante el proceso de compilado se traduce direcciones de memoria simbólicas a direcciones binarias, si las direcciones binarias son absolutas, el programa solo se puede ejecutar en una zona fija de memoria, es decir no es reubicable. Tipos de reubicación: ○

Reubicación estática: ■ ■ ■



Durante la carga del programa. Se utiliza el direccionamiento indirecto a partir de la dirección de carga del programa. El programa no se puede mover después de la carga.

Reubicación dinámica: ■ ■

Durante la ejecución del programa. El direccionamiento se realiza dinámicamente a medida que se van produciendo las referencias a memoria. ■ El programa se puede desplazar en cualquier instante.

-

Vinculación de las direcciones (Enlazado)



Dirección física → La que llega al chip de memoria.



Dirección lógica/virtual→  La que genera la CPU.

La traducción de direcciones virtuales a físicas lo hace un dispositivo llamado MMU (memory management unit). ●

Enlazado durante la: ○

Compilación  → Si en el momento de la compilación se sabe en qué parte de la memoria va a estar el proceso (es posible generar código absoluto), la vinculación se realiza durante el compilado.



Carga → Si lo anterior no ocurre, el compilador gene...


Similar Free PDFs