PDF de programación - ¿Qué es un sistema operativo? - Tema 1. Conceptos Generales

Imágen de pdf ¿Qué es un sistema operativo? - Tema 1. Conceptos Generales

¿Qué es un sistema operativo? - Tema 1. Conceptos Generalesgráfica de visualizaciones

Publicado el 16 de Junio del 2020
703 visualizaciones desde el 16 de Junio del 2020
1,6 MB
46 paginas
Creado hace 9a (21/01/2015)
Fundamentos de los
Sistemas Operativos

Tema 1. Conceptos generales
¿Qué es un sistema operativo?

© 2015 ULPGC - José Miguel Santos Espino

Bibliografía para el Tema 1

• Texto principal

– Fundamentos de los sistemas operativos

(Silberschatz, 2006, 7ª ed.)
Capítulos 1 y 2

• Textos alternativos

– Sistemas Operativos: aspectos internos y

principios de diseño (Stallings, 2005, 5ª ed.)
Capítulo 2

– Fundamentos de Sistemas Operativos. Teoría y

ejercicios resueltos
(Candela, García, Quesada, Santana, Santos, 2007)
Capítulo 1

(o las ediciones originales en inglés)

© 2015 ULPGC - José Miguel Santos

2

¿QUÉ ES UN SO?

© 2015 ULPGC - José Miguel Santos

3

Primero: ¿qué hay en

un sistema informático?

• Hardware

– Procesador y memoria
– Dispositivos de E/S: almacenamiento, red, HCI,

impresión, etc.

• Software

– Software de sistema: compilador, GUI, shell, etc.
– Aplicaciones

• Personas

– Usuarios en general
– Administradores del sistema
– Desarrolladores / programadores

© 2015 ULPGC - José Miguel Santos

4

Y ahora: ¿qué es un SO?

• Un programa que actúa de intermediario

entre los usuarios y el hardware

• Pertenece al software del sistema
• Objetivos:

– Proveer un entorno para ejecutar las aplicaciones
– Administrar eficientemente los recursos
– Facilitar la interacción con el computador
– Facilitar la evolución del software y del hardware

© 2015 ULPGC - José Miguel Santos

5

Definiciones breves

1. Un sistema de software cuyo fin es que un

sistema informático sea operativo.

2. Conjunto de programas que gestionan los

recursos del sistema, optimizan su uso y
resuelven conflictos.

3. Cualquier cosa que un fabricante de software

te venda como un «sistema operativo».

© 2015 ULPGC - José Miguel Santos

6

Los dos roles del SO

• Interfaz con el hardware

– Añade características no existentes en el hw
– Oculta características inconvenientes del hw
– Ofrece una «máquina extendida»

• Administrador de recursos

– Como si fuera un «gobierno del hardware»
– Concede recursos de forma segura, justa y

eficiente

– No realiza trabajo productivo

© 2015 ULPGC - José Miguel Santos

7

El SO como interfaz

• Visión: una «capa» que envuelve el hardware
• Ofrece una «máquina abstracta» con otras características

– Oculta detalles incómodos del hardware
– Amplía características no presentes en el hardware

Sistema operativo

proceso

proceso

hardware

proceso

© 2015 ULPGC - José Miguel Santos

8

Interfaz del SO

• ¿Para quién es la interfaz?

– Usuarios en general  entorno de ejecución
– Administradores  entorno de administración
– Desarrolladores  interfaz de programación

• ¿Qué aspecto tiene la interfaz?

– Texto (CLI = Command Line Interface)
– Gráfica (GUI = Graphical User Interface)
– Servicios de programación (API)

© 2015 ULPGC - José Miguel Santos

9

Entorno de trabajo del SO

• El SO suele proporcionar utilidades básicas

para que el usuario pueda realizar tareas
comunes:
– Trabajar con archivos y discos
– Ejecutar aplicaciones  cargador de programas
– Imprimir
– Administrar el sistema: backups, usuarios…

© 2015 ULPGC - José Miguel Santos

10

CLI = Command Line Interface

• Incorpora un lenguaje sencillo para dar

instrucciones al SO:
– Cargar programas, trabajar con archivos, etc.

• Se le llama shell, intérprete de órdenes, consola…

© 2015 ULPGC - José Miguel Santos

11

GUI = Graphical User Interface

© 2015 ULPGC - José Miguel Santos

12

API del SO: llamadas al sistema

• API = Application Programming Interface
• El SO ofrece a los desarrolladores y a los

procesos un conjunto de servicios públicos,
accesibles mediante una API
 llamadas al sistema (system calls)

© 2015 ULPGC - José Miguel Santos

13

Llamadas al sistema: ejemplo

Llamada write() de UNIX. Escribe un bloque de datos
en un fichero o en un dispositivo de E/S.

int write ( int fd, void* buffer, size_t size )

Resultado:
número de bytes
escritos

Descriptor de fichero
(identifica el fichero
donde vamos a escribir)

Apuntador a la zona
de memoria donde
están los datos

Longitud de los
datos en bytes

© 2015 ULPGC - José Miguel Santos

14

Beneficios

¿Qué ganamos interponiendo esta interfaz entre los

programas y el hardware?

• Usabilidad (la interfaz es más cómoda que el hw)
• Seguridad (se ocultan vulnerabilidades del interior del

hardware)

• Portabilidad (independencia del hardware)
• Interoperabilidad (podemos compartir información

con otros sistemas que usen la misma interfaz)

• Mantenibilidad (podemos hacer mejoras o

adaptaciones dentro del SO sin obligar a hacer cambios
en los programas de usuario)

• Productividad (por todo lo anterior)

© 2015 ULPGC - José Miguel Santos

15

El SO como administrador de recursos

• Procesos y recursos

– Proceso: programa en ejecución
– Recurso: algo físico o virtual que necesita un

proceso para ejecutarse

• Los recursos son escasos  los procesos

compiten por ellos

• El SO actúa como árbitro/mediador, que
asigna recursos de forma justa y eficiente

© 2015 ULPGC - José Miguel Santos

16

El SO como administrador de recursos

• El SO debe determinar a quién se le entregan
los recursos, qué cantidad, en qué momento y
por cuánto tiempo.
 políticas de gestión de recursos

© 2015 ULPGC - José Miguel Santos

17

El SO como administrador de recursos

• Criterios que deben cumplir las políticas del SO:

– optimizar el rendimiento del sistema
– justicia en el reparto  evitar acaparamientos e

inanición de los procesos perjudicados

– garantizar la seguridad del sistema (confidencialidad,

integridad, disponibilidad)

• Estos criterios entran en conflicto

– Ej. no se puede dar el máximo rendimiento y al mismo

tiempo dar un reparto justo

© 2015 ULPGC - José Miguel Santos

18

Seguridad: los tres elementos

• CIA = Confidentiality + Integrity + Availability
• Confidencialidad  intimidad, privacidad, etc.
• Integridad  que la información no se

corrompa

• Disponibilidad  que el sistema continúe

prestando servicio

© 2015 ULPGC - José Miguel Santos

19

GRANDES LOGROS DEL S.O.

© 2015 ULPGC - José Miguel Santos

20

Algunos logros históricos de los SO

• Interfaz uniforme con la E/S
• Multiprogramación
• Memoria paginada
• Memoria virtual
• Sistemas de archivos
• Control del acceso concurrente
• Protección y seguridad

© 2015 ULPGC - José Miguel Santos

21

Interfaz uniforme con la E/S

• La E/S es tremendamente diversa
• Ej. almacenamiento: óptico, disco magnético,

SSD, cinta magnética…

• Cada clase de dispositivo se programa de forma

distinta:
– Tamaño de la unidad de transferencia de datos
– Protocolo de comunicación (síncrono, asíncrono…)
– Codificación de la información
– Control de errores
– …

© 2015 ULPGC - José Miguel Santos

22

Interfaz uniforme con la E/S

• Solución del SO: ofrecer a los desarrolladores una API
uniforme para acceder a cualquier dispositivo de E/S,
ej.:

readIO ( int device_id, void* data, int length )

writeIO ( int device_id, void* data, int length )

• Para cada clase de dispositivo existe una

implementación de esta API
 manejador de dispositivo (device driver)
– Interno del SO, es transparente para el usuario

final

© 2015 ULPGC - José Miguel Santos

23

Interfaz uniforme con la E/S

• ¿Qué conseguimos? independencia del dispositivo
– Abstraemos los detalles de implementación de

cada clase de periférico

– Ganamos en portabilidad (el mismo código sirve

para dispositivos diferentes)

– Adaptación a futuras clases de periféricos
– Podemos prohibir el acceso directo a la E/S (sólo

trabajar con la API del SO)  más seguridad

© 2015 ULPGC - José Miguel Santos

24

Multiprogramación

• También llamada multitarea (multitasking)
• Cuando un proceso se bloquea al esperar por la E/S, ejecutamos en




la CPU instrucciones de otro proceso.
Los procesos entrelazan su ejecución: concurrencia.
La CPU y la E/S trabajan a la misma vez  se terminan más trabajos
en menos tiempo

© 2015 ULPGC - José Miguel Santos

25

La memoria en un sistema

multiprogramado

S.O.

programa 1

programa 2

(libre)

programa 3

(libre)

© 2015 ULPGC - José Miguel Santos

26

Multiprogramación

• Cuestiones que surgen en un sistema

multiprogramado (y que no existen en un
sistema sin multiprogramación):
– Cuando el procesador queda libre, ¿a qué proceso

elegimos?  planificación de CPU

– Competencia por el consumo de la memoria
– Protección de las zonas privadas de memoria
– Conflictos ante el acceso simultáneo a los recursos
– Riesgo de interbloqueo (deadlock)

© 2015 ULPGC - José Miguel Santos

27

Paginación y memoria virtual

• Paginación. Podemos trocear un programa en
pequeñas «páginas» que se pueden colocar en
zonas diferentes de la memoria.

• Memoria virtual. El programa no necesita estar

cargado totalmente en memoria. El almacén
secundario se usa como extensión de la memoria
principal.

• Todo se resuelve automáticamente, sin que el

usuario ni el programador tengan que intervenir.

© 2015 ULPGC - José Miguel Santos

28

Paginación y memoria virtual

(Silberchatz, Galvin, Gagne, 2013)

© 2015 ULPGC - José Miguel Santos

29

Sistemas de archivos

• Usuarios  trabajan con documentos,

programas, imágenes, música…

• Almacenamiento físico  trabaja con bloques de

datos de tamaño fijo.
– Extraño para los usuarios

• Creamos un recurso virtual, llamado «archivo»,

que tiene nombre y contiene información.

• También el concepto «carpeta» o «directorio»

para organizar los archivos.

• Abstracción muy útil del almacenamiento físico.

© 2015 ULPGC - José Miguel Santos

30

Control del acceso concurrente

• ¿qué pasa si varios procesos intentan trabajar

al mismo tiempo con un recurso que no se
puede compartir?
– Ej. una impresora

• El SO debe conocer quién está usando el
recurso y forzar la espera si está ocupado

• No es trivial resolver este problema de forma

segura y eficiente…
(la solución, en el Tema 3)

© 2015 ULPGC - José Miguel Santos

31

Pro
  • Links de descarga
http://lwp-l.com/pdf17778

Comentarios de: ¿Qué es un sistema operativo? - Tema 1. Conceptos Generales (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