SO - Resumen Primer Parcial PDF

Title SO - Resumen Primer Parcial
Author Lucas Puente
Course Sistemas Operativos
Institution Universidad Argentina de la Empresa
Pages 18
File Size 252.6 KB
File Type PDF
Total Downloads 63
Total Views 254

Summary

SISTEMA OPERATIVOBásicamente es un programa que actúa como intermediario entre el usuario y el hardware de la computadora. Es el software que se ejecuta en modo kernel, cuyo trabajo crear una interfaz amigable para personas y programas, así como encargarse de la administración de todos los recursos ...


Description

SISTEMA OPERATIVO Básicamente es un programa que actúa como intermediario entre el usuario y el hardware de la computadora. Es el software que se ejecuta en modo kernel, cuyo trabajo crear una interfaz amigable para personas y programas, así como encargarse de la administración de todos los recursos antes mencionados. Es la pieza fundamental del software, tiene acceso completo a todo el hardware. 

El sistema operativo como una máquina extendida

El trabajo del sistema operativo es crear buenas abstracciones para después implementar y administrar los objetos abstractos entonces creados. Una de las principales tareas del sistema operativo es ocultar el hardware y presentar a los programas (y a sus programadores) abstracciones agradables, elegantes, simples y consistentes con las que puedan trabajar. 

El sistema operativo como administrador de recursos

Su tarea principal es llevar un registro de qué programa está utilizando qué recursos, de otorgar las peticiones de recursos, de contabilizar su uso y de mediar las peticiones en conflicto provenientes de distintos programas y usuarios. La administración de recursos incluye el multiplexaje (compartir) de recursos en dos formas distintas: en el tiempo y en el espacio. Cuando un recurso se multiplexa en el tiempo, los distintos programas o usuarios toman turnos para utilizarlo: uno de ellos obtiene acceso al recurso, después otro, y así en lo sucesivo. CONCEPTOS ASOCIADOS A LOS SISTEMAS OPERATIVOS Monoprogramación: Sólo se ejecuta un programa a la vez y no se ejecuta otro hasta que se termine con el anterior. Se ejecuta un solo a la vez dentro de un solo espacio de direcciones. Multiprogramacion: Ejecución de múltiples tareas compartiendo los recursos de una misma computadora. Se trata de una evolución del procesamiento por lotes. Dentro de la multiprogramación se encuentra el concepto de tiempo compartido, en donde cada usuario tiene acceso a una única computadora a través de terminales. La computadora central se simula ejecutar en simultáneo las tareas de cada usuario, contener varios programas en memoria al mismo tiempo, y dejarlos que tomaran turnos para ejecutarse Monousuario: Es un sistema operativo que sólo puede ser ocupado por único usuario en determinado tiempo. Multiusuario: Los sistemas operativos multiusuarios son capaces de dar servicio a más de un usuario a la vez, ya sea por medio de varias terminales conectadas a la computadora o por medio de sesiones remotas en una red de comunicaciones. El SO debe contar con administración de usuarios

Monoprocesamiento: Son los que únicamente permiten realizar un proceso a la vez. Sin embargo, permiten simular la multitarea haciendo que el sistema realice una tarea rotatoria con intercambio muy rápido. Multiprocesamiento: Los sistemas operativos Multiproceso son los que permiten realizar varios procesos simultáneamente y por lo tanto son capaces de ejecutar varias tareas al mismo tiempo.

HISTORIA DE LOS SISTEMAS OPERATIVOS La primera generación (1945 a 1955): Sin sistema operativo, programas monitores (HW. Tubos de Vacío)  Atanasoff y Berry: primera computadora digital funcional - Utilizaba 300 tubos de vacío (bulbos).  Zuse: Z3 - A partir de relevadores.  Aiken: Mark I - En Harvard  Mauchley y Eckert: ENIAC  Muy primitivas y tardaban segundos en realizar incluso hasta el cálculo más simple.  Toda la programación se realizaba exclusivamente en lenguaje máquina, aparicion de FORTRAN  Los lenguajes de programación y los sistemas operativos eran desconcidos  1950 - Introducción de las tarjetas perforadas. La segunda generación (1955 a 1965): Sistema de procesamiento por lotes (HW. Transistores)  Introducción del transistor  Estas máquinas, ahora conocidas como mainframes, estaban encerradas en cuartos especiales con aire acondicionado y grupos de operadores profesionales para manejarlas.  Trabajos en tarjetas perforadas  Lenguage FORTRAN o Ensamblador  Se adoptó el sistema de procesamiento por lotes.  IBM 1401: Adecuada para leer las tarjetas, copiar cintas e imprimir los resultados, pero no tan buena para los cálculos numéricos.  IBM 7094: Para cálculos numéricos, mucho más costosas,  Los sistemas operativos típicos eran FMS (Fortran Monitor System) e IBSYS, el sistema operativo de IBM para la 7094.

La tercera generación (1965 a 1980): Sistemas de tiempo compartido y multiprogramación (HW. C.I. SSI-LSI)  IBM System/360 se diseñó para manejar tanto la computación científica (es decir, numérica) como comercial.  Primera línea importante de computadoras en utilizar circuitos integrados a pequeña escala  Sistema operativo OS/360  Multiprogramación - particionar la memoria en varias piezas, con un trabajo distinto en cada partición,  Se requería hardware especial para proteger cada trabajo y evitar que los otros se entrometan y lo malogren;  Tiempo compartido variante de la multiprogramación donde cada usuario tenía una terminal en línea.  CTSS: El primer sistema de tiempo compartido se desarrolló en el M.I.T.  MULTICS: Bell Labs y General Electric - Se diseñó para dar soporte a cientos de usuarios en una máquina que era sólo un poco más potente que una PC basada en el Intel 386, tenía mucha más capacidad de E/S. Estaba escrito en PL/I  UNIX: Thompson, en una PDP-7 version simple de MULTICS para un solo usuario.  POSIX: Estándar para UNIX, desarrollado por el IEEE. Define una interfaz mínima de llamadas al sistema a la que los sistemas UNIX deben conformarse.  1987: MINIX - Clon de UNIX, con fines educativos.  Linux: Torvalds, estaba inspirado por MINIX La cuarta generación (1980 a la fecha): Sistemas en tiempo real, Multimedia (HW .CI VLSI)  Desarrollo de los circuitos LSI contienen miles de transistores en un centímetro cuadrado de silicio (chip)  Era de la computadora personal.  Intel presentó el microprocesador 8080, primera CPU de 8 bits de propósito general  Kildall, sistema operativo basado en disco CP/M  IBM diseñó la IBM PC  DOS: Creado por Seattle Computer Products  MS-DOS : Microsoft  Engelbart inventó la Interfaz Gráfica de Usuario GUI  Steve Jobs: Lisa y Apple Macintosh  Microsoft produjo un sistema basado en GUI llamado Windows

CLASIFICACION DE LOS SISTEMAS OPERATIVOS Sistemas operativos de mainframe Computadoras del tamaño de un cuarto completo que aún se encuentran en los principales centros de datos corporativos. Gran capacidad de E/S. Sistemas operativos están profundamente orientados hacia el procesamiento de muchos trabajos a la vez. Tres tipos de servicios: Por Lotes: Procesa los trabajos de rutina sin que haya un usuario interactivo presente Por Transacciones: Manejan grandes cantidades de pequeñas peticiones Tiempo compartido: Permiten que varios usuarios remotos ejecuten trabajos en la computadora al mismo tiempo. Ejemplo: OS/390 (están siendo reemplazados gradualmente por variantes de UNIX, como Linux) Sistemas operativos de servidores Se ejecutan en servidores, estaciones de trabajo o incluso mainframes. Dan servicio a varios usuarios a la vez a través de una red y les permiten compartir los recursos de hardware y de software Ejemplo: Solaris, FreeBSD, Linux y Windows Server 200x. Sistemas operativos de multiprocesadores Conectar varias CPU en un solo sistema. Dependiendo de la exactitud con la que se conecten y de lo que se comparta, estos sistemas se conocen como computadoras en paralelo, multicomputadoras o multiprocesadores. Necesitan sistemas operativos especiales, pero a menudo son variaciones de los sistemas operativos de servidores con características especiales para la comunicación, conectividad y consistencia. Ejemplo: Windows y Linux Sistemas operativos de computadoras personales 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. Ejemplo: Linux, FreeBSD, Windows Vista y el sistema operativo Macintosh. Sistemas operativos de computadoras de bolsillo Es una computadora que cabe en los bolsillos y realiza una pequeña variedad de funciones, como libreta de direcciones electrónica y bloc de notas. (PDA) Casi todos ellos se basan en CPUs de 32 bits con el modo protegido y ejecutan un sofisticado sistema operativo. Ejemplo: Symbian OS y Palm OS.

