Sistemas Operativos

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 11

Universidad de Oriente

Núcleo Monagas
Escuela de Ingeniería y Ciencias Aplicadas
Sistemas Operativos

Sistemas Operativos

Profesor: Estudiantes:
Rommel Guevara Jesús Medina 26085550
Adrián Rojas 23538051

20/1/2019
¿Qué es un sistema operativo?
Es un software que se encarga de administrar los recursos del dispositivo, es
decir, gestiona el hardware en todos sus niveles. También se encarga de
proporcionar al usuario un conjunto de herramientas de fácil acceso, para que
pueda acceder a todas sus funciones. El sistema operativo es el programa más
importante de un ordenador. Para que funcionen los otros programas, cada
ordenador de uso general debe tener un sistema operativo.
Cabe destacar que los sistemas operativos se encuentran en la mayoría de los
dispositivos electrónicos que utilizan microprocesadores, ya que estos posibilitan
que el dispositivo cumpla con sus funciones.
¿Sistemas operativos como maquinas extendidas?
Es el sistema que funciona sobre el hardware como el intérprete de órdenes
programadas. Al ser una maquina independiente que emula una computadora
física, es posible instalar sistemas operativos y toda clase de aplicaciones.
Este proporciona servicios como:
 Creación de programas.
 Ejecución de programas.
 Operaciones de entrada y salida.
 Manipulación y control del sistema de archivos.
 Detección de errores.
 Control del acceso al sistema.
 Elaboración de informes estadísticos.
¿Sistemas Operativos como administrador de recursos?
En este aspecto, el sistema operativo se encarga de administrar todas las piezas
del sistema (procesador, memoria, temporizador, disco, ratón, impresora, entre
otros), es decir proporcionar una asignación ordenada y controlada a cada
elemento y que puedan tener un correcto funcionamiento en conjunto. Es
importante el correcto ordenamiento de información por parte del sistema
operativo, ya que esto permite que, por ejemplo, los documentos en cola de
impresión se impriman de forma ordenada, y también al tener varios usuarios en el
mismo ordenador, se le asigne la información correspondiente a cada uno.
La administración de recursos incluye el multiplexaje (compartir) de recursos, en
espacio y tiempo. El multiplexaje consiste en que, distintos programas toman
turnos para la utilización de un recurso. Por ejemplo, un procesador y programas
que deseen ejecutarse en él, el sistema operativo asigna primero un programa,
luego un segundo programa, luego otro y así de forma sucesiva, es importante
aclarar que el sistema operativo puede ejecutar nuevamente un programa anterior
de ser necesario.

Las principales tareas de un sistema operativo como administrador de recursos


son:
 Administración de memoria.
 Administración de CPU.
 Manejo de dispositivo de entrada y salida.
 Administración de recursos de disco.
 Comunicación con el usuario.

¿Reseña Histórica de los Sistemas operativos de acuerdo con las


generaciones de la computación?
La primera generación (1945 a 1955): tubos al vacío
Fue en la segunda guerra mundial, cuando ingenieros graduados en universidades
importantes, comenzaron a crear las primeras computadoras, algunas fueron
binarias y otras utilizaban bulbos, pero todas eran primitivas y tardaban varios
segundos en realizar los cálculos mas simples. La programación se realizaba
mediante lenguaje máquina o creando circuitos eléctricos mediante conexiones de
cables a tableros de conexiones. Los lenguajes de programación eran
desconocidos al igual que los sistemas operativos.
 Sistema operativo: Al principio es inexistente, hacia el final se constituye
como un conjunto de funciones de uso general.
 Tecnología: Tubos de vacío.
 Introducción de trabajo: A través de panel de control.
 Lenguaje: Lenguaje máquina.

La segunda generación (1955 a 1965): Transistores y sistemas de procesamiento


