1. CONCEPTOS DE LOS SISTEMAS OPERATIVOS
1.1. Procesos
1.1.1. Son las instrucciones que ejecutará el microprocesador mientras lee un programa determinado. Esto también implica a la memoria reservada y a sus contenidos, el estado de ejecución en determinado momento, y la información que permite al sistema operativo planificar.
1.2. Espacios de direcciones
1.2.1. Se relaciona con la administración y protección de la memoria principal de la computadora. cada proceso tiene un conjunto de direcciones que puede utilizar, que van desde 0 hasta cierto valor máximo. La máxima cantidad de espacio de direcciones que tiene un proceso es menor que la memoria principal. De esta forma, un proceso puede llenar su espacio de direcciones y aun así habrá suficiente espacio en la memoria principal para contener todo lo necesario.
1.3. Archivos
1.3.1. Es un conjunto de bits que son almacenados en un dispositivo. Un archivo es identificado por un nombre y la descripción de la carpeta o directorio que lo contiene.
1.4. Entrada/salida
1.4.1. Cada sistema operativo tiene un subsistema de E/S para administrar sus dispositivos de E/S. Parte del software de E/S es independiente de los dispositivos, es decir, se aplica a muchos o a todos los dispositivos de E/S por igual. Los drivers de dispositivos, son específicas para ciertos dispositivos de E/S.
1.5. El Shell
1.5.1. El sistema operativo es el código que lleva a cabo las llamadas al sistema. Los editores, compiladores, ensambladores, enlazadores e intérpretes de comandos en definitiva no forman parte del sistema operativo, aun cuando son importantes y útiles.
2. REVISIÓN DEL HARDWARE DE COMPUTADORA
2.1. Procesadores
2.1.1. El “cerebro” de la computadora es la CPU, que obtiene las instrucciones de la memoria y las ejecuta.
2.1.1.1. Chips con multihilamiento y multinúcleo
2.1.1.1.1. El Pentium 4 y algunos otros chips de CPU tienen esta propiedad, lo que hace es permitir que la CPU contenga el estado de dos hilos de ejecución (threads) distintos y luego alterne entre uno y otro con una escala de tiempo en nanosegundos.
2.2. Memoria
2.2.1. Memoria principal de la computadora, donde residen programas y datos, sobre la que se pueden efectuar operaciones de lectura y escritura.
2.2.1.1. Memoria ROM y Flash
2.2.1.1.1. Memoria ROM: es un circuito integrado de memoria de solo lectura que almacena instrucciones.
2.2.1.1.2. Memoria Flash: Tipo de memoria no volátil que suele ser usadas en celulares, cámaras digitales, PDAs, reproductores portátiles.
2.3. Discos
2.3.1. Es un dispositivo de almacenamiento de datos no volátil que consiste en uno o más platos, Un brazo mecánico, con un punto de giro colocado en una esquina. La información se escribe en el disco en una serie de círculos concéntricos.
2.4. Cintas
2.4.1. Este medio se utiliza con frecuencia como respaldo para el almacenamiento en disco y para contener conjuntos de datos muy extensos.
2.5. Dispositivos de E/S
2.5.1. Los dispositivos de E/S generalmente constan de dos partes: un dispositivo controlador y el dispositivo en sí. El dispositivo controlador es un chip o conjunto de chips que controla físicamente el dispositivo.
2.5.1.1. Teclado, Raton, Parlantes, USB, Discos Extraibles, lectores de barras, pastallas tactiles, etc son algunos dispositivos de entrada y salida
2.6. Buses
2.6.1. Es un sistema digital que transfiere datos entre los componentes de una computadora. Está formado por cables o pistas en un circuito impreso, dispositivos como resistores y condensadores además de circuitos integrados.
2.7. Arranque de la computadora
2.7.1. El BIOS contiene software de E/S de bajo nivel, incluyendo procedimientos para leer el teclado, escribir en la pantalla y realizar operaciones de E/S de disco, entre otras cosas.
3. Try MeisterTask!
4. ¿Qué es un Sistema Operativo? Es un conjunto de órdenes y programas que controlan los procesos básicos de una computadora y permiten el funcionamiento de otros programas.
4.1. El S.O como administrador de recursos: El trabajo del S.O es proporcionar una asignación ordenada y controlada de los procesadores, memorias y dispositivos de E/S, entre los diversos programas que compiten por estos recursos.
4.2. El S.O como una máquina extendida: El trabajo del sistema operativo es crear buenas abstracciones para después implementar y administrar los objetos abstractos entonces creados.
5. ESTRUCTURA DE UN SISTEMA OPERATIVO
5.1. Sistemas monolíticos
5.1.1. En este diseño, que hasta ahora se considera como la organización más común, todo el sistema operativo se ejecuta como un solo programa en modo kernel. El sistema operativo se escribe como una colección de procedimientos, enlazados entre sí en un solo programa binario ejecutable extenso.
5.2. Sistemas de capas
5.2.1. Consiste en organizar el sistema operativo como una jerarquía de capas, cada una constituida sobre la inmediata inferior. El sistema operativo la utiliza para poder controlar los diversos aspectos del hardware, sobre ella se encuentra la capa de dispositivos. Es un conjunto de funciones denominadas controladoras de dispositivo que se encuentra dentro del Kernell del sistema operativo, acceden directamente al hardware y hacen el trabajo de escritura y lectura.
5.3. Microkernels
5.3.1. La idea básica detrás del diseño de microkernel es lograr una alta confiabilidad al dividir el sistema operativo en módulos pequeños y bien definidos, sólo uno de los cuales (el microkernel) se ejecuta en modo kernel y el resto se ejecuta como procesos de usuario ordinarios, sin poder relativamente.
5.4. Modelo cliente-servidor
5.4.1. La comunicación entre clientes y servidores se lleva a cabo comúnmente mediante el paso de mensajes. Para obtener un servicio, un proceso cliente construye un mensaje indicando lo que desea y lo envía al servicio apropiado. Después el servicio hace el trabajo y envía de vuelta la respuesta. Si el cliente y el servidor se ejecutan en el mismo equipo se pueden hacer ciertas optimizaciones-
5.5. Máquinas virtuales
5.5.1. Al separar por completo las funciones de multiprogramación y proporcionar una máquina extendida, cada una de las piezas podían ser más simples, más flexibles y mucho más fáciles de mantener. En su encarnación moderna, z/VM se utiliza por lo general para ejecutar varios sistemas operativos completos, en vez de sistemas simplificados de un solo usuario como CMS.
5.6. La máquina virtual de Java
5.6.1. El compilador de Java produce código para la JVM, que a su vez típicamente se ejecuta mediante un software intérprete de JVM. La ventaja de este método es que el código de la JVM se puede enviar a través de Internet, a cualquier computadora que tenga un intérprete de JVM y se ejecuta allí.
6. HISTORIA DE LOS SISTEMAS OPERATIVOS
6.1. La primera generación (1945 a 1955): tubos al vacío.
6.1.1. Programacion en lenguaje maquina, Tarjetas perforadas para la ejecucion de programas. Los SO eran desconosidos
6.2. La segunda generación (1955 a 1965): transistores y sistemas de procesamiento por lotes
6.2.1. Los sistemas operativos típicos eran FMS (Fortran Monitor System) e IBSYS, el sistema operativo de IBM para la 7094.
6.3. La tercera generación (1965 a 1980): circuitos integrados y multiprogramación
6.3.1. IBM crea maquinas compatibles con software como OS/360, Multiprogramacion, sistemas operativos como linux surgen.
6.4. La cuarta generación (1980 a la fecha): las computadoras personales
6.4.1. IBM crae el SO DOS, que mas adelante recive el nombre de MS-DOS por parte de microsoft. Se crean SO como NT y sus versiones y SO como Windows 95, variables de UNIX y OS de MAC
7. LOS TIPOS DE SISTEMAS OPERATIVOS
7.1. Sistemas operativos de mainframe
7.1.1. Los sistemas operativos para las mainframes están profundamente orientados hacia el procesamiento de muchos trabajos a la vez, de los cuales la mayor parte requiere muchas operaciones de E/S.
7.1.1.1. Por lo general ofrecen tres tipos de servicios: procesamiento por lotes, procesamiento de transacciones y tiempo compartido.
7.2. Sistemas operativos de servidores
7.2.1. Se ejecutan en servidores, que son computadoras personales muy grandes, estaciones de trabajo o incluso mainframes. Dan servicio a varios usuarios a la vez a través de una red y les permiten compartir los recursos de hardware y de software.
7.2.1.1. Algunos sistemas operativos de servidores comunes son Solaris, FreeBSD, Linux y Windows Server 200x.
7.3. Sistemas operativos de multiprocesadores
7.3.1. Dependiendo de la exactitud con la que se conecten y de lo que se comparta, estos sistemas se conocen como computadoras en paralelo, multicomputadoras o multiprocesadores. Necesitan sistemas operativos especiales, pero a menudo son variaciones de los sistemas operativos de servidores con características especiales para la comunicación, conectividad y consistencia.
7.3.1.1. Muchos sistemas operativos populares (incluyendo Windows y Linux) se ejecutan en multiprocesadores.
7.4. Sistemas operativos de computadoras personales
7.4.1. Con frecuencia se inician docenas de programas al momento de arrancar el sistema. Su trabajo es proporcionar buen soporte para un solo usuario. Se utilizan ampliamente para el procesamiento de texto, las hojas de cálculo y el acceso a Internet.
7.4.1.1. Algunos ejemplos comunes son Linux, FreeBSD, Windows Vista y el sistema operativo Macintosh.
7.5. Sistemas operativos de computadoras de bolsillo
7.5.1. Los S.O que operan en estos dispositivos de bolsillo son cada vez más sofisticados, con la habilidad de proporcionar telefonía, fotografía digital y otras funciones. Muchos de ellos también ejecutan aplicaciones desarrolladas por terceros.
7.6. Otros
7.6.1. Sistemas operativos integrados Sistemas operativos de nodos sensores Sistemas operativos en tiempo real Sistemas operativos de tarjetas inteligentes