Sistemas operativos integrados Operan en las computadoras que controlan dispositivos que no se consideran generalmente como computadoras, ya que no aceptan software instalado por el usuario (hornos de microondas, las televisiones, los autos, los grabadores de DVDs y los reproductores de MP3). Propiedad principal es la certeza de que nunca se podrá ejecutar software que no sea confiable; todo el software se encuentra en ROM. Ejemplo:QNX y VxWorks Sistemas operativos de nodos sensores Son pequeñas computadoras que se comunican entre sí con una estación base, mediante el uso de comunicación inalámbrica. Los sensores son pequeñas computadoras con radios integrados y alimentadas con baterías. Tienen energía limitada y deben trabajar durante largos periodos al exterior y desatendidas, con frecuencia en condiciones ambientales rudas. Cada nodo sensor es una verdadera computadora, con una CPU, RAM, ROM y uno o más sensores ambientales. Ejecuta un sistema operativo pequeño pero real, por lo general manejador de eventos, que responde a los eventos externos o realiza mediciones en forma periódica con base en un reloj interno. Sistema operativo pequeño y simple debido a la poca RAM y el tiempo de baterías Ejemplo: TinyOS Sistemas operativos en tiempo real Se caracterizan por tener el tiempo como un parámetro clave. A menudo hay tiempos de entrega estrictos que se deben cumplir.  Sistema en tiempo real duro: La acción debe ocurrir sin excepción en cierto momento (o dentro de cierto rango)  Sistema en tiempo real suave: Es aceptable que muy ocasionalmente se pueda fallar a un tiempo predeterminado. Algunas veces 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. Ejemplo: e-Cos. Sistemas operativos de tarjetas inteligentes Operan en las tarjetas inteligentes, que son dispositivos del tamaño de una tarjeta de crédito que contienen un chip de CPU. Tienen varias severas restricciones de poder de procesamiento y memoria.

SUBSISTEMAS BASICOS DE LOS SISTEMAS OPERATIVOS 

Procesos

Es en esencia un programa en ejecución. Cada proceso tiene asociado un espacio de direcciones, una lista de ubicaciones de memoria, donde el proceso puede leer y escribir información. También hay asociado a cada proceso un conjunto de recursos, que comúnmente incluye registros. En esencia, un proceso es un recipiente que guarda toda la información necesaria para ejecutar un programa. 

Memoria

Componente importante en cualquier computadora. Debe ser en extremo rápida, de gran tamaño y muy económica. Niveles:  Registros internos de la CPU. Compuestos del mismo material que la CPU y tienen la misma rapidez.  Memoria caché: Se divide en líneas de caché, está limitada en tamaño debido a su alto costo. Algunas máquinas tienen dos o incluso tres niveles de caché, cada una más lenta y más grande que la anterior.  Las CPUs modernas tienen dos de ellas. La caché L1 está siempre dentro de la CPU. La caché L2, que contiene varios megabytes de palabras de memoria utilizadas recientemente.  Memoria principal (RAM), contienen desde cientos de megabytes hasta varios gigabytes y su tamaño aumenta con rapidez. Todas las peticiones de la CPU que no se puedan satisfacer desde la caché pasan a la memoria principal.  ROM se programa en la fábrica y no puede modificarse después. Es rápida y económica.  Memoria virtual: El sistema operativo mantiene una parte del espacio de direcciones en memoria principal y otra parte en el disco, moviendo pedazos de un lugar a otro según sea necesario. El espacio de direcciones se desacopla de la memoria física de la máquina, pudiendo ser mayor o menor que la memoria física. 

Archivos

Se requieren las llamadas al sistema para crear los archivos, eliminarlos, leer y escribir en ellos. Antes de poder leer un archivo, debe localizarse en el disco para abrirse y una vez que se ha leído información del archivo debe cerrarse, por lo que se proporcionan llamadas para hacer estas cosas. Directorio: Lugar en donde se pueden mantener los archivos, manera de agrupar archivos.



Entrada/salida

Todas las computadoras tienen dispositivos físicos para adquirir entrada y producir salida. Es responsabilidad del sistema operativo administrar estos dispositivos. Cada sistema operativo tiene un subsistema de E/S para administrar sus dispositivos de E/S. 

Seguridad

Es responsabilidad del sistema operativo administrar la seguridad del sistema de manera que los archivos, sólo sean accesibles para los usuarios autorizados. Los archivos en UNIX están protegidos debido a que cada uno recibe un código de protección binario de 9 bits. Consiste en tres campos de 3 bits, para el propietario, para los demás miembros del grupo del propietario y uno para todos los demás. Cada campo tiene un bit para el acceso de lectura, un bit para el acceso de escritura y un bit para el acceso de ejecución. Estos 3 bits se conocen como los bits rwx. leer (r), escribir (w) o ejecutar (x) el archivo DIAGRAMAS REPRESENTAIVOS DE UN SISTEMA OPERATIVO 

El Shell (Externo al SO) Caso Windows CMD, Comandos Básicos

             

CD Muestra el nombre del directorio actual o cambia a otro directorio. CLS Borra la pantalla. CMD Inicia una nueva instancia del intérprete de comandos de Windows. COPY Copia uno o más archivos en otra ubicación. DEL Elimina uno o más archivos. DIR Muestra una lista de archivos y subdirectorios en un directorio. ECHO Muestra mensajes, o activa y desactiva el eco. EXIT Sale del programa CMD.EXE (interfaz de comandos). FC Compara dos archivos o conjunto de archivos y muestra las diferencias entre ellos. HELP Proporciona información de ayuda para los comandos de Windows. PATH Muestra o establece una ruta de búsqueda para archivos ejecutables. PRINT Imprime un archivo de texto. SORT Ordena la salida. SYSTEMINFO Muestra las propiedades y la configuración específicas del equipo.



Caso Linux bash, otros, comandos Básicos.

                         

Backup Crea copias para resguardo de archivos. Cal Muestra el calendario. Cat Muestra o concatena archivos. Cd Cambia de directorio actual o retorna al directorio home del usuario. Cmp Compara dos archivos. Cp Copia archivos. Cut Extrae los campos seleccionados de cada línea de un archivo. Date Muestra o establece la fecha. Dif Compara dos archivos de texto e informa diferencias. Echo Transfiere sus argumentos a la salida estándar. Env Muestra o declara las condiciones de entorno para la ejecución de un comando. File Determina el tipo de archivo Grep Busca y muestra las coincidencias para un patrón dado, dentro de un archivo. Head Muestra el contenido de un archivo de texto desde el comienzo hasta la línea especificada. Help Iinvoca la ayuda del shell actual. Id Muestra la información en el sistema del usuario que invocó el comando. Info Muestra información de un comando o parte del sistema. Li Lista el contenido de un directorio. Line Lee una línea de la entrada estándar y la imprime. Lp Imprime archivos en un formato adecuado para ser enviado a la impresora de línea. Ls Muestra el contenido de un directorio o del árbol de directorios con distintos niveles de detalle, optativos, de la información proporcionada. Pr Formatea archivos de entrada para su impresión. Read Lee un comando o variable de la entrada estándar. Sort Ordena líneas de archivos de texto. Split Divide un archivo en partes. Tail Muestra el contenido de un archivo de texto comenzando desde un punto determinado.

 Redireccionamiento Cambia la salida por defecto de un comando a otro lugar que no lo es -

