Universidad de Buenos Aires
Facultad de Ciencias Económicas
Tecnología de la Información
Profesor Adjunto
Dr. Anibal Mazza Fraquelli
Sistemas Operativos
➢
En el inicio:
➢
Computador / Técnico en Sistemas / Usuario
➢
Luego:
➢
Computador / Sistema Operativo (Interfase
Usuario) / Usuario
Sistema Operativo
Actividades de Manejo y Control
➢
Asignación
➢
Programación de Tareas
➢
Monitoreo
➢
Dispositivos Residentes:
➢
Almacenamiento Secundario
➢
Administración de Dispositivos
Equivalencias...
➢
Software de Base = Sistema
Operativo
➢
Software de Aplicación = Programas
Ejemplo…
➢
Ram = 64mb
➢Uso propio por SO = 20% = 12.8mb
➢Libre = 10% = 6.4mb
➢
Excel = 8mb
➢
Word = 8mb
➢
Access = 16mb
➢
Outlook = 8mb
➢
Winamp = 4mb
Sistemas Operativos
Sistema Operativo Particularidades
Windows 98 & 95
Windows NT & 2000
Windows CE
32 Bits; GUI; “Multithread”, rediseñado desde viejas versiones, redes
32-bit, no limitado a chips Intel. Multitasking; MultiProceso, redes
32-bit. IBM PS/2. Multitasking; redes Windows para handheld, Inalámbrico Dispositivos de comunicación, redes OS/2
Sistemas Operativos
Sistema Operativo Particularidades
UNIX MicroComputadoras, Workstations, MiniComputadoras. Multitasking; Multi-Usuario; Redes. Portable a varias
plataformas
Mac OS Macintosh. Multitasking, gráficos de alta calidad Multimedia
DOS IBM (PC-DOS) y PC (MS-DOS). Memoria Programas: 640K
Funcionamiento
➢ Ejecución de un solo programa a la vez.
➢ Batch: conjunto de programas que se ejecutan en grupo.
➢ Multiprogramación: varios programas se ejecutan a la vez y el S. O. Asigna los recursos.
➢ Entrada remota de trabajos
➢ Tratamiento de transacciones: permite la ejecución múltiple de un mismo programas (multithreading)
➢ Multiacceso: varios usuarios actuando de forma concurrente.
Definición
➢
Es un programa o conjunto de programas.
➢
Estos programas trabajan juntos para lograr
ciertos objetivos.
➢
Se encarga de gestionar ciertos recursos:
➢
Entrada/salida
➢
Tratamiento de la información
➢
Almacenamiento masivo
➢
Actúa de intermediario entre el hardware y
los programas de aplicación.
Objetivos
➢
Hacer posible el uso eficiente de los recursos del
sistema:
➢Actúa coordinando las diferentes velocidades de
funcionamiento de los dispositivos. P. E. Mas velocidad de procesadores, mas lentitud de periféricos.
➢
Simplificar la operación de trabajo con el
hardware:
➢Generan una máquina virtual: ordenador simplificado en el que el S. O. Carga con el trabajo de acercamiento al hardware.
Funciones
➢ Asignación de tiempo de CPU:
➢ Planificar las diversas actividades.
➢ Control de recursos:
➢ Asignar recursos de forma racional. P. E. División de la memoria del ordenador entre los programas, controlar colas de e/s.
➢ Control de entrada/salida:
➢ Gestionar los datos desde y hacia los periféricos.
➢ Control de los errores y protección:
➢ Informar de las situaciones anómalas
➢ Interfaz con el usuario:
➢ Facilita el uso.
➢ Facilidades contables:
Tipos de S. O.
Estructura jerárquica
Tipos de
S. O.
Sistemas
operativos
por servicios
Estructura
➢
Núcleo
➢
Gestión de la memoria
➢
Control de entrada/salida
➢
Gestión de dispositivos de almacenamiento
masivo
➢
Asignación de recursos y planificación
➢
Protección
Núcleo
➢
Descansa directamente sobre el hardware y
proporciona una serie de servicios a las
capas superiores del sistema.
➢
Las tareas principales son:
➢
Manejo de interrupciones
➢
Asignación de trabajo al procesador
➢
Proporcionar una vía de comunicación entre los
Núcleo
➢
Manejo de interrupciones:
➢
Cuando el hardware detecta una interrupción, el
control se transfiere a este módulo,
➢
el cual analiza el carácter de la interrupción y
toma las acciones apropiadas:
➢Transferir el control a otro módulo del S. O.
➢Iniciar otro programa
Gestión de interrupciones S. O.
multitarea
SO P1 P2 P3 ES1 ES2 ES3 P2 P3 P1 P3Núcleo
➢
Asignación de trabajo al procesador y
comunicación entre programas
➢El núcleo transfiere el control al programa que el
planificador ha determinado para que sea el próximo en ejecutarse.
➢La comunicación entre programas se logra manteniendo una cola de mensajes en espera para cada uno de los
programas activos.
Gestión de la memoria
➢ La memoria principal de la mayoría de los ordenadores es mucho mas pequeña de lo que sería necesario para manejar todos los programas y datos.
➢ El módulo de gestión de memoria es el encargado de asignar ciertas porciones de la memoria principal a los diferentes programas, mientras el resto de programas y datos se mantienen en los dispositivos de almacenamiento masivo.
➢ La forma mas común de gestión de memoria es crear una memoria virtual utilizando los dispositivos de
División de la memoria entre las
tareas
➢
Por páginas: bloques de bytes de igual
tamaño para todos los procesos y tareas.
➢
Por segmentos: bloques de bytes con
distinto tamaño según el proceso.
➢
Por segmentos paginados: Los segmentos
de tamaño distinto se dividen a su vez en
páginas de distinto tamaño.
Control de la entrada/salida
➢
Los problemas derivados de las diferentes
velocidades de funcionamiento de los dispositivos
son tratados por este módulo presentándolo como
una cuestión independiente del dispositivo.
➢
P.e. En las salidas es frecuente la utilización de
spoolers, los datos se almacenan temporalmente en
una cola situada en un dispositivo de
Gestión de entradas/salidas
Proceso Soft E/S Soft Perif Ctrl Interr Hardware
Gestión de los dispositivos de
almacenamiento masivo
➢
Los datos y programas de un dispositivo de
almacenamiento masivo se mantienen en ficheros.
➢
Supervisa la creación, actualización y eliminación
de estos ficheros.
➢
Mantiene un directorio con todos los ficheros que
existen en el sistema en cada momento.
➢
Cada fichero está dotado de un conjunto de
privilegios de acceso, que indican la extensión con
la que pueden compartir la información contenida
en el fichero. El S. O. Vigila que estos privilegios
Sistema de archivos
➢ Todas las aplicaciones computarizadas necesitan almacenar y recuperar la información Superando las limitaciones del almacenamiento real.
➢ Trascendiendo a la duración de los procesos que las utilizan o generan.
➢ Independizando a la información de los procesos permitiendo el acceso a la misma a través de varios procesos.
➢ Las condiciones esenciales para el almacenamiento de la información a largo plazo son:
➢ Debe ser posible almacenar una cantidad muy grande de información.
➢ La información debe sobrevivir a la conclusión del proceso que la utiliza.
➢ Debe ser posible que varios procesos tengan acceso concurrente a la información.
➢ La solución es el almacenamiento de la información en discos y otros medios externos en unidades llamadas archivos:
➢ Los archivos deben ser persistentes, es decir que no deben verse afectados por la creación o terminación de un proceso.
➢ Los archivos son una colección de datos con nombre.
➢ Pueden ser manipulados como una unidad por operaciones como: open, close, create, destroy, copy, rename, list.
➢ Los elementos de datos individuales dentro del archivo pueden ser manipulados por operaciones como: read, write, update, insert, delete.
➢ El “Sistema de Archivos” es la parte del sistema de administración del
almacenamiento responsable, principalmente, de la administración de los archivos del almacenamiento secundario.
Sistema de archivos
➢ Los usuarios deben poder crear, modificar y borrar archivos.
➢ Se deben poder compartir los archivos de una manera cuidadosamente controlada
➢ El mecanismo encargado de compartir los archivos debe proporcionar varios tipos de acceso controlado:
➢ Ej.: “Acceso de Lectura”, “Acceso de Escritura”, “Acceso de Ejecución”, varias combinaciones de estos, etc.
➢ Se debe poder estructurar los archivos de la manera más apropiada a cada aplicación. Los usuarios deben poder ordenar la transferencia de información entre archivos.
➢ Se deben proporcionar posibilidades de “respaldo” y “recuperación”para prevenirse contra:
➢ La pérdida accidental de información. ➢ La destrucción maliciosa de información.
➢ Se debe poder referenciar a los archivos mediante “Nombres Simbólicos”, brindando
“Independencia de Dispositivos”. En ambientes sensibles, el sistema de archivos debe proporcionar posibilidades de “Cifrado” y “Descifrado”.
➢ El sistema de archivos debe brindar una interfase favorable al usuario:
➢ Debe suministrar una “visión lógica” de los datos y de las funciones que serán ejecutadas, en vez de una “visión física”.
➢ El usuario no debe tener que preocuparse por:
➢ Los dispositivos particulares.
➢ Dónde serán almacenados los datos.
Sistema de archivos
➢ Un “Archivo” es un conjunto de registros relacionados➢ El “Sistema de Archivos” es un componente importante de un S. O. y suele contener:
➢ “Métodos de acceso” relacionados con la manera de acceder a los datos almacenados en archivos.
➢ “Administración de archivos” referida a la provisión de mecanismos para que los archivos sean almacenados, referenciados, compartidos y asegurados.
➢ “Administración del almacenamiento auxiliar” para la asignación de espacio a los archivos en los dispositivos de almacenamiento secundario.
➢ “Integridad del archivo” para garantizar la integridad de la información del archivo.
➢ El sistema de archivos está relacionado especialmente con la administración del espacio de almacenamiento secundario, fundamentalmente con el almacenamiento de disco. Una forma de organización de un sistema de archivos puede ser la
siguiente:
➢ Se utiliza una “raíz ” para indicar en qué parte del disco comienza el “directorio raíz ”.
➢ El “directorio raíz ” apunta a los “directorios de usuarios”.
➢ Un “directorio de usuario” contiene una entrada para cada uno de los archivos del usuario.
➢ Cada entrada de archivo apunta al lugar del disco donde está almacenado el archivo referenciado.
➢ Los nombres de archivos solo necesitan ser únicos dentro de un directorio de usuario dado. El nombre del sistema para un archivo dado debe ser único para el sistema de archivos.
➢ En sistemas de archivo “jerárquicos” el nombre del sistema para un archivo suele estar formado como el “nombre de la trayectoria” del directorio raíz al archivo.
Asignación de recursos y
planificación
➢ La mayor parte del tiempo en que un ordenador está funcionando, la demanda de recursos es mayor que los realmente existentes. Este problema se resuelve aplicando una política de asignación de recursos.
➢ El mecanismo sería sencillo si se pudiese utilizar una
política del tipo: “atender primero al que antes lo solicite”, sin embargo esto puede llevar a situaciones de deadlock
(sistema colgado o caido) cuando dos programas solicitan insistentemente recursos asignados a otro.
➢ El planificador cuenta con una política que varia de un S. O. a otro. Una política muy común consiste en el time slicing (asignación de intervalos cortos de tiempo a los programas)
Asignación de recursos y
planificación
Cola del procesador Procesador Colas de Entrada/salida Nuevos programasFin de un intervalo de tiempo
Programas terminados
Programas
ejecutables Ejecución deUn programa Programas listos
para ejecutarse
Programas bloqueados por peticiones e/s
Programas cuyas peticiones e/s satisfechas
Protección
➢
Actúa contra dos sucesos:
➢
Errores
Interfaz de usuario
➢
Interfaz de comandos
MS DOS
➢
Desarrollado en 1979
MS DOS
Procesador de comandos Usuario Sistema de Transferencia de caracteres Sistema de ficheros Programas de aplicación Utilidades Controladores de dispositivos Bios FirmwareMS DOS
➢
Procesador de comandos
➢
Interfaz de usuario
➢
Gestionar el sistema de interrupciones
➢
Tratar los errores
MS DOS
➢
Gestión de almacenamiento masivo
➢
Gestión de ficheros del ordenador
➢
Sistemas de directorios
Directorio raíz
Fichero Directorio Fichero Directorio
Fichero
Windows
➢ Interfaz gráfico ➢ Metáfora escritorio ➢ Menús y botones ➢ Teclado y ratón ➢ S: O. Usuario ➢ S. O. Servidores ➢ Historia ➢ Windows 1.0, 2.0, 3.0 ➢ Windows 3.1 ➢ Windows 3.11 ➢ Windows 95 y 98 ➢ Windows NT, 2000 y XPUNIX
➢
Laboratorios Bell de ATT
➢
S. O. de propósito general
➢
Multiusuario e Interactivo
LINUX
➢
Desarrollado por Linus Torvalds
➢
Funciona sobre plataformas Intel o Motorola
➢
Se estructura en:
➢Núcleo o Kernel: Interactúa directamente con el hardware y reside permanentemente en memoria.
➢Shell: Intérprete de comandos. Interfaz entre núcleo y usuario.