por lotes
La introducción del transistor cambió el panorama. Las computadoras se volvieron
lo bastante confiables como para poder fabricarlas y venderlas a clientes que
estuvieran dispuestos a pagar por ellas, mayormente quienes adquirían estas
maquinas eran las empresas grandes, universidades y agencias gubernamentales
importantes. Para llevar a cabo el trabajo (ejecutar un programa), se hacía en
varias etapas, primero el programador escribía el programa en papel (en lenguaje
FORTRAN o ensamblador) y luego lo pasaba a tarjetas perforadas, luego llevaba
el conjunto de tarjetas al cuarto de entrada de datos y lo entregaba a uno de los
operadores. Cuando la computadora terminaba el trabajo, un operador iba a la
impresora y retiraba las hojas con los resultados, las llevaba al cuarto de salida de
datos, para que posteriormente el programador las recogiera. Se desperdiciaba
mucho tiempo de la computadora mientras los operadores caminaban de un lado a
otro, es por esto por lo que se adoptó un sistema de procesamiento por lotes. Las
computadoras de segunda generación se utilizaron principalmente para cálculos
científicos y de ingeniería.
 Sistema operativo: Monitor para cargar trabajos, ejecutarlos,
(procesamiento en serie). Posteriormente procesamiento por lotes.
 Tecnología: Transistores.
 Introducción de trabajo: Tarjetas perforadas.
 Lenguaje: Cobol, Fortran.

La tercera generación (1965 a 1980): Circuitos integrados y multiprogramación


Al principio de la década de 1960, los fabricantes hacían dos tipos de
computadoras. Las computadoras científicas que se utilizaban para cálculos
numéricos de ciencia e ingeniería y, por otro lado, las computadoras comerciales,
que se encargaban de ordenar cintas e imprimir datos en los bancos y las
compañías de seguros. Por tal razón IMB implementó la línea de computadoras
System/360, esta se diseñó tanto para la computación científica como para la
comercial, esta podía satisfacer a todos los clientes.
La IBM 360 fue la primera línea de computadoras en usar circuitos integrados a
pequeña escala, esto optimizó el precio y el rendimiento con respecto a
computadoras de generaciones anteriores.
El hecho de presentar una sola familia, por parte de IMB fue innovador, pero a su
vez presentaba algunos conflictos, la intención era que todo el software,
incluyendo el sistema operativo 360, funcionara en todos los modelos, tanto en
sistemas pequeños (reemplazando a la 1401s) como en sistemas grandes (que a
menudo reemplazaban a la 7094), debía ser eficiente para diferentes usos. No era
posible que IMB cumpliera con todos los requerimientos, el resultado de esto fue
un sistema operativo complejo, con millones de líneas de código, escrito por miles
de programadores, y con muchos errores, razón por la cual, implementaban
nuevas versiones continuamente, estas nuevas versiones solucionaban algunos
errores, pero con ella aparecían errores nuevos y se mantenía un número de
errores constante en el tiempo.
En esta generación también se implementó la partición de memoria, esto debido a
que, en la 7094 cuando se debía completar una operación con cinta u otro
dispositivo E/S, la CPU permanecía inactiva y el trabajo se detenía, hasta terminar
la operación E/S. En los cálculos científicos que requieren uso intensivo de la
CPU, la E/S no es frecuente, por lo tanto el impacto de este problema es casi
inapreciable, pero con el procesamiento de datos comerciales era diferente, ya
que, el tiempo de espera de operaciones E/S era de entre 80 y 90 por ciento del
tiempo total. La solución fue particionar la memoria y asignar un trabajo distinto a
cada partición, mientras un trabajo esperaba a que se completara una operación
E/S, otro podía usar la CPU, si lograban asignar trabajos suficientes a la memoria
principal, la CPU podía estar ocupada casi el 100 por ciento del tiempo.
Otra característica importante de los sistemas operativos de tercera generación,
fue la capacidad para leer trabajos en tarjetas y colocarlos en el disco tan pronto
como se llevaba al cuarto de computadoras, así cada vez que terminaba un
trabajo en una partición el sistema operativo podía cargar otro, a esta técnica se le
conoce como spooling.
También se implementó el timesharing o tiempo compartido que consistía en
asignar la CPU a usuarios que lo requieran y dejando a un lado a usuarios que no
la estén usando.
 Sistema operativo: Multiprogramación, tiempo compartido, sistemas en
tiempo real (OS/360,Multics, UNIX).
 Tecnología: Circuitos integrados, máquinas multipropósito,
miniordenadores.
 Introducción de trabajo: Tarjetas perforadas, terminales.
 Lenguaje: Cobol, Fortran.

La cuarta generación (1980 a la fecha): Las computadoras personales


es el producto del microprocesador de los circuitos electrónicos. El tamaño
reducido del microprocesador de chips hizo posible la creación de las
computadoras personales (PC). Hoy en día las tecnologías LSI (integración a gran
escala) y VLSI (integración a muy gran escala) permiten que cientos de miles de
componentes electrónicos se almacenen en un microchip. Usando VLs, un
fabricante puede hacer que una computadora pequeña rivalice con una
computadora de la primera generación que ocupaba un cuarto completo.
 Sistema Operativo: Distribuido, modelo cliente – servidor en la construcción
del sistema.
 Tecnología: Circuitos integrados a gran escala (VLSI), ordenadores
personales potentes, estaciones de trabajo.

Hardware del computador


El hardware del computador se define como el conjunto de los componentes que
conforman la parte material (física) de una computadora, a diferencia del software
que refiere a los componentes lógicos (intangibles). Sin embargo, el concepto
suele ser entendido de manera más amplia y se utiliza para denominar a todos los
componentes físicos de una tecnología. Dichos componentes son:
Procesador: También conocido como CPU, es el cerebro de la computadora, este
se encarga de ejecutar las instrucciones proporcionadas por la memoria. El ciclo
básico del procesador es obtener la primera instrucción de la memoria,
decodificarla para determinar su tipo, ejecutarla y después obtener, decodificar y
ejecutar las instrucciones subsiguientes. Este ciclo se repite hasta que el
programa se termina.
Memoria: En la memoria de acceso aleatorio se cargan todas las instrucciones
que ejecuta el procesador y otras unidades de la computadora, además de
obtener los datos que manipulan los distintos programas. Se denominan «de
acceso aleatorio» porque se puede leer o escribir en una posición de memoria con
un tiempo de espera igual para cualquier posición, no siendo necesario seguir un
orden para acceder a la información de la manera más rápida posible.
El sistema de memoria esta construido como una jerarquía de capas, que son las
siguientes; registro, caché, memoria principal, disco magnético, cinta magnética.
Disco duro: es el dispositivo de almacenamiento de datos que emplea un sistema
de grabación magnética para almacenar archivos digitales. Se compone de uno o
más platos o discos rígidos, unidos por un mismo eje que gira a gran velocidad
dentro de una caja metálica sellada. El almacenamiento en disco es dos órdenes
de magnitud más económico que la RAM por cada bit y a menudo es dos ordenes
de magnitud más grande en tamaño también.
Cintas: La última capa de jerarquía en la memoria es la cinta magnética. Este
medio se utiliza con frecuencia como respaldo para el almacenamiento en disco y
para contener conjuntos de datos muy extensos.
Dispositivos de E/S: son periféricos o dispositivos externos, se utilizan para
ingresar datos a la computadora, y luego de ser procesados por la unidad central
de procesamiento y así generar la salida de información. Los dispositivos E/S
generalmente constan de dos partes; un dispositivo controlador y el dispositivo en
sí.
Buses: es un sistema digital que transfiere datos entre los componentes de una
computadora o entre varias computadoras. Está formado por cables o pistas en un
circuito impreso, dispositivos como resistores y condensadores, además de
circuitos integrados.
Existen dos tipos de transferencia en los buses:
Serie: El bus solamente es capaz de transferir los datos bit a bit. Es decir, el bus
tiene un único cable que transmite la información.
Paralelo: El bus permite transferir varios bits simultáneamente, por ejemplo 8 bits.
Sistemas operativos
Sistemas operativos de Mainframe: Estas computadoras son extremadamente
grandes y se diferencian de las computadoras de uso personal en su capacidad de
E/S, ya que no es extraño ver una mainframe con 1000 discos y millones de
gigabytes de información almacenada. Los sistemas operativos para mainframes
están orientados para llevar a cabo muchos trabajos a la vez, de los cuales la
mayor parte requiere muchas operaciones de E/S. Por lo general ofrecen tres tipos
de servicios: procesamiento por lotes procesamiento de transacciones y tiempo
compartido. Los sistemas operativos para mainframe se encuentran en los
principales centros de datos corporativos.
Sistemas operativos de servidores: Se ejecutan en servidores, que son
computadoras personales muy grandes, estaciones de trabajo e incluso
mainframes. Pueden dar servicio a los usuarios a través de una red virtual y les
permiten compartir recursos de hardware y software.
Sistemas operativos de multiprocesadores: Consiste en tener varias CPU
conectadas en un solo sistema. Con la llegada al mercado de chips multinúcleos
hasta los sistemas operativos de escritorio, están comenzando a lidiar y adaptarse
a estos, como es el caso de Windows y Linux.
Sistemas operativos de computadoras personales: Todos los sistemas operativos
modernos soportan la multiprogramación, con frecuencia se inician docenas de
programas al momento de arrancar el sistema. Su trabajo es proporcionar una
interfaz limpia, sencilla y agradable al usuario y brindar toda la funcionalidad
necesaria, algunos ejemplos comunes son Linux, Windows, FreeBSD.
Sistemas operativos de computadoras de bolsillo: Una computadora de bolsillo, es
una computadora de tamaño reducido y realiza una pequeña variedad de
funciones como libreta de direcciones y bloc de notas.
Sistemas operativos integrados: Son sistemas incrustados que controlan
dispositivos que no son computadoras, como es el caso del horno microondas,
televisores, autos, entre otros. Estos no ejecutan softwares no confiables debido a
que no se pueden descargar aplicaciones de terceros en él, así que no hay
necesidad de protección y eso simplifica las cosas.
Sistemas operativos de nodos sensores: Estos nodos son pequeñas
computadoras que se comunican entre sí con la estación base, mediante el uso de
comunicación inalámbrica. Estas redes de sensores se utilizan para proteger
perímetros de los edificios, resguardar fronteras nacionales, detectar incendios en
bosques, y muchas cosas más
Sistemas operativos en tiempo real: Un sistema operativo de tiempo real es un
sistema operativo que ha sido desarrollado para aplicaciones de tiempo real.
Como tal, se le exige corrección en sus respuestas bajo ciertas restricciones de
tiempo. Si no las respeta, se dirá que el sistema ha fallado. Para garantizar el
comportamiento correcto en el tiempo requerido se necesita que el sistema sea
predecible
Sistemas operativos de tarjetas inteligentes: Los sistemas operativos mas
pequeños operan en tarjetas inteligentes. Tienen varias restricciones en cuanto a
poder de procesamiento y memoria. Algunas de ellas se energizan mediante el
contacto con el lector en el que se insertan. Algunas tarjetas de este tipo pueden
realizar una sola función, como pagos electrónicos.
Conceptos relacionados con los sistemas operativos
Proceso: Se trata de un programa en ejecución, cada proceso tiene asociado un
espacio de direcciones, el cual contiene el programa ejecutable, los datos del
programa y su pila. También se asocian al proceso, un conjunto de recursos que
comúnmente incluye registros, una lista de archivos abiertos, lista de procesos
relacionados y toda la información necesaria para ejecutar dicho proceso.
Usuario: elemento (persona, máquina) identificable por el sistema.
Sesión: conjunto de acciones desarrolladas por el usuario desde que entra (login)
hasta que sale (logout).
Programa: conjunto de instrucciones destinadas a resolver un problema.
Intérprete de órdenes: programa del sistema que recoge y manda ejecutar las
órdenes del usuario.
Espacios de direcciones: un intervalo de direcciones discretas, cada una de las
cuales puede corresponder a un host de red, un dispositivo periférico, un sector de
disco, una celda de memoria u otra entidad lógica o física.
Niveles de ejecución: Distintos modos de ejecución del procesador, que
determinan que instrucciones se pueden ejecutar en cada momento. Los
programas de usuario se ejecutan en modo normal, mientras que el código del
sistema operativo lo hace en modo privilegiado.
Archivos: Es un conjunto de bits que son almacenados en un dispositivo. Un
archivo es identificado por un nombre y la descripción de la carpeta o directorio
que lo contiene.
Sistema de gestión de procesos: encargado de crear, eliminar, suspender,
reanudar, comunicar y sincronizar procesos.
Sistema de gestión de ficheros: encargado de los ficheros:
 Concepto y tipos de ficheros.
 Gestiona almacenamiento y operaciones.
Entrada/Salida: Es aquel dispositivo periférico que permite al usuario interactuar
con el computador (mouse, teclado, ratón).
Protección: Son todas las medidas que se toman para que un computador no sea
corrompido por agentes no deseados, como es el caso de los virus informáticos.
Shell: Es el programa informático que provee una interfaz de usuario para acceder
a los servicios del sistema operativo.
Núcleo (kernel) del sistema operativo: programa individual que siempre está
cargado en memoria principal y que se está ejecutando permanentemente en el
computador.
Llamadas al sistema
Una llamada al sistema es un método o función que puede invocar un proceso
para solicitar un cierto servicio al sistema operativo. Dado que el acceso a ciertos
recursos del sistema requiere la ejecución de código en modo privilegiado, el
sistema operativo ofrece un conjunto de métodos o funciones que el programa
puede emplear para acceder a dichos recursos. En otras palabras, el sistema
operativo actúa como intermediario, ofreciendo una interfaz de programación (API)
que el programa puede usar en cualquier momento para solicitar recursos
gestionados por el sistema operativo.
Algunos ejemplos de llamadas al sistema son las siguientes:
Write: que se emplea para escribir un dato en un cierto dispositivo de salida, tales
como una pantalla o un disco magnético.
Read: que es usada para leer de un dispositivo de entrada, tales como un teclado
o un disco magnético.
Open: que es usada para obtener un descriptor de un fichero del sistema, ese
fichero suele pasarse a write.
Close: que se emplea para cerrar un descriptor de fichero.
Todo sistema operativo ofrece un conjunto de llamadas al sistema. En el caso de
Linux 3.0, se ofrecen un total de 345 llamadas al sistema. El sistema operativo xv6
ofrece también una lista de llamadas al sistema mucho menor al ser un sistema
operativo muy sencillo.
Toda llamada al sistema se identifica de manera unívoca mediante un valor
numérico que no debe ser modificado a lo largo de la vida del sistema operativo
para evitar que se rompa la compatibilidad hacia atrás.
Estructura de un Sistema Operativo.
La estructura interna de los sistemas operativos puede ser muy diferentes, ya que
se debe tener en cuenta las metas de los usuarios (fácil uso, confiable, rápido,
etc.) y las del sistema (fácil de diseñar, implementar y mantener, eficiente, etc.).
Veremos 3 posibles diseños del sistema.
Sistema Monolítico: Estos sistemas no tienen una estructura definida, sino que son
escritos como una colección de procedimientos donde cualquier procedimiento
puede invocar a otro.
Ejemplos de estos sistemas pueden ser MS-DOS o Linux (aunque incluye algo de
capas). Es importante tener en cuenta que ningún sistema es puramente de un
tipo.
Sistema en capas: El diseño se organiza en una jerarquía de capas, donde los
servicios que brinda una capa son consumidos solamente por la capa superior. La
capa 0 es del Hardware y la N es la de los procesos de Usuario.
Estos sistemas tienen como ventaja que son modulares y la verificación se puede
hacer a cada capa por separado (son más mantenibles). Sin embargo el diseño es
muy costoso y es menos eficiente que el sistema monolítico ya que pierde tiempo
pasando por cada capa.
Sistema con micronúcleo: La idea consiste en tener un núcleo que brinde los
servicios mínimos de manejo de procesos, memoria y que provea la comunicación
entre procesos. Todos los restantes servicios se construyen como procesos
separados del micronúcleo, que ejecutan en modo usuario.
Estos sistemas tienen como ventaja un diseño simple y funcional, que aumenta la
portabilidad y la escalabilidad. Para agregar un nuevo servicio no es necesario
modificar el núcleo, y es más seguro ya que los servicios corren en modo usuario.

Respuestas a las preguntas 6, 12 y 22 de la guía anexada.


6. Hay verías metas de diseño a la hora de crear un sistema operativo, por
ejemplo: la utilización de recursos, puntualidad, que sea robusto, etc. De
ejemplo de dos metas de diseño que puedan contradecirse entre sí.
la optimización de recursos se contradice con la implementación de una interfaz
llamativa a la vista del usuario, ya que, lograr una interfaz agradable y bonita, hace
que la computadora emplee mas recursos en esta, y si por el contrario se cambia
la configuración a una interfaz básica, el consumo de recursos sería mínimo, pero
en este caso, la interfaz no sería visualmente atractiva para el usuario.
12. Cuando un programa de usuario realiza una llamada al sistema para leer
o escribir en un archivo en disco, proporciona una indicación de que archivo
desea, un apuntador al búfer de datos y la cuenta. Después el control se
transfiere al sistema operativo, el cual llama al driver apropiado. Suponga
que el driver inicia el disco y termina hasta que ocurre una interrupción, en
el caso de leer el disco es obvio que el procedimiento que hizo la llamada
tiene que ser bloqueado (debido a que no hay datos para leer). ¿Que hay en
el caso de escribir en el disco? ¿Necesita ser bloqueado el procedimiento
llamador, para esperar a que se complete la transferencia del disco?
La Interrupción ocurre cuando se envía una señal desde un dispositivo de E/S a la
CPU para indicar que la operación de la que se estaba ocupando, ya ha
terminado.
Cuando se habla de que necesita ser bloqueado el procedimiento llamador, para
esperar a que se complete la transferencia del disco, es en su totalidad cierto
debido a que las interrupciones se tratan en todo caso, después de terminar la
ejecución de la instrucción en curso; lo que quiere decir que la interrupción se
tratara al final de la transferencia del disco.
El tratamiento acorde a esta interrupción dependerá de cuál sea el dispositivo de
E/S que ha causado, ante la cual se debe poder identificar el dispositivo que la ha
causado.
22. ¿Cuál es la diferencia esencial entre un archivo especial de bloque y un
archivo especial de carácter?
Primero hay que saber que son formas fundamentales de archivos especiales y
que ambos tienen el mismo propósito, más sin embargo son muy diferentes ya
que los de carácter identifican o buscan archivos por un determinado carácter
formado binariamente, mientras que los archivos por bloques se identifican o se
buscan mediante bloques que podrían ser directorios no son tan específicos como
los caracteres, pero si sirven para abarcar más información que deseamos buscar
u organizar.

 El carácter que se utilizará para indicar que el bit de ejecución estará


asignado también. 
 El carácter que se utilizará cuando el bit de ejecución no esté asignado. 

También podría gustarte