< Redireccion de entrada > Redireccion de salida >> Redireccion de salida append



Pipeline

Toma la salida estándar de un comando y se lo manda a otro comando como entrada. Genera un archive Temp cuando se ejecuta el primer comando y luego se borra cuando termina dicha ejecución 

Stdin, Stdout, Stderror

En todas las variantes de Unix tenemos tres flujos estándar que, a modo de canales, conectan la entrada y salida (I/O) de un comando/aplicación con la terminal/consola cuando se ejecuta, son los siguientes: standard input (stdin) Son los datos que son enviados al programa. Normalmente stdin es texto enviado por el usuario. standard output (stdout) Se reciben los datos que vuelca el comando o programa durante su ejecución, standard error (stderr) A través del canal stderr los programas o comandos suelen enviar el informe de error de la ejecución de un comando en caso de fallar.

Hipervisores



Tipo 1

Creación de una maquina virtual sin Sistema Operativo previo. Se instala el programa monitor sobre el hardware, permite montar maquinas virtuales y montar Sistemas Operativos sobre esa maquinas 

Tipo 2

El sistema operativo que se ejecuta en el hardware se denomina sistema operativo anfitrión. Permite instalar el monitor sobre ese Sistema para poder instalar las maquinas virtuales



Paravirtualización

Tecnica de programación informática que permite virtualizar por software sistemas operativos. El programa paravirtualizador presenta una interfaz de manejo de máquinas virtuales. Cada máquina virtual se comporta como un computador independiente, por lo que permite usar un sistema operativo o varios por computador emulado. La paravirtualización requiere que el sistema operativo invitado sea portado de manera explícita para la API. ESTRUCTURA DEL NUCLEO DEL SO 

Sistemas monolíticos

Todo el sistema operativo se ejecuta como un solo programa en modo kernel. El sistema operativo se escribe como una colección de procedimientos, enlazados entre sí en un solo programa binario ejecutable extenso. En este modelo, para cada llamada al sistema hay un procedimiento de servicio que se encarga de la llamada y la ejecuta. 

Sistemas de capas

Es organizar el sistema operativo como una jerarquía de capas, cada una construida encima de la que tiene abajo. Primer sistema construido fue el sistema THE, el sistema tenía seis capas. MULTICS: Se describió como una serie de anillos concéntricos, en donde los interiores tenían más privilegios que los exteriores. 

Microkernels

Poner lo menos que sea posible en modo kernel, debido a que los errores en el kernel pueden paralizar el sistema de inmediato. La idea básica detrás del diseño de microkernel es lograr una alta confiabilidad al dividir el sistema operativo en módulos pequeños y bien definidos, sólo uno de los cuales (el microkernel) se ejecuta en modo kernel y el resto se ejecuta como procesos de usuario ordinarios, sin poder relativamente. Una idea que está en parte relacionada con tener un kernel mínimo es colocar el mecanismo para hacer algo en el kernel, pero no la directiva. 

Modelo cliente-servidor

Una ligera variación de la idea del microkernel es diferenciar dos clases de procesos: los servidores, cada uno de los cuales proporciona cierto servicio, y los clientes, que utilizan estos servicios. La esencia es la presencia de procesos cliente y procesos servidor. La comunicación entre clientes y servidores se lleva a cabo comúnmente mediante el paso de mensajes. Una generalización obvia de esta idea es hacer que los clientes y los servidores se ejecuten en distintas computadoras, conectadas mediante una red de área local o amplia 

Máquinas virtuales

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 no una, sino varias máquinas v...


Similar Free PDFs