Вы находитесь на странице: 1из 29

SISTEMAS OPERATIVOS 1

UNIVERSIDAD CENTRAL
FACULTAD DE INGENIERIA, CIENCIAS FISICAS Y MATEMATICAS
CARRERA DE INGENIERA INFORMTICA
MARZO 2016 SEPTIEMBRE 2016

INTRODUCCION
ENFOQUE GENERAL
VISIN ABSTRACTA DEL SISTEMA OPERATIVO
Usos de las visiones abstractas
METAS DE UN SISTEMA OPERATIVO
LA OPERACIN DE UN SISTEMA OPERATIVO
Programas
La asignacin y planificacin de recursos
Recursos virtuales
Seguridad y proteccin

INTRODUCCION
Un Sistema Operativo (SO) tiene significados distintos para
diferentes tipos de usuarios.
La visin de cada uno de stos se denomina visin abstracta,
porque enfatiza las caractersticas que son importantes desde su
punto de vista.
Un SO implementa una visin abstracta al actuar como
intermediario entre el usuario y el sistema de cmputo.
Un SO tiene dos metas: 1.- el uso eficiente de un sistema de
cmputo; y, 2.- satisfacer la conveniencia del usuario. La segunda
meta a menudo esta en conflicto con la primera.
El SO no puede entonces satisfacer a las dos metas y por lo tanto
debe encontrar el equilibrio que resulte mas efectivo en el
ambiente en el que se usa un sistema de cmputo.
Se usa el trmino utilizacin efectiva para denotar el balance entre
la eficiencia y la conveniencia de uso del usuario.
La funcin principal de un SO es permitir la ejecucin de los
programas del usuario para asegurar su conveniencia y el uso
eficiente de los recursos.

VISIN ABSTRACTA DEL SISTEMA OPERATIVO


Cada tipo de usuario probablemente exprese diferentes respuestas a la
pregunta: Qu es un Sistema Operativo?; as por ejemplo:
Un estudiante de universidad que comienza, dira: Es el software
que permite el acceso a la informacin disponible en internet.
Un programador dira: software que permite el uso de un
sistema de cmputo para el desarrollo de programas.
Un usuario que usa un paquete de aplicaciones dira: software
que hace posible el uso de paquetes de aplicaciones.
Un tcnico de una planta qumica automatizada dira:
componente de un sistema de cmputo que controla la planta.
La percepcin de cada tipo de usuario es diferente y depende de tres
factores: 1.- propsito para el cual la computadora se usa, 2.- ambiente
en el que se usa el sistema de cmputo; y, 3.- grado de identidad del
sistema de cmputo con el propsito que se esta atendiendo.
En todas las percepciones el sistema de cmputo tiene un uso
especfico.

Continuacin : VISIN ABSTRACTA DEL SISTEMA OPERATIVO


En todas las percepciones el concepto comn es el uso de un
sistema de cmputo para un(os) propsito(s) especfico(s).
Puede concluirse que el usuario percibe al SO como software que
le ayuda a lograr el uso buscado de un sistema de cmputo, pero las
dems capacidades del sistema de computo y su ambiente no
parecen tener importancia.
Un usuario entonces preferira un SO que le permita lograr su
propsito de la manera ms simple y rpida. Esto implica que la
perspectiva de un usuario esta definida por la conveniencia y la
rapidez de uso de la computadora.
Estas perspectivas o visiones de los usuarios se denominan
visiones abstractas. Por lo tanto una visin abstracta se centra en
las caractersticas esenciales de una entidad desde la perspectiva
del observador. Esto as mismo hace que contenga algunos
elementos de realidad pero ignora otros.

USOS DE LAS VISIONES ABSTRACTAS


Las visiones abstractas son tiles para los propsitos resumidos en
la siguiente tabla:
USO

DESCRIPCIN

Recopilacin de los
requerimientos del sistema

La visin abstracta del usuario indica los servicios importantes


que un sistema debe suministrar. Puede usarse un conjunto de
visiones abstractas para integrar una especificacin de los
requerimientos del sistema.

Diseo del sistema

El uso de las visiones abstractas permite que un diseador se


centre en una parte especfica del sistema. Los detalles de las
dems partes estn ocultos; se supone que estas partes se
encuentran disponibles. Este enfoque ayuda a controlar la
complejidad del proceso de diseo.

Implementacin del
sistema

La parte cuyos detalles estn ocultos en una visin de diseo


se convierte en un mdulo, que puede invocarse desde otros
mdulos . Este hecho conduce a una implementacin modular

Continuacin: USOS DE LAS VISIONES ABSTRACTAS


A continuacin se presenta un esquema de la visin abstracta de
un sistema operativo, la misma que tiene 3 partes principales y
que estn compuestas de varios programas :
Interfaz del usuario

Provee al usuario una interfaz de comando de lnea o bien una de usuario


grfico. Los programas de esta parte, usan recursos provistos por los
programas que no son de kernel. Un usuario interacta con los programas
en la interfaz del usuario ( comnmente con el interprete de comandos)
para solicitar el uso de recursos y los servicios provistos por el sistema

Programas que no son


de kernel

Implementan los comandos del usuario. No interactan con el


hardware, usan recursos provistos por los programas de kernel

Kernel (ncleo)

Es el corazn de Sistema operativo, controla la operacin de la


computadora y provee un conjunto de funciones y servicios para
usar la CPU y los recursos de la computadora

Hardware de la computadora
La visin abstracta contiene un arreglo jerrquico de las capas del programa, en el cual
los programas de la capa ms alta usan los recursos provistos por los programas de la
capa de abajo. Esta visin abstracta ayuda a entender el diseo de un Sistema Operativo

ORGANIZACIN LGICA Y FSICA


La visin del programador de una entidad es una
visin abstracta. Contiene caractersticas y
propiedades tiles de la entidad desde la perspectiva
del programador.
Tres entidades importantes de esta clase son: el
programa, el archivo y el dispositivo de E/S
La visin abstracta de una entidad se designa como
visin lgica, y el arreglo y la relacin entre los
componentes de la entidad se conocen como
organizacin lgica.
La visin real de una entidad, que a menudo coincide
con la visin de la entidad del sistema operativo, es
llamada visin fsica y el arreglo bosquejado adentro
se designa como organizacin fsica

VISIONES LOGICA Y FISICA DE LA EJECUCION DE UN


PROGRAMA
Memoria
Sistema
Operativo (SO)

Info
Programa P

Instrucciones +
espacio de datos
de P

Datos

CPU
Resultados

VISION LOGICA

Otros
programas

VISION FISICA

Impresora

METAS DE UN SISTEMA OPERATIVO


Un SO debe asegurar el uso eficiente de un sistema de cmputo y
tambin proveer la conveniencia del usuario.
Estas dos consideraciones a menudo estn en conflicto.
Ejemplo: el suministro de un servicio rpido a una peticin del
usuario podra implicar que hay que despreciar a otros usuarios del
sistema. Tambin podra significar que los recursos deberan
permanecer asignados al programa de un usuario aun cuando el
programa no los esta usando. Esto produce subutilizacin de
recursos.
En estos casos el diseador del SO debe tomar una decisin
consciente para intercambiar la conveniencia y la velocidad
de un usuario con las de otros, o bien con el uso eficiente del
sistema de computo.
La meta crucial de un SO es proveer la combinacin que mejor se
ajuste al ambiente de uso eficiente y de conveniencia del usuario.
Esto constituye la nocin de utilizacin efectiva de un sistema de
computo
Hay varios tipos de SO en uso porque cada uno de ellos provee un
grado diferente de utilizacin efectiva.

ASPECTOS DE USO EFICIENTE Y DE LA CONVENIENCIA DEL USUARIO


El SO y la utilizacin efectiva de sistemas de cmputo.- la nocin de
utilizacin efectiva abarca un espectro amplio de consideraciones:
Consideraciones centradas en
Consideraciones centradas en el
el usuario: conveniencia del
usuario y del servicio rpido
para las peticiones del
usuario
Son importantes en SO que
admiten computacin
interactiva o aplicaciones de
tiempo crtico

sistema

El uso eficiente es la preocupacin


central. Ejemplo: procesamiento
de datos no interactivo. Se obtiene
con buenas polticas de asignacin
de recursos

La eficiencia de uso tiene dos aspectos: 1.- un SO consume algunos recursos de un


sistema de cmputo durante su propia operacin. Ejemplo: ocupa memoria y usa el CPU;
esto produce una sobrecarga que reduce los recursos disponibles a los programas de los
usuarios. 2.- empleo de recursos que realizan los programas del usuario
Puede resultar una eficiencia baja por dos razones:1.- asignacin de recursos en exceso a
los programas (produce derroche de recursos). 2.- cuando el SO no puede asignar
recursos libres a los programas que lo necesiten (entorpecimiento del uso de recursos).
Para lograr una buena eficiencia un SO debe compensar estos dos efectos y minimizar la
sobrecarga

Continuacin: ASPECTOS DE USO EFICIENTE Y DE LA


CONVENIENCIA DEL USUARIO
El uso eficiente.- el uso eficiente de recursos puede obtenerse
mediante la revisin constante de su empleo y realizando medidas
correctivas cuando sea necesario. Un sistema de computo tiene varios
recursos (memoria, dispositivos E/S, CPU) por lo que la revisin de uso
producira sobrecarga alta. Los SO usan estrategias de aplicacin simple
y fcil pero que no son del todo ptimas para asegurar buena
eficiencia. A continuacin facetas de la conveniencia del usuario:
Faceta
Ejemplos tabla:
La conveniencia
del usuario: resume en la siguiente
Necesidad

Capacidad para ejecutar programas, uso del sistema de archivos

Buen servicio

Respuesta rpida a las peticiones de computacin

Sistema Operativo amigable con el


usuario

Comandos de uso sencillo, interfaz grfica del usuario (GUI)

Nuevo modelo de programacin

Programacin concurrente

Caractersticas para expertos

Medios para construir estructuras computacionales complejas

Caractersticas orientadas a la red

Medios para construir servidores con capacidad de red

Evolucin

Capacidad para aadir nuevas caractersticas, uso de nuevas


computadoras.

LA OPERACIN DE UN SISTEMA OPERATIVO

Un S O implementa requisitos computacionales de sus usuarios con la


ayuda de recursos del sistema de cmputo. A continuacin se presenta
las funciones principales de un SO.
Funcin

Responsabilidad del Sistema operativo

Programas

Iniciacin y terminacin de los programas. Suministrar mtodos convenientes, de


modo que varios programas puedan trabajar con un objetivo comn.

Recursos

Asegurar la disponibilidad de los recursos en el sistema y asignarlos a los programas

Planificacin

Decidir cuando y durante cuanto tiempo dedicar el CPU a un programa.

Proteccin

Proteger los datos y los programas contra la interferencia de otros usuarios y de sus
programas

Un SO realiza varias tareas de limpieza para admitir las funciones de


creacin y terminacin de programas, asignacin de recursos,
planificacin y proteccin.
Tambin realiza otras tareas para implementar su nocin de utilizacin
efectiva, que se las resume en la siguiente tabla:

TAREAS COMUNES PARA UTILIZACION EFECTIVA


REALIZADAS POR LOS SO
Tarea

Cuando/quin ejecuta

1. Mantener una lista de usuarios autorizados.

Administrador del sistema

2. Construir una lista de todos los recursos del sistema.

Cuando se inicia el SO

3. Iniciar la ejecucin de los programas.

Con comandos del usuario

4. Mantener la informacin del uso de recursos por los


programas y el estado actual de todos los programas.

Continuamente durante la
operacin del SO

5. Mantener el estado actual de todos los recursos y asignar


los recursos a los programas cuando se solicite.

Cuando se soliciten
recursos o se liberen

6. Realizar la planificacin.

Durante la operacin del SO

7. Mantener informacin para la proteccin.

Durante la operacin del SO

8. Manejar las peticiones hechas por los usuarios y sus


programas

Con las peticiones del


usuario

A continuacin estudiamos como el SO maneja los programas, recursos y la planificacin

Ejecucin de programas
Una estructura computacional es una configuracin de uno o ms
programas que trabajan con una meta comn, la cual es creada al
emitir uno o ms comandos para especificar las relaciones entre
los programas y para iniciar su ejecucin. A continuacin se indican
las responsabilidades del SO para el manejo de estas estructuras:
Estructura
computacional

Responsabilidades del Sistema Operativo

Programa
individual

Ejecutar la iniciacin terminacin/terminacin de los programas,


administracin de recursos.

Secuencia de
programas
individuales

Implementar la dependencia de los programas: terminar la secuencia


si un programa experimenta una terminacin normal.

Coejecucin
de programas

Suministrar las interfaces apropiadas entre los programas, ejecutar la


terminacin de los de los programas coejecutados.

A continuacin se estudian mayores detalles de las estructuras computacionales

Programa individual: en este caso el cmputo consta de la


ejecucin de un programa para un conjunto determinado de datos.
El programa puede ser secuencial o concurrente.
Secuencia de programas individuales: cada programa individual en
la secuencia es iniciado por el usuario mediante un comando
separado. Un programa se ejecuta solo si los programas previos en
la secuencia se ejecutaron con xito. Para lograr la meta comn los
programas explcitamente deben hacer interfaz de las entradas y las
salidas con otros programas de la secuencia.
Ejemplo: a) el archivo .bat del MS DOS puede usarse para formar
una secuencia de programas individuales. b) Contiene una
secuencia de comandos y cada comando indica la ejecucin de un
programa. C) los comandos podran iniciar una secuencia de
programas para compilar, ligar y ejecutar un programa en C.
El compilador c podra compilar un programa C contenido en alfa.c,
el ligador ligara la salida del compilador para generar un programa
ejecutable demo, y, el programa demo se ejecuta con los datos
contenidos en el archivo muestra.

El intrprete de comandos carga el compilador C en


memoria para ejecucin. Cuando el compilador
termina su ejecucin, el intrprete de comandos inicia
la ejecucin del ligador; y, finalmente inicia la ejecucin
de demo.
Cada programa de la secuencia debe hacer sus propios
arreglos para comunicar sus resultados a otros
programas; esto se logra usando convenciones para
nombrar los archivos. As pues la salida del compilador
C es un archivo denominado alfa.obj para que el
ligador lo tome. El intrprete de comandos es ajeno a
estos arreglos, solo implementa los comandos.
El significado de una secuencia de programas
determina que el ligador sea ejecutado solo si la
compilacin del programa C tiene xito; y, adems
demo se ejecutar solo si el ligado tiene xito

LA ASIGNACION Y PLANIFICACION DE RECURSOS


Esta funcin realiza la unin de uno o ms recursos con un
programa solicitante.
Tambin retira la asignacin de recursos de un programa y los
asigna a otros. Estas dos funciones ayudan al uso compartido de
recursos entre usuarios.
Los recursos se dividen en recursos creados por el sistema y
creados por el usuario.
La funcin de proteccin de los recursos impide la interferencia
mutua entre usuarios que comparten un conjunto de recursos.
La proteccin se implementa realizando una asignacin solo si una
peticin satisface un conjunto de restricciones.
Las restricciones se relacionan con la naturaleza del recurso.
Ejemplo : si un recurso puede ser usado concurrentemente por
varios usuarios. Otras restricciones son especificadas por el dueo
de un recurso.
Dos estrategias comunes para la asignacin de recursos son: 1.- La
particin de los recursos. 2.- La asignacin de los recursos en
comn.

Continuacin:

LA ASIGNACION Y PLANIFICACION DE RECURSOS

En la particin de recursos el SO decide a priori qu recursos debern


asignarse al programa del usuario. Esto se denomina asignacin
esttica, ya que la asignacin se realiza antes que inicie la ejecucin de
un programa. Es simple de implementar . Carece de flexibilidad.
Produce problemas de derroche de recursos. Esto ocurre porque la
asignacin se hace en base a necesidades percibidas de un programa y
no en base a sus necesidades reales.
En el enfoque de recursos en comn el SO mantiene un grupo comn de
recursos y los asigna desde ste cada vez que un programa pide un
recurso. Se denomina asignacin dinmica, ya que tiene lugar durante
la ejecucin de un programa y as se evita derroche de recursos
asignados.
Un esquema simple de asignacin de recursos usa una tabla de recursos
como la estructura central de datos. En esta tabla cada elemento
contiene el nombre y la direccin de una unidad de recurso y su estatus
actual (libre o asignado a algn programa). La tabla se construye por el
procedimiento de cargado al detectar la presencia de los dispositivos de
E/S en el sistema.

TABLA CENTRAL DE ASIGNACION DE RECURSOS

Nombre del recurso

Clase

Direccin Estatus de asignacin

Impresora 1

Impresora

101

Asignado a P1

Impresora 2

Impresora

102

Libre

Impresora 3

Impresora

103

Libre

Disco 1

Disco

201

Asignado a P1

Disco 2

Disco

202

Asignado a p2

Escritor en disco
compacto 1

Escritor en disco

301

Libre

Continuacin: ASIGNACION Y PLANIFICACION DE RECURSOS


En la asignacin particionada de recursos, el SO considera el
numero de recursos y los programas en el sistema y decide cuantos
recursos de cada clase sern asignados a un programa
Ejemplo: un SO puede asignar a un programa 1MB de memoria,
2000 bloques de discos y un monitor, esta coleccin de recursos se
denomina particin.
En la asignacin de recursos en comn el SO consulta la tabla de
recursos cuando un programa presenta una solicitud, y luego le
asigna.
La asignacin de recursos en comn causa sobrecarga por la
asignacin y tambin por el retiro de la asignacin individual de los
recursos; pero evita el desperdicio de recursos y la imposibilidad de
asignar recursos, porque la asignacin se adapta a los requisitos de
recursos de los programas

ESQUEMAS DE ASIGNACION DE RECURSOS


CONJUNTO DE PARTICIONES

1 MB

Particin 1 .

1 MB

1 MB

RECURSOS EN COMUN
1 MB

1 MB

1 MB

Particin n

Las particiones se definen durante el


tiempo de cargado y se asigna una
particin antes de ejecutar el programa

P1
P2
Contiene entradas para particiones
de los recursos

EL USO DE RECURSOS COMPARTIDOS


Los programas pueden compartir un recurso en dos formas: 1.- El
uso compartido secuencial. 2.- El uso compartido concurrente
En el uso compartido secuencial se asigna un recurso para su uso
exclusivo por parte de un programa. Cuando el recurso se retira se
le marca como libre en la tabla de recursos y podra asignarse a otro
programa
En el uso compartido concurrente dos o mas programas pueden
usar concurrentemente el mismo recurso. Ejemplo: archivos de
datos. La mayora de recursos no pueden compartirse de forma
concurrente.
El SO retira la asignacin de un recurso a un programa cuando lo
termina o hace una peticin explicita de retiro. A veces el SO retira
un recurso por la fuerza para asegurar equidad en el uso entre
programas o para alcanzar ciertas metas de nivel en el sistema.

Continuacin: EL USO DE RECURSOS COMPARTIDOS


Comparticin del CPU: El CPU puede compartirse solo de forma
secuencial, por lo que puede asignarse solo a un programa a la vez. El
SO debe compartir el CPU entre los programas de forma equitativa. La
funcin de decidir a cual programa se le dar el CPU y por cuanto
tiempo se llama planificacin.
Programa priorizado
Programa
nuevo

Programas que
esperan por el CPU

Planificador

CPU

Programa terminado

Programa
seleccionado

Comparticin de la memoria: Partes de la memoria pueden tratarse


como recursos independientes, se puede usar tanto la particin como
recursos en comn para administrar memoria.
La particin es simple de implementar, tambin simplifica la proteccin
de reas de memoria asignadas a programas diferentes

Continuacin: EL USO DE RECURSOS COMPARTIDOS


La asignacin de recursos en comn logra un mejor uso de la
memoria. La memoria puede priorizarse de los programas inactivos
y puede usarse para acomodar programas activos. El termino
intercambio se usa para la priorizacin de memoria, pero este
termino no es muy usado.
Asignacin de memoria recursos en comn

Particin #
1

2
3

B
.
Sin uso

Comparticin de discos: Las diferentes partes de un disco pueden


tratarse como recursos independientes. Puede usarse la particin y
tambin recursos en comn. Los SO modernos prefieren el enfoque
de recursos en comn . El SO no realiza priorizacin de discos.

RECURSOS VIRTUALES

Un recurso virtual es un recurso ficticio, una ilusin admitida por un SO a


travs del uso de un recurso real.
Un SO puede usar el mismo recurso real para admitir varios recursos
virtuales y puede dar la impresin de tener un mayor numero de
recursos de los que realmente tiene.
Cada uso de un recurso virtual da como resultado el uso de un recurso
real apropiado. En este sentido un recurso virtual es una visin abstracta
de un recurso tomado por un computo.
El uso de recursos virtuales comenz con el empleo de dispositivos
virtuales. Ejemplo: disco 1 y disco2 de la tabla anterior son reas de
disco que crean discos virtuales, basados en el disco real. Ejemplo: un
servidor de impresora es un ejemplo de dispositivo virtual.
Los SO proveen memoria virtual, lo cual es una ilusin de una memoria
de mayor tamao que la memoria real de una computadora. Su uso
permite al programador ejecutar un programa cuyo tamao puede
exceder el de la memoria real.
Algunos SO crean maquinas virtuales particionado la memoria y los
dispositivos de E/S. Al asignar una maquina virtual a un usuario elimina
interferencia mutua entre usuarios y puede elegir su SO, que podran ser
diferentes en el mismo sistema de computo.

SEGURIDAD Y PROTECCION
Una persona no autorizada puede tratar de usar o modificar un
archivo. Tambin puede tratar de interferir con el uso del archivo
por los usuarios autorizados y sus programas.
Un SO debe frustrar estos intentos
La proteccin y la seguridad son dos aspectos de este problema.
La funcin de proteccin contrarresta las amenazas de interferencia
o uso no autorizado que son planteadas por los usuarios de un
sistema de computo.
La funcin de seguridad contrarresta las amenazas similares que
son planteadas por personas fuera del control de un SO.
Intruso

Amenazas a la
seguridad

Sistema de computo
Recursos
Amenazas a la proteccin

Internet
Amenazas a la seguridad:
Caballo de Troya
Virus
Gusanos

Autenticacin de
programas

-------Usuarios

Si un sistema de cmputo funciona en aislamiento completo, los


aspectos de proteccin y seguridad se pueden separar facilmente
El SO verifica la identidad de una persona cuando entra al
Sistema, al revisar su contrasea. Este procedimiento se llama
autenticacin; por lo tanto las amenazas a la seguridad no surgen
en el Sistema, si el procedimiento de autenticacin es a prueba de
errores.
Una declaracin de abrir un archivo ejecutada por un
programa es una amenaza de proteccin si el usuario que inici el
programa no est autorizada para acceder al archivo; en este caso
el Sistema de archivo contrarresta esta amenaza abortando dicho
programa. (ver lmina anterior)
Si el sistema de cmputo est conectado a Internet, y un usuario
descarga un programa, hay peligro que el programa descargado
pueda interferir con otros programas o con recursos del Sistema.
Esta es una amenaza a la seguridad porque la interferencia se
debe a alguna persona fuera del Sistema, llamada intruso, quien
escribi el programa descargado o lo modific, para interferir con
otros programas. Ejemplos de estas amenazas son: un Caballo de
Troya, un virus y los gusanos

EJEMPLOS DE AMENAZAS A LA SEGURIDAD


Caballo de Troya: es un programa con una funcin legtima
conocida y una funcin maliciosa bien disfrazada.
Virus: es un pedazo de cdigo con una funcin maliciosa que se
adhiere a otros programas y se dispersa a otros Sistemas cuando
tales programas se copian.
Gusanos: son programas que se reproducen por si mismos a travs
de huecos hallados en los mecanismos de seguridad de los SO.
Los SO enfrentan las amenazas de seguridad, al garantizar que un
programa no puede modificarse mientras esta siendo copiado del
Internet, y taponando huecos de seguridad cuando son
descubiertos.
Los usuarios deben contribuir a la seguridad actuando con cautela
cuando descargan programas de Internet.

Вам также может понравиться