SISTEMAS OPERATIVOS Y LENGUAJES DE PROGRAMACIÓN
INTRODUCCIÓN
Los sistemas operativos se han ido transformando con el paso del tiempo han pasado de ser simples programas que extraían y ejecutaban los programas hasta, lo que son hoy en día, sistemas complejos que coordinan todo lo que tiene que ver con la compartición de tiempo. Aunado a esto, son los encargados de mantener los programas y los archivos en su lugar correspondiente y de responder a todas las solicitudes que realizan los usuarios. En este post te explico más al respecto.
DESARROLLO
- Son paquetes de software que coordinan las actividades internas de una computadora, además de controlar su comunicación con el mundo exterior
- Es el software que controla el conjunto de operaciones en una computadora
- Un sistema operativo de una computadora es el que hace de la computadora una herramienta útil
- Los sistemas operativos siguen evolucionando
- Los existentes son:
- Windows- Microsoft: ampliamente usado en PC’s
- UNIX: grandes sistemas de computación
- MacOS: Apple
- Linux- desarrollado con carácter no comercial
- Todos los sistemas operativos intentan resolver de formas diferentes las mismas funciones esenciales para operar una computadora
Funciones de un Sistema Operativo
- Las funciones son:
- Orquestar el conjunto de operaciones de una computadora
- Almacenar y extraer archivos
- Calendarizarla ejecución de programas
- Coordinar la ejecución de programas
Evolución de los sistemas operativos
- Los sistemas operativos han ido creciendo, pasando de ser simples programas que extraían y ejecutaban los programas de uno-en-uno a convertirse en sistemas complejos que coordinan la compartición de tiempo, mantienen los programas y los archivos de datos en los dispositivos de almacenamiento masivo y responden directamente a las solicitudes de los usuarios de la computadora
- Primero apareció el procesamiento por lotes
- Carga de trabajos de procesamiento (programas, datos) y ejecución de uno a la vez: colas de trabajo (FIFO)
- Luego el procesamiento interactivo
- Requiere procesamiento en tiempo real
- Después el tiempo compartido o multitarea
- Implementado por medio de multiprogramación
- Por último, las máquinas de múltiples procesadores
- Equilibrado de carga – escalado
Tipos de software
- Esquema de clasificación de software
- Software de aplicación
- Los programas que realizan tareas para los usuarios: utilización concreta de la máquina
- Son todos los programas que se pueden desinstalar, por ejemplo, chrome
- Software del sistema
- Proporcionan la infraestructura que requiere el software de aplicación
- Consisten de sistema operativo y utilidades
- Es todo lo que viene cuando se abre la compu por primera vez y no se puede desinstalar, por ejemplo, finder
- Incluye el software de utilidad y el sistema operativo
- El software de utilidad amplia las capacidades del sistema operativo, cuyas funciones son:
- Formatear un disco o copiar archivos a CD’s
- Comunicaciones por red
- Manejo de multimedia
- Incluye la interfaz de usuario y el kernel
- La interfaz de usuarios son todos los componentes de la computadora
- El kernel es el que hace las funciones directas de copiar en memoria los archivos para que se almacenen
- Es el pedazo más protegido del sistema operativo porque es el que se comunica con todas las controladoras
- La distinción entre software de aplicación y software del sistema puede resultar muy vaga
- La distinción entre el software de utilidad y el sistema operativo es igualmente vaga: IE Browser-Windows
Clasificación del software
Componentes de un Sistema Operativo
- Interfaz de usuario: comunicarse con el usuario
- Texto (Shell)
- Graphical user interface (GUI)
- Núcleo: realizar las funciones más básicas requeridas por el hardware de la computadora, como son:
- Administración de archivos
- Manejadores de dispositivos: es el que permite que se asignen espacios de memoria para comunicarlo físicamente con los dispositivos que tienen las computadoras
- Gestión de memoria
- Planificador y despachador: permite ejecutar funciones por y detrás del usuario sin que éste se dé cuenta
Interfaz de usuario como un intermediario entre el usuario y el núcleo (kernel)
Administrador de ventanas
- Es el que se encarga de dibujar la pantalla
- Ventana: bloques de espacio en la pantalla
- Manejo de contenidos por ventana y de la interacción a través del ratón o del teclado
- Los administradores de ventanas determinan el “estilo” de una interfaz gráfica de usuario
Administrador de archivos
- Coordina el uso de los dispositivos de almacenamiento masivo de la máquina
- Directorios (o carpeta): una colección de documentos creados por el usuario
- Cualquier acceso a un archivo por parte de otras unidades de software debe ser autorizado: ejemplo, apertura de archivos
Gestor de la memoria
- Coordina el uso de la memoria principal de la máquina
- En ambientes multiusuario o multitarea (muchos usuarios o programas) el trabajo del gestor de la memoria es mucho más intenso
- Memoria virtual – paginación – páginas de pocos KB
Inicio del sistema operativo (Bootstrapping)
- Proceso de arranque: procedimiento en el que se transfiere el SO desde el almacenamiento masivo a la memoria principal
- Un procesador está diseñado para que su contador de programa comience en una dirección concreta predeterminada cada vez que se inicia el procesador
- Una pequeña parte de la memoria donde el procesador espera iniciar se conoce como memoria de sólo lectura (ROM – Read-Only Memory)
- Boot loader: cargador de arranque – hace que se transfiera el OS
Proceso de arranque
Firmware
- La memoria ROM de un PC contiene una serie de rutinas software para operaciones de E/S:
- Info. procedente del teclado
- Mensajes de la pantalla
- Leer datos de los dispositivos de almacenamiento masivo
- El almacenamiento es en memoria FlashRom: es modificable
- Firmware:
- BIOS (Basic Input/Output System), CFE (Common Firmware Environment)
- UEFI (Unified Extensible Firmware Interface)
Procesos
- Proceso: la actividad de ejecutar un programa bajo el control del sistema operativo
- Estado del Proceso: estado actual de la actividad
- Contador del programa
- Registro de propósito general
- Celdas de memoria asociadas
Administración de procesos
- Las tareas asociadas con la coordinación de la ejecución de los procesos son gestionadas por el planificador y el despachador dentro del núcleo del sistema operativo
- Planificador: añade nuevos procesos a la tabla de procesos y remueve los procesos que han sido ejecutados
- Despachador: controla la asignación de franjas temporales a los procesos en la tabla
- La finalización de una franja temporal se marca por una interrupción
Multi-programación entre el proceso A y el proceso B
- En realidad la multitarea no existe, lo que se está haciendo es cambiar de tareas muy rápido
Open Source
- Es una alternativa de infraestructura de TI’s
- La ventaja del Open Source es que podemos ver el código y mejorarlo
Open Source View
- Richard Stallman es el fundador del Free Software Movement (no es de gratis sino de libertad) y es quien dijo las 4 libertades básicas de los sistemas abiertos, que son:
- Freedom 0: Run the program as you wish <-- Ejecutar el programa
- Freedom 1: Study the source code and change it to make the program do your computing as you wish <-- Ver el código y modificarlo
- Freedom 2: Freedom to help others, is the freedom to make exact copies and distribute them to others as you wish <-- Distribuir copias
- Freedom 3: Freedom to contribute to your community, is the freedom to make copies of your modified versions and distribute them to others when you wish <--Hacer copias de las versions modificadas y distribuirlas
- Se pueden distribuir las copias siempre y cuando se respete la privacía de los demás
- Open source no es malicioso porque permite al explorar el código, saber si hay monitoreo o vigilancia de lo que yo estoy haciendo
- There are 3 broad categories of malicious features:
- Surveillance features
- Features to restrict the user (digital handcuffs)
- Backdoors: someone who can remotely install changes without your permission
- La barrera más importante es la de forking en la el software open source es desarrollado por distintos grupos y no se pueden operar entre ellos o con otras aplicaciones
- Otra barrera importante es la de la inmadurez tecnológica en la que no todos tienen los conocimientos para usar las distintas versiones de sistemas operativos y requerirían de expertos en el tema
CONCLUSIONES
Los sistemas operativos son los que hacen que las computadoras tengan una utilidad en la vida de nosotras las personas. Por lo mismo, han surgido diversas opciones para su descarga, adaptándose a cualquier necesidad del usuario. Ahora, inclusive, está la opción del Open Source en donde cada persona tiene la oportunidad de diseñarlo pero todo tiene sus ventajas y desventajas y para este tampoco es la excepción. Solamente hay que identificar claramente nuestras necesidades y oportunidades de mejora para saber elegir de la manera más informada posible.
Comentarios
Publicar un comentario