You are on page 1of 35

T3

INTRODUCCIN A LOS SISTEMAS


OPERATIVOS
Fundamentos de Informtica
Departamento de Ingeniera de Sistemas y Automtica. EII.
Universidad de Valladolid

ndice
1.

Introduccin a los Sistemas Operativos

Introduccin y conceptos bsicos.


Servicios de los sistemas operativos
Procesos y planificacin de la CPU
Gestin de la memoria
Gestin de ficheros
Gestin de E/S

Introduccin y conceptos bsicos

Componentes de un Sist. Informtico

Introduccin y conceptos bsicos


Componentes de un Sist. Informtico
1.Hardware proporciona los recursos de computacin
bsicos (CPU, memoria, dispositivos de E/S).
2.Sistema Operativo controla y gestiona la utilizacin del
hardware entre los distintos programas de aplicacin de
los distintos usuarios
3.Programas de aplicacin definen cmo deben emplear
el sistema los recursos para resolver los problemas de
clculo de los usuarios (compiladores, bases de datos,
video juegos, programas de contabilidad ...).
4.Usuarios (personas, mquinas, otros computadores).

Introduccin y conceptos bsicos


Hardware

Dispositivos de Entrada
(Teclado, ratn, )
E/S

CPU

Memoria del
Sistema (voltil)

Dispositivos de Salida
(Pantalla, Impresora, )

Almacenamiento masivo
permanente (discos duros )

El hardware del ordenador es de una gran complejidad.


A priori, un usuario debera controlar todos los aspectos
electrnicos del ordenador para resolver un problema mediante
un programa.
IMPENSABLE. El Sistema Operativo se encarga de estas tareas.

Introduccin y conceptos bsicos


Todos los ordenadores, PDAs, porttiles hasta los telfonos mviles
estn equipados con algn tipo de sistema operativo.

Qu es un sistema operativo?
Un programa que acta como intermediario entre el usuario y los
programas, y el hardware del computador.

Qu hace el sistema operativo?


Ejecutar

los programas de usuario y facilitar el empleo del


computador en la resolucin de problemas.
Utilizar el hardware del computador de una forma eficiente. Para
ello asigna y gestiona los recursos y controla los programas de
los usuarios y operaciones de E/S. El S.O. est siempre cargado
en memoria (ncleo o kernel).

Introduccin y conceptos bsicos


Tipos de Sistemas Operativos
Sistemas monotarea o multitarea: Cuando permiten ejecutar un
programa o varios a la vez.
Sistemas monousuario y multiusuario: Permiten acceder
simultneamente al sistema informtico a uno o a varios usuarios.
Sistemas operativos distribuidos: Hacen que ordenadores
conectados trabajen de forma cooperativa como si fuera para el usuario
una nica mquina. Por ejemplo, pueden llevarse a cabo los clculos en
ms de una mquina.
Sistemas de tiempo real: El principal objetivo de un sistema de tiempo
real es que presente una respuesta rpida y predecible.
Sistemas empotrados: Estn diseados para mquinas pequeas con
un nmero ms limitado de recursos como las PDAs. Ej: Windows CE o
Android.

Introduccin y conceptos bsicos


Tipos de Sistemas Operativos.
Mono y Multitarea
Por el nmero de procesos* simultneamente
activos
Monotarea (DOS) .
Multitarea (Vista, XP, Unix, ).
En realidad cuando hay una sola CPU, no hay simultaneidad real.
El S.O. divide el tiempo de CPU entre todas las tareas activas y se
otorga un segmento de tiempo a cada tarea. Cuando este segmento de
tiempo es muy pequeo da la ilusin de simultaneidad.
*Programa (rdenes), Proceso (ejecucin fsica).
Al ejecutar un programa se genera uno o varios procesos.

Introduccin y conceptos bsicos


Tipos de Sistemas Operativos.
Mono y Multitarea.
Los S.O. multitarea son mucho ms
complejos que los monotarea. Para tener
varios trabajos listos para ejecutar, estos
deben mantenerse en memoria principal,
lo que requiere una gestin de la memoria
para evitar que interfieran entre ellos. Otra
complicacin es que el procesador debe
decidir cul de ellos ejecutar. Se debe
evitar adems que alguno monopolice los
recursos del sistema.

Sistema
Operativo
Trabajo 1
Trabajo 2
Trabajo3
Trabajo 4

Organizacin de la memoria
en un sistema
multiprogramado

Introduccin y conceptos bsicos


Tipos de Sistemas Operativos.
Multitarea de Tiempo compartido.
Los sistemas multitarea para favorecer la
interactividad de los programas suelen ser de
tiempo compartido.
En los s.o. de tiempo compartido la CPU
reparte su actividad entre los distintos trabajos
que hay en memoria. La conmutacin es tan
frecuente que permiten la comunicacin en
lnea entre el usuario y los programas. Son
sistemas informticos interactivos.

Introduccin y conceptos bsicos


Tipos de Sistemas Operativos.
Mono y Multitusuario.
Por el nmero de usuarios que pueden atender
simultneamente
Monousuario (DOS, XP, ) .
Multiusuario (Unix).
Sistema
Multiusuario

Terminales o PCs actuando como terminales

Servicios de un s.o.
El s.o. es el programa que asigna y gestiona
los recursos del ordenador para que opere de
una forma eficiente.
Concretamente el s.o. se encarga de gestionar
y administrar los siguientes recursos:
Procesador
Memoria principal
Dispositivos de entrada y salida
Archivos

Servicios de un s.o.
Gestin de Procesos y planificacin de la CPU
Un proceso es un programa en ejecucin. Un proceso
necesita para llevar a cabo su tarea ciertos recursos que
comprenden tiempo de CPU, memoria, ficheros y
dispositivos de E/S.
El sistema operativo es el responsable de las siguientes
actividades en lo que respecta a gestin de procesos.

Creacin y eliminacin de procesos.


Planificacin de procesos: repartir la CPU entre los
procesos activos
Sincronizacin y comunicacin de procesos

Servicios de un s.o.
Gestin de Procesos y planificacin de la CPU
A medida que un proceso se ejecuta cambian sus estados
Modelo sencillo de dos estados

en ejecucin: las instrucciones estn siendo ejecutadas.

en espera: el proceso est esperando a que ocurra algo para


ejecutarse.

Cuando un proceso pasa de ejecucin a espera debe guardarse


la informacin relativa al proceso que incluye el estado actual y
posicin en memoria.
expedir
CPU

interrumpir

Servicios de un s.o.
Gestin de Procesos y planificacin de la CPU
El planificador de la CPU selecciona entre los procesos
en memoria que estn listos para ejecutar y le asigna la
CPU a uno de ellos.
En los sistemas multitarea la planificacin se hace
siguiendo un turno rotatorio (round robin). Cada
proceso dispone de una pequea cantidad de tiempo de
CPU (cuanto de tiempo), entre 10-100 millisegundos.
Cuando este tiempo se ha consumido el proceso es
expulsado de la CPU y aadido a la cola de procesos
listos.

Servicios de un s.o.
Gestin de Memoria Principal
La memoria consiste en un gran arreglo de palabras o
bytes, cada una con su propia direccin. La memoria es un
recurso escaso por el que compiten los distintos procesos.
Responsabilidades del S.O.:

conocer qu zonas de memoria estn libres y cules


estn ocupadas

decidir qu procesos hay que cargar cuando haya


memoria libre

reservar y liberar zonas de memoria segn se solicite

Servicios de un s.o.
Gestin de Memoria Principal
En un sistema monoprogramado, la memoria principal se
divide en dos partes: una para el s.o. y otra para el
programa. En un sistema multiprogramado, en vez de
existir un nico programa tendremos varios. La tarea de
organizar dinmicamente la ubicacin en memoria
principal de los programas la lleva a cabo el s.o. y se
conoce como gestin de memoria.
La gestin de memoria resulta vital en un sistema
multiprogramado. En la memoria deben albergarse tantos
procesos como sea posible para mantener la actividad de
la CPU ante las operaciones de E/S de algunos
procesos.

Servicios de un s.o.
Gestin de E/S
Uno de los aspectos ms complejos en el diseo de s.o. es
la E/S debido a la gran variedad de dispositivos de E/S que
existen: de lectura, de escritura, de lectura/escritura, con
naturalezas y velocidades muy diferentes.
Funciones del S.O.:

Proporcionar una interfaz uniforme para el acceso a


los dispositivos (independencia del dispositivo)

Tratar automticamente los errores ms tpicos


Utilizacin de buffers y cachs para los dispositivos de
almacenamiento

Servicios de un s.o.
Gestin de E/S
Un buffer es un rea de memoria en la que se
almacenan datos mientras se transfieren entre dos
dispositivos o entre un dispositivo y una aplicacin para
hacer frente a la diferencia de velocidades.
Una cach es una regin de memoria rpida que
contiene copias de datos. El acceso es mas eficiente que
el acceso al original

Servicios de un s.o.
Gestin de Archivos
Un archivo es un conjunto de datos identificados por un
nombre. Los archivos se almacenan en dispositivos de E/S.
Un archivo es un concepto de alto nivel que no existe en el
hardware.
El cometido del s.o. es establecer una correspondencia
entre ese tipo de dato abstracto con los dispositivos de
almacenamiento secundario ofreciendo una vista lgica
uniforme (disco duro, CD, flash, cinta magntica ).
Para ello el s.o. implanta los algoritmos y estructuras de
datos necesarios para establecer una correspondencia
entre el sistema de archivos lgico y los dispositivos de
almacenamiento secundario fsicos.

Servicios de un s.o.
Gestin de Archivos
Permite al usuario realizar operaciones como crear, leer,
escribir, borrar archivos
Ubica los archivos y directorios en los dispositivos de
almacenamiento secundario garantizando la validez de los
datos y minimizando la prdida de datos.
Optimiza el rendimiento mejorando la productividad del
sistema y el tiempo de respuesta usuario
Controla el acceso a los archivos de otros usuarios
(proteccin) y permitir que usuarios autorizados puedan
acceder de manera concurrente a los datos de un archivo
(compartimiento)

Otros Servicios de un S.O.


Proteccin
La proteccin abarca los mecanismos destinados a controlar el
acceso de programas, procesos o usuarios a los recursos, de
acuerdo con los privilegios que se definan.
El S.O.:

define el esquema general de proteccin: clases de usuarios,


clases de permisos/privilegios, etc.

define mecanismos de acceso a los recursos: contraseas, claves,


capacidades, etc.

controla el acceso a los recursos, denegando el acceso cuando no


est permitido

Servicios del S.O. a aplicaciones


Programas del sistema
El Sistema Operativo proporciona una serie de programas
bsicos para el manejo del ordenador por parte del usuario.
Son los programas del sistema.
Los programas del sistema proporcionan utilidades bsicas:

Lanzar y detener la ejecucin de programas


Manipulacin de archivos y directorios
Gestin de usuarios y derechos de acceso
Edicin de textos
En algunos sistemas operativos: compilador
Etc.

Otros Servicios de un S.O.


Intrprete de comandos (shell)
El intrprete de comandos o shell es un programa des
sistema que traduce las rdenes del usuario.
Para que un usuario pueda dialogar directamente con el
S.O., se proporciona una interfaz de usuario bsica para:

cargar programas

abortar programas

introducir datos a los programas

trabajar con archivos

trabajar con redes

Ejemplos: interfaces grficos Windows y Macintosh y shell


en UNIX.

Servicios del S.O. a aplicaciones


Llamadas al sistema
Los programas (aplicaciones del usuario o programas del
sistema) acceden a los servicios del sistema operativo a
travs de llamadas al sistema.
El S.O. , a travs de llamadas al sistema, ofrece a los
programas una serie de servicios para su ejecucin:

Ejecucin de otros programas


Operaciones de E/S
Manipulacin de archivos y directorios
Comunicacin entre procesos
Comunicacin con equipos remotos
Deteccin de errores

Servicios del S.O. a aplicaciones


Llamadas al sistema
Ejemplos de llamadas al s.o.:
Procesos: crear proceso, matar proceso
Memoria: pedir ms memoria, liberar memoria...
Archivos: abrir, crear, cerrar, leer, escribir, borrar, crear
directorio, crear enlace, bloquear fichero...

Proteccin: cambiar permisos, cambiar propietario

Introduccin al Sistema Operativo UNIX


El S.O Unix hace referencia a toda una familia de
Sistemas Operativos descendientes de la primera
implementacin original de AT&T, caracterizados
por ser:
Multitarea
Multiusuario
Tiempo compartido

Breve historia:
Desarrollado Ken Thompson y Dennis Ritchie (inventor
del lenguaje C) en Bell Labs de la ATT. (1970)
Unix es reescrito en lenguaje C (1973).
Entre las diferentes variantes est Linux, desarrollado a
partir del ncleo creado por Linus Torvalds en 1991.

Introduccin al Sistema Operativo UNIX


Usuario

Sistema Operativo

Nivel de Usuario

Programas
de
Aplicacin

Intrprete de Comandos
(Shell)
Compiladores,
Manejo de red, etc

Bibliotecas
(Libreras)

Programas del Sistema

Interfaz de llamadas al Sistema


Comunicacin
entre procesos
Kernel
Ncleo

Subsistema de
Archivos y
Control E/S

Control
de los
procesos

Planificador
(Scheduler)
Gestin de
Memoria

Control del Hardware


Nivel del Hardware (nivel fsico)

Kernel o Ncleo: Siempre


est en memoria; constituye
la esencia del S.O.:
Accede al hardware
Gestiona los recursos del
sistema entre todos los
procesos.
Programas del sistema:
brindan servicios
importantes como editores,
compiladores y utilidades de
red. Destacar el Shell o
Intrprete de comandos.

Introduccin al Sistema Operativo UNIX


Usuario

Sistema Operativo

Nivel de Usuario

Programas
de
Aplicacin

Intrprete de Comandos
(Shell)
Compiladores,
Manejo de red, etc

Bibliotecas
(Libreras)

Programas del Sistema

Interfaz de llamadas al Sistema


Comunicacin
entre procesos
Kernel
Ncleo

Subsistema de
Archivos y
Control E/S

Control
de los
procesos

Planificador
(Scheduler)
Gestin de
Memoria

Control del Hardware


Nivel del Hardware (nivel fsico)

Planificador: gestiona la
asignacin de tiempo de
CPU a los procesos,
concedindoles un intervalo
determinado a cada uno de
ellos. Una vez terminado su
tiempo asignado, el
planificador quita el control
al proceso activo y se lo da
al siguiente proceso.

Introduccin al Sistema Operativo UNIX


Usuario

Sistema Operativo

Nivel de Usuario

Programas
de
Aplicacin

Intrprete de Comandos
(Shell)
Compiladores,
Manejo de red, etc

Bibliotecas
(Libreras)

Programas del Sistema

Interfaz de llamadas al Sistema


Comunicacin
entre procesos
Kernel
Ncleo

Subsistema de
Archivos y
Control E/S

Control
de los
procesos

Planificador
(Scheduler)
Gestin de
Memoria

Control del Hardware


Nivel del Hardware (nivel fsico)

Comunicacin entre
procesos: aunque
normalmente los procesos
no tienen necesidad de
comunicarse entre ellos,
cuando es necesario Unix
brinda formas para hacerlo.

Introduccin al Sistema Operativo UNIX


Usuario

Sistema Operativo

Nivel de Usuario

Programas
de
Aplicacin

Intrprete de Comandos
(Shell)
Compiladores,
Manejo de red, etc

Bibliotecas
(Libreras)

Programas del Sistema

Interfaz de llamadas al Sistema


Comunicacin
entre procesos
Kernel
Ncleo

Subsistema de
Archivos y
Control E/S

Control
de los
procesos

Planificador
(Scheduler)
Gestin de
memoria

Control del Hardware


Nivel del Hardware (nivel fsico)

Gestin de memoria: el SO
permite la coexistencia de
varios procesos a la vez en
la memoria operativa del
sistema.
Cada proceso acta como si
pudiera acceder a toda la
memoria en exclusiva, sin
preocuparse de colisionar
con los otros procesos.
Los procesos, cuando lo
necesiten, pueden solicitar
memoria adicional al SO.

Introduccin al Sistema Operativo UNIX


Usuario

Nivel de Usuario

Programas
de
Aplicacin

Intrprete de Comandos
(Shell)
Compiladores,
Manejo de red, etc

Bibliotecas
(Libreras)

Sistema Operativo
Sistema de Ficheros: el
S.O. define la estructura
jerrquica de directorios, que
contienen archivos (datos
relacionados que se desea
conservar de forma
permanente).

Programas del Sistema

Interfaz de llamadas al Sistema


Comunicacin
entre procesos
Kernel
Ncleo

Subsistema de
Archivos y
Control E/S

Control
de los
procesos

Planificador
(Scheduler)
Gestin de
Memoria

Control del Hardware


Nivel del Hardware (nivel fsico)

Sistema de E/S: gestiona el


acceso a la E/S: teclado,
pantalla, ratn, etc. Los
dispositivos de entrada y los
de salida son tratados como
un tipo especial de archivo.

Introduccin al Sistema Operativo UNIX


Usuario

Nivel de Usuario

Programas
de
Aplicacin

Intrprete de Comandos
(Shell)
Compiladores,
Manejo de red, etc

Bibliotecas
(Libreras)

Programas del Sistema

Interfaz de llamadas al Sistema


Comunicacin
entre procesos
Kernel
Ncleo

Subsistema de
Archivos y
Control E/S

Control
de los
procesos

Planificador
(Scheduler)
Gestin de
Memoria

Control del Hardware


Nivel del Hardware (nivel fsico)

Sistema Operativo
Proteccin: el S.O. gestiona
las posibles interferencias
entre los diferentes usuarios.
Para ello, se establece un
sistema de identificacin de
usuarios: nombre y
contrasea.
Existe un superusuario que
administra el sistema:
Establece grupos de
usuarios con las misma
necesidad de proteccin.
Decide los derechos
(lectura, escritura,
ejecucin) sobre los
distintos ficheros y
programas.

Introduccin al Sistema Operativo UNIX


Usuario

Sistema Operativo

Nivel de Usuario

Programas
de
Aplicacin

Intrprete de Comandos
(Shell)
Compiladores,
Manejo de red, etc

Bibliotecas
(Libreras)

Programas del Sistema

Interfaz de llamadas al Sistema


Comunicacin
entre procesos
Kernel
Ncleo

Subsistema de
Archivos y
Control E/S

Control
de los
procesos

Planificador
(Scheduler)
Gestin de
Memoria

Control del Hardware


Nivel del Hardware (nivel fsico)

Interfaz de llamadas al
Sistema (API): los servicios
de Unix estn disponibles a
todos los programas del
Nivel Usuario a travs de
esta interfaz: por ejemplo,
una aplicacin de usuario
que desee ms memoria
para almacenar una matriz
de gran dimensin la solicita
a travs de la API

Introduccin al Sistema Operativo UNIX


Usuario

Sistema Operativo

Nivel de Usuario

Programas
de
Aplicacin

Intrprete de Comandos
(Shell)
Compiladores,
Manejo de red, etc

Bibliotecas
(Libreras)

Programas del Sistema

Interfaz de llamadas al Sistema


Comunicacin
entre procesos
Kernel
Ncleo

Subsistema de
Archivos y
Control E/S

Control
de los
procesos

Planificador
(Scheduler)
Gestin de
Memoria

Control del Hardware


Nivel del Hardware (nivel fsico)

Intrprete de Comandos o
Shell: es un programa lector
de lneas de texto que
interpreta y ejecuta los
comandos que teclea el
usuario.
Existen al menos tantos
procesos Shell en ejecucin
como usuarios conectados
al sistema.
Shell representa un lenguaje
de programacin de alto
nivel con sus variables,
bucles, etc.
En Unix hay varias familias
de shell, a su vez con
variantes: C Shell, Korn
Shell, Bourne

You might also like