Sistemas Operativos

Propósito de la memoria virtual en un sistema operativo = Permitir que el sistema operativo ejecute programas más grandes que la memoria física disponible

Objetivos fundamentales de la memoria virtual:

  • proporcionar a cada proceso un espacio de direcciones virtual amplio;
  • permitir ejecutar programas cuyo espacio de direcciones supera la RAM disponible;
  • aprovechar el disco como extensión de la memoria principal mediante paginación (o segmentación, según el sistema).

Cuando hay mucho intercambio de páginas (paging o swapping): el rendimiento puede disminuir notablemente debido al acceso al disco.

Planificador (scheduler) del sistema operativo -> Limita el uso de la CPU por cada proceso

Gestión de usuarios, permisos y seguridad = Controlar el acceso de los usuarios a los recursos del sistema

Estados clásicos de un proceso UNIX:
Running (ejecución).
Ready (preparado).
Sleeping / Waiting (bloqueado).
Stopped.
Zombie (proceso terminado pendiente de recogida).

Un fichero abierto almacena información como:
Descriptor de fichero.
Modo de apertura.
Desplazamiento (offset).
Referencia al inode.
Banderas de estado.

No tiene estados como:
Running.
Sleeping.
Ready.
Kernel/User.

El sistema operativo Darwin, base de macOS -> Es un software de código abierto

Darwin es la base de macOS y es un sistema operativo de código abierto.

Está construido principalmente sobre:

  • el núcleo XNU (X is Not Unix),
  • componentes de FreeBSD,
  • componentes de Mach.

Darwin:

  • NO Utiliza un núcleo desarrollado íntegramente por Apple. El núcleo XNU fue desarrollado por Apple, pero incorpora tecnologías procedentes de Mach y de BSD.
  • La interfaz Aqua no forma parte de Darwin. Aqua pertenece a macOS. Darwin únicamente proporciona la base del sistema operativo.
  • Darwin no es Linux. Es un sistema operativo tipo UNIX, certificado como UNIX en el caso de macOS, pero basado en XNU, no en el kernel Linux.

¿Cuál de las siguientes capas del sistema operativo móvil Firefox OS es la interfaz de usuario?: -> Gaia

La arquitectura de Firefox OS se dividía en tres capas:

Gaia
↑
Gecko
↑
Gonk

Gaia

Es la interfaz de usuario (UI).

Incluye:

  • pantalla de inicio;
  • aplicaciones del sistema;
  • teclado;
  • marcador telefónico;
  • SMS;
  • navegador;
  • etc.

Todo estaba desarrollado con tecnologías web:

  • HTML5
  • CSS
  • JavaScript

Esquema para el examen

Arquitectura Firefox OS

Gaia
Interfaz de usuario
(HTML5 + CSS + JavaScript)

──────────────

Gecko
Motor del navegador
APIs Web

──────────────

Gonk
Linux + Drivers + HAL

Truco para recordar

Piensa en:

Gaia

La diosa de la Tierra.

Es lo que ves.

La superficie.


No confundir

CapaFunción
Gaia⭐ Interfaz de usuario
GeckoMotor de ejecución
GonkKernel Linux + Hardware

¿Cuál de las siguientes capas de iOS se encarga directamente de las funcionalidades relacionadas  con la interfaz de usuario?: -> Capa Cocoa Touch.

La arquitectura de iOS se organiza en cuatro capas:

Cocoa Touch
↑
Media
↑
Core Services
↑
Core OS

La capa Cocoa Touch es la responsable de la interfaz de usuario (UI) y de la interacción con el usuario.

Incluye frameworks como:

  • UIKit (históricamente el principal framework de interfaz gráfica).
  • Gestión de eventos táctiles.
  • Multitarea.
  • Notificaciones.
  • Gestos.

Core OS -> Es la capa más baja. Contiene:

  • Sistema de archivos.
  • Kernel XNU.
  • Drivers.
  • Seguridad.
  • Gestión de memoria.

Core Services -> No gestiona directamente la interfaz.. Proporciona servicios básicos como:

  • Foundation.
  • Core Data.
  • SQLite.
  • Localización.
  • Red.

Media -> Gestiona:

  • audio;
  • vídeo;
  • gráficos;
  • animaciones.

Frameworks:

  • Core Animation.
  • AVFoundation.
  • Core Graphics.
  • Metal.

Esquema para el examen

Arquitectura de iOS

Cocoa Touch
(UI)

──────────────

Media
(Audio, vídeo, gráficos)

──────────────

Core Services
(Servicios básicos)

──────────────

Core OS
(Kernel)

Truco para recordar

Touch

Tocar la pantalla.

Interfaz de usuario.


No confundir

CapaFunción
Cocoa Touch⭐ Interfaz de usuario
MediaAudio y vídeo
Core ServicesServicios básicos
Core OSKernel