PDF de programación - Sistemas Operativos II

Imágen de pdf Sistemas Operativos II

Sistemas Operativos IIgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 13 de Marzo del 2018)
359 visualizaciones desde el 13 de Marzo del 2018
268,0 KB
37 paginas
Creado hace 21a (08/04/2003)
Sistemas Operativos II

Laura M. Castro Souto

Segundo Cuatrimestre

Curso 2000/2001

2

3o de Ingenier´ıa Inform´atica

´Indice General

1 Procesos en Unix

1.1

Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1 Historia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Procesos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 Modos de ejecuci´on . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.2 Estados de un proceso . . . . . . . . . . . . . . . . . . . . . . . . .

7
7
7
8
8
9
1.3 Creaci´on y terminaci´on de procesos . . . . . . . . . . . . . . . . . . . . . . 11
1.3.1 Contexto de un proceso
. . . . . . . . . . . . . . . . . . . . . . . . 11
1.3.2 Variables de entorno . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.3 Credenciales de los procesos . . . . . . . . . . . . . . . . . . . . . . 13
1.3.4
Informaci´on del sistema . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.5 Llamadas, interrupciones, excepciones . . . . . . . . . . . . . . . . . 15
1.3.6 Acceso a los recursos . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4 Planificaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5 Gesti´on de Procesos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.6 Se˜nales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Implementaci´on de las se˜nales . . . . . . . . . . . . . . . . . . . . . 28
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.7 Comunicaci´on entre procesos . . . . . . . . . . . . . . . . . . . . . . . . . . 29
. . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.7.1 Recursos IPC: Pipes
1.7.2
Sem´aforos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.7.3 Memoria Compartida . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.7.4 Colas de Mensajes
. . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.8 Transparencias y ejemplos del tema . . . . . . . . . . . . . . . . . . . . . . 30

1.6.1
1.6.2 Env´ıo de se˜nales

A Sistemas de Ficheros

31
A.1 Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
A.2 Contabilidad del espacio libre . . . . . . . . . . . . . . . . . . . . . . . . . 32
A.3 M´etodos de asignaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
. . . . . . . . . . . . . . . . . . . . . . . . . . 33
A.3.1 Asignaci´on contigua
A.3.2 Asignaci´on enlazada . . . . . . . . . . . . . . . . . . . . . . . . . . 33
A.3.3 Asignaci´on mediante ´ındices . . . . . . . . . . . . . . . . . . . . . . 34
A.4 M´etodos de acceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
A.4.1 Operaciones sobre ficheros . . . . . . . . . . . . . . . . . . . . . . . 34
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
. . . . . . . . . . . . . . . . . . . . . . . . . . 36

A.5 Sistema de directorios
A.6 Sistemas de Ficheros al uso

3

4

3o de Ingenier´ıa Inform´atica

Cap´ıtulo 1

Procesos en Unix

1.1 Introducci´on

1.1.1 Historia

En 1965, los laboratorios BELL llegaron a un acuerdo con la General Electric Company
y Project MAC del MIT para desarrollar un nuevo sistema operativo llamado Multics.
Sus objetivos eran, entre otros, proveer de acceso simult´aneo a una gran comunidad de
usuarios, junto con amplia capacidad de computaci´on y almacenamiento de datos, as´ı
como una f´acil compartici´on de los mismos en caso deseado. Mucha de la gente que
m´as tarde tomar´ıa parte en los primeros desarrollos del sistema Unix particip´o en este
proyecto. A pesar de que pronto una primitiva versi´on de Multics se encontr´o corriendo
en un GE 645 (en 1969), estaba lejos de lo que pretend´ıa ser, y no se ve´ıa claro si se
llegar´ıa a alcanzar, de suerte que los laboratorios Bell abandonaron su participaci´on en el
proyecto.

En un intento de desarrollar su propio entorno de programaci´on, miembros del Com-
puter Science Research Center de Bell esbozaron un sistema de ficheros que m´as tarde
evolucionar´ıa a una de las primeras versiones del sistema de ficheros Unix. Eran Ken
Thompson y Dennis Ritchie, entre otros. Implementaron su sistema en un PDP-7, in-
cluyendo dicho sistema de ficheros, el subsistema de proceso y un peque˜no conjunto de
aplicaciones. El nuevo sistema se llam´o Unix en contraste con Multics, apoyado por otro
miembro del mismo departamento, Brian Kernigham.

A pesar de que esta primera versi´on de Unix parec´ıa prometer, no se podr´ıa intuir
su potencial hasta que se probase en un proyecto real. De este modo, proveyendo de
un sistema de procesado de texto, fue instalado en un PDP-11 en 1971, en los propios
laboratorios Bell. El sistema se caracterizaba por su reducido tama˜no: 16 Kb para el
sistema, 8 Kb para programas, un disco de 512 Kb y un l´ımite de 64 Kb por fichero. Tras
su primer ´exito, Thompson decidi´o implementar un compilador Fortran, pero en lugar de
ello cre´o el lenguaje B, influenciado por BCPL.

B era un lenguaje interpretado, as´ı que Ritchie lo desarroll´o hasta crear C, que per-
mit´ıa generaci´on de c´odigo m´aquina, declaraci´on de tipos y estructuras,. . . En 1973, el
sistema operativo fue reescrito en C, algo inaudito en aquel entonces, pero que tendr´ıa
una gran repercusi´on en la aceptaci´on del mismo entre los usuarios. El n´umero de instala-
ciones en Bell creci´o a 25 y se form´o un Unix Systems Group para proveer soporte interno.

7

8

Laura M. Castro Souto

Al mismo tiempo, AT&T no pod´ıa comercializar productos inform´aticos debido a un
decreto firmado con el gobierno federal en 1956. No obstante, distribuy´o el sistema Unix a
universidades que lo adquirieron por motivos acad´emicos. AT&T nunca lo comercializ´o ni
soport´o, pero aun as´ı su popularidad creci´o r´apidamente. En 1974, Thompson y Ritchie
publicaron un art´ıculo describiendo el sistema Unix en las Communications del ACM,
dando un empuje a´un mayor a su aceptaci´on. En 1977, el n´umero de estaciones con un
sistema Unix ascend´ıa a 500, de las cuales 125 estaban en universidades. Los sistemas
Unix se popularizaron en las compa˜n´ıas telef´onicas, proporcionando un buen entorno para
el desarrollo de programas, servicios de red y en tiempo real. Se proporcionaron licencias
tanto a universidades como a instituciones comerciales. El a˜no 1977 fue tambi´en el a˜no
en que Unix se incorpor´o a un entorno de oficina (en Interactive Systems Corporation) y
fue portado a una m´aquina no PDP, la Interdata 8/32.

Dada la creciente popularidad de los microprocesadores, otras compa˜n´ıas portaron
Unix a nuevas m´aquinas, ya que su simplicidad y claridad invitaban a los desarrolladores
a mejorarlo a su manera, dando lugar a diversas variantes del sistema base. Entre 1977
y 1982, los laboratorios Bell combinaron variantes de AT&T en un ´unico sistema, que
se conocer´ıa comercialmente como UNIX System III. M´as tarde Bell le a˜nadir´ıa algunas
caracter´ısticas nuevas, dando lugar a UNIX System V. AT&T anunci´o soporte oficial para
System V en enero de 1983. Paralelamente, gente de Berckely, en la Universidad de Ca-
lifornia, hab´ıa desarrollado otra variante del sistema Unix, cuya m´as reciente versi´on se
llam´o 4.3 BSD, para m´aquinas VAX.

A principios de 1984, hab´ıa sobre 100.000 instalaciones Unix en el mundo, corriendo
en m´aquinas de un amplio rango de poder computacional, desde microprocesadores hasta
mainframes. Ning´un otro sistema operativo hab´ıa logrado algo as´ı.

1.2 Procesos

1.2.1 Modos de ejecuci´on

En Unix hay 2 modos de ejecuci´on:

Modo usuario Un proceso que se ejecuta en este modo s´olo puede acceder

al c´odigo, datos y pila de usuario (espacio de usuario).

Modo kernel Un proceso ejecut´andose en este modo puede acceder al espacio

de usuario y tambi´en al espacio del kernel o espacio del sistema.

Son muchas las arquitecturas que proporcionan m´as de un modo de ejecuci´on (Intel y

AMD, por ejemplo, proporcionan 4 niveles o anillos).

Todos los procesos ven al kernel en el mismo lugar del espacio de direcciones virtuales.

S´olo hay tres ocasiones o maneras de que un proceso, que se ejecutar´a normalmente

en modo usuario, pase a ejecutarse en modo kernel:

i) Al hacer una llamada al sistema (con una secuencia de pasos bien definida).

ii) Al producirse una excepci´on.

iii) Al ocurrir una interrupci´on.

CAP´ITULO 1. PROCESOS EN UNIX

9

Pregunta de examen.- Un proceso del root se ejecuta en modo
kernel. . .

a) siempre.

b) nunca.

c) depende de la prioridad.

d) no existen procesos del root.

e) ninguna de las anteriores.

Respuesta.- La correcta es la e, ya que es como un proceso de
cualquier otro usuario.

El kernel es la ´unica parte del sistema operativo que interact´ua con el hardware. Los
procesos de usuario interact´uan con el hardware a trav´es del kernel, mediante una interfaz
claramente definida: la interfaz de llamadas al sistema.

El kernel reside permanentemente en memoria, sus p´aginas de c´odigo no se intercam-
bian (las de los procesos de usuario, obviamente, s´ı). Sus funciones son el control de
ejecuci´on de los procesos, la planificaci´on de la CPU, la pol´ıtica de recursos y dispositivos
(asignaci´on, gesti´on, liberaci´on de memoria, espacio en disco, impresora. . . ), etc. Para el-
lo mantiene una serie de estructuras tanto globales (del sistema) como espec´ıficas de cada
proceso. Por ejemplo, mantiene una tabla de ficheros abiertos en el espacio del sistema y
una tabla de ficheros abiertos por el proceso en el espacio de usuario de cada proceso.

En Unix, esta parte del espacio de direcciones del usuario que contiene informaci´on
espec´ıfica del proceso que el kernel necesita, se denomina u area, y m´as adelante seguire-
mos hablando de ella.

Unix tambi´en soporta multithread, esto es, la posibilidad de que un proceso se est´e
ejecutando en varias partes a la vez, o bien que haya varios procesos ejecut´andose en el
mismo espacio de direcciones (diferencia con varios proce
  • Links de descarga
http://lwp-l.com/pdf9507

Comentarios de: Sistemas Operativos II (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad