Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Profesora: Bachiller:
De esta manera la computación tiene como antecedente la necesidad del ser humano de
contar con herramientas y medios que le permitan registrar y manipular la información y
desarrollar procedimientos lógicos para obtener diversos resultados a partir de la
información; la cual se ha manifestado desde el caso simple de sumar y restar cantidades,
hasta alcanzar las nuevas formas de almacenar, procesar y manipular todo tipo de
información.
Software
El Software son los programas de aplicación y los sistemas operativos, que según las
funciones que realizan pueden ser clasificados en:
También conocido como soporte lógico inalterable, es el programa básico que controla los
circuitos electrónicos de cualquier dispositivo. Este programa o software es una porción de
código encargada de controlar qué es lo que tiene que hacer el hardware de un dispositivo,
y el que se asegura de que el funcionamiento básico es correcto. Es una unidad de memoria
de sólo lectura que contiene un conjunto de instrucciones básicas permitiendo a su vez la
comunicación entre el Hardware y el Software.
El software para computadoras puede clasificarse en general en dos clases: los programas
de sistema, que controlan la operación de la computadora en sí y los programas de
aplicación, los cuales resuelven problemas para sus usuarios. El programa fundamental de
todos los programas de sistema es el sistema operativo (SO), que controla todos los
recursos de la computadora y proporciona la base sobre la cual pueden escribirse los
programas de aplicación
Qué es un Sistema Operativo
Uno de los propósitos del sistema operativo que gestiona el núcleo intermediario consiste
en gestionar los recursos de localización y protección de acceso del hardware, hecho que
alivia a los programadores de aplicaciones de tener que tratar con estos detalles. La mayoría
de aparatos electrónicos que utilizan microprocesadores para funcionar, llevan incorporado
un sistema operativo (teléfonos móviles, reproductores de DVD, computadoras,
enrutadores, etc.). En cuyo caso, son manejados mediante una interfaz gráfica de usuario,
un gestor de ventanas o un entorno de escritorio, si es un celular, mediante una consola o
control remoto si es un DVD y, mediante una línea de comandos o navegador web si es un
enrutador.
Estructura
Se considera la organización interna del sistema operativo y para ello debemos observar
dos tipos de requisitos:
- Seguro
- Rápido
Requisitos de software:
- Mantenimiento
- Forma de operación
- Restricciones de uso
- Eficiencia
- Flexibilidad
A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los
sistemas, se hizo necesaria una mayor organización del software del sistema operativo,
donde una parte del sistema contenía subpartes y esto organizado en forma de niveles.
Es una estructura jerárquica, con mayor organización del software del sistema operativo. El
sistema operativo se divide en partes o niveles, cada uno perfectamente definido y con un
claro interface (comunicación) con el resto de los elementos.
Núcleo (Kernell)
Gestión de entrada/salida
Gestión de memoria
El sistema operativo administra todos los aspectos relativos a memoria real y
memoria virtual.
Sistemas de archivos
El sistema operativo se ocupa de administrar los archivos del usuario a través de una
estructura de directorios con algún tipo de organización.
Intérprete de comandos
Evolución histórica
Es en esta década cuando aparece UNIX, la base de la gran mayoría de los Sistemas
Operativos que existen hoy en día.
En la década de los 90 hace su aparición Linux, publicándose la primera versión del núcleo
en septiembre de 1991, que posteriormente se uniría al proyecto GNU, un sistema operativo
completamente libre, similar a UNIX, al que le faltaba para funcionar un núcleo funcional.
Hoy en día la mayoría de la gente conoce por Linux al Sistema Operativo que realmente se
llama GNU/Linux.
Reentrancia
En informática, un programa informático o subrutina se llama re-entrada si puede ser
interrumpido en medio de su ejecución y volver a llamarse de forma segura ("re-entrar")
antes de que las invocaciones anteriores completen su ejecución.
Spooling
La técnica de spooling (Simultaneous Peripheral Operation On Line) permite leer y escribir
en los periféricos cuando se necesita, en lugar de tener que esperar a que todos los trabajos
estén listos. Para ello el sistema operativo mantiene una cola de impresión, es decir, con la
información de los trabajos a ser impresos.
Cuando se usan dispositivos no compartibles puede ocurrir que durante periodos de mucha
demanda varios procesos queden bloqueados esperando por el uso de los periféricos.
La técnica del spooling pretende evitar estas pérdidas de tiempo haciendo que la
transferencia se efectué sobre un soporte intermedio y no directamente sobre el periférico.
Descripción:
Aun cuando un proceso abre un stream asociado a un dispositivo no compartible, la rutina
de E/S le asigna un fichero anónimo en un soporte intermedio, de forma que se dirige a Él
todas las salidas del stream;
Cuando se cierra el stream, el fichero se añade a una cola que contiene ficheros similares
creados por otros procesos;
El spooler (proceso independiente asociado al  dispositivo no compartible) se encarga de
transferir la información de los ficheros almacenados en esa cola sobre el dispositivo físico.
USO EL SPOOLING
El spooling es útil en caso de dispositivos que acceden a los datos a distintas velocidades. O
en aquellos casos en que no hay comunicación directa entre los programas que escriben los
datos y aquellos que los leen. Los datos del área temporal solo pueden ser modificados
agregando o eliminado al final del área (en general, no hay acceso aleatorio ni edición).
También es muy usado en la impresión (print spooling), donde los documentos a imprimir
son cargados al spool de impresión, y la impresora los va tomando en su debido tiempo
para imprimirlos. El spooling permite poner documentos en una "cola de impresión", que
irán imprimiéndose en ese orden, mientras el usuario hace otras tareas. Otro uso del
spooling es email spool, un área temporal de almacenamiento de emails a ser enviados por
el programa agente transmisor de emails. De todas maneras este tipo de spooling es
diferente, dado que permite el acceso aleatorio a los mensajes de email del área de
almacenamiento temporal
Kernel
El núcleo o kernel es la parte central de un sistema operativo y es el que se encarga de
realizar toda la comunicación segura entre el software y el hardware del ordenador. El
núcleo kernel es la parte más importante del sistema operativo Unix y sus derivados, como
Linux y todas las distribuciones que dependen de él.
Todos los sistemas operativos tienen un Kernel, incluso Windows 10, pero quizá el más
famoso es el Kernel de Linux, que ahora además está integrado en Windows 10 con sus
últimas actualizaciones.
Este núcleo de los sistemas operativos se ejecuta en modo privilegiado con acceso especial
a los recursos del sistema para poder realizar las peticiones de acceso que le va pidiendo el
software que lo necesita, además como los recursos no son ilimitados, también hace de
árbitro a la hora de asignarlos, decidiendo el orden de las peticiones recibidas según la
prioridad e importancia de estas. Una gestión muy importante y fundamental que en la
mayoría de las ocasiones pasa desapercibida aun siendo un trabajo esencial para coordinar
todo el hardware con el software.
El kernel de Windows es privado y su código lo tienen a salvo en el que solamente
Microsoft puede realizar modificaciones para mejorar sus próximas versiones de Windows
10, al igual pasa con el de macOS, basado en Unix pero con licencia privada se reserva al
equipo de desarrollo encargado en Apple de realizar estas modificaciones, pero Linux tiene
un Kernel público bajo licencia GPL v2 y su código (o la mayor parte) está disponible para
poder descargarlo, examinarlo o incluso realizar aportes y modificaciones útiles para los
demás usuarios.
Microprogramación
Definición de Microprogramación Es el proceso de escritura para un microcódigo para un
procesador, el cual es de un nivel inferior que define como debe funcionar un
microprocesador cuando este ejecute instrucciones de lenguaje de máquina. Normalmente,
las instrucciones en lenguaje de máquina se traducen en varias instrucciones de
microcódigo, el cual se almacena (según la computadora) en la ROM, donde no puede ser
modificado o en la EPROM, donde puede ser sustituida por versiones más recientes.
Las principales características de la microprograma son:
Se trata de software que generalmente se localiza en la memoria de solo lectura.
Busca las instrucciones de lenguaje de máquina para ejecutarlas como una serie de
pequeños pasos.
El conjunto de instrucciones que interpreta define al lenguaje de máquina.
En ciertas máquinas se implanta en el hardware y no es en realidad una capa
distinta.
Se considera la organización interna del sistema operativo y para ello debemos observar
dos tipos de requisitos:
- Seguro
- Rápido
Requisitos de software:
- Mantenimiento
- Forma de operación
- Restricciones de uso
- Eficiencia
- Flexibilidad
A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los
sistemas, se hizo necesaria una mayor organización del software del sistema operativo,
donde una parte del sistema contenía subpartes y esto organizado en forma de niveles.
Es una estructura jerárquica, con mayor organización del software del sistema operativo. El
sistema operativo se divide en partes o niveles, cada uno perfectamente definido y con un
claro interface (comunicación) con el resto de los elementos.
Núcleo (Kernell)
Gestión de entrada/salida
Gestión de memoria
Sistemas de archivos
El sistema operativo se ocupa de administrar los archivos del usuario a través de una
estructura de directorios con algún tipo de organización.
Intérprete de comandos
Usar un computador no siempre fue tan fácil. Los sistemas operativos surgieron como una
necesidad para poder utilizar máquinas muy complejas en tiempos que se necesitaba
personal muy especializado para poder operarlas. La evolución de los sistemas operativos
estuvo, por lo tanto, muy ligada a las características y necesidades particulares de las
máquinas disponibles. Resulta difícil hablar de los sistemas operativos sin referirse al
mismo tiempo a la evolución del hardware, pues ambos aspectos han avanzado de la mano
durante gran parte de la historia.
Este artículo describe algunos hitos en la evolución del software que conocemos como
sistema operativo y destaca el surgimiento de conceptos que persisten en los sistemas
operativos modernos. La división de generaciones es aproximada en cuanto a años, y está
guiada principalmente por los hitos que marcaron al hardware.
Charles Babbage (1791-1871) and the Analytical Engine. Esta reconstrucción fue hecha a
partir de los diseños de Babbage.
La máquina de Babbage, sin embargo, no tenía ningún tipo de software. La máquina podía
ser "programada" (un concepto nuevo para la época) mediante tarjetas perforadas, método
que ya se usaba para configurar máquinas en la industria textil. Ada Lovelace, matemática,
escribió un conjunto de notas que describían un procedimiento para calcular una secuencia
de números de Bernoulli usando la máquina de Babbage. Se considera este documento
como el primer programa desarrollado para una máquina computacional, y a Ada Lovelace
como la primera programadora. El lenguaje de programación Ada fue nombrado en su
honor.
Ada Lovelace (1815-1852) y el primer algoritmo para una máquina de cómputo. Ada
falleció a los 36 años de cáncer uterino.
Notemos que durante el tiempo que un dispositivo está leyendo las tarjetas perforadas, tanto
el dispositivo procesador como el dispositivo de salida no están haciendo ningún trabajo
útil. Dado el costo del equipamiento era poco conveniente tener estas unidades en espera
mientras se traduce una tarjeta perforada a una cinta magnética. Es por esto que se
desarrollaron soluciones como el sistema de procesamiento batch, o procesamiento por
lotes. En este modelo, un programador entrega sus tarjetas perforadas a un operador (otra
persona) que se dedica a ingresar las tarjetas a una unidad lectora de tarjetas (IBM 1402).
Cuando hay una cantidad suficiente de trabajos, el operador toma la cinta de salida y la
traslada (físicamente) a un dispositivo procesador como el IBM 1401 (3 registros, word de
6-bit con codificación BCD) o el más poderoso IBM 7094 (7 registros, word de 36-bit, y
espacio de direcciones de 15-bit: 32768 words). El operador carga un primer programa
(algo similar a un sistema operativo) que prepara al computador para leer una serie de jobs
desde la cinta. Mientras el dispositivo procesador realiza las labores de cómputo, el IBM
1402 podía seguir leyendo el siguiente conjunto de tarjetas. La salida del dispositivo
procesador iba a una cinta magnética de salida. El operador nuevamente debe tomar esta
cinta, llevarla a un dispositivo impresor (IBM 1403) que transfiera el contenido de la cinta
magnética a papel de manera offline. Esto es, no conectado al dispositivo procesador.
Un IBM 1620, como el que está en el DCC. Utiliza words codificados en BCD, y era capaz
de almacenar hasta 20000 digitos. No poseía ALU. Utilizaba tablas de 100 dígitos para
efectuar sumas y restas, y una tabla de 200 dígitos para multiplicaciones. La división se
efectuaba mediante subrutinas de software. Tenía un clock 1MHz, y tiempo de acceso a
memoria de 20usec.
En los años 1960s, los mainframes de IBM (International Business Machines Corporation),
la compañía constructora de equipamiento computacional más importante de la época,
requerían cada uno un software y periféricos distintos para funcionar, ya que las
instrucciones no eran compatibles. Un programa hecho para un modelo debía ser reescrito
ante la introducción de un nuevo modelo de hardware. La compañía decide unificar el
hardware bajo una familia llamada System/360. Ésta fue la primera línea importante basada
en la nueva tecnología de circuitos integrados capaz de integrar grandes cantidades de
pequeños transistores, lo que proporcionaba una enorme ventaja precio/rendimiento
respecto a los transistores tradicionales.
OS/360, y la multiprogramación
El desarrollo tecnológico de los circuitos integrados llegó al nivel conocido como VLSI
(Very Large Scale Integration), capaz de integrar hasta 1 millón de transistores en un chip
de 1cm2, lo que permitía hasta 100000 celdas lógicas. Surgieron sistemas computacionales
de uso personal denominados microcomputadores, que en principio no eran
tecnológicamente muy superiores al PDP-11, pero a un precio notablemente inferior.
En 1974, Intel presenta el chip Intel 8080, una CPU de propósito general de 8-bit con un
clock de 2MHz, sucesora del 4004 y el 8008, los primeros microprocesadores del mercado.
Fue parte del popular MITS Altair 8800, que dió inicio a la era de los microcomputadores.
No sería, hasta el desarrollo del Apple Lisa (1983) y el Apple Macintosh (1984), los
primeros computadores personales en incluir una interfaz gráfica, que las GUIs se harían
populares al acercar el uso del computador al público general e incorporar el concepto de
user friendliness. Se dice que Steve Jobs, co-fundador de Apple Computer Inc. habría
tenido la idea incorporar la GUI a su próximo computador (Lisa) luego de una visita que
realizó en 1979 a Xerox PARC, sin embargo hay testimonios que indican que el plan de
incorporar una GUI al Apple Lisa existía de manera previa a dicha visita (Steve Jobs y los
ingenieros de Apple tenían suficientes motivos para visitar Xerox PARC, en cualquier caso,
y la visita efectivamente ocurrió). En cualquier caso el Apple Macintosh fue ampliamente
popular en particular en el ámbito del diseño gráfico.
Fuertemente influenciado por el éxito del Apple Macintosh, a inicios de 1980s Microsoft
planeaba un sucesor para MS-DOS que tuviera su propia GUI. Su primer intento fue un
sistema administrador de ventanas llamado Windows 1.0 (1985) que funcionaba como una
aplicación sobre MS-DOS. La versión que consiguió mayor adopción fue Windows 3.11,
para sistemas de 16-bit. Fue en 1995, con el lanzamiento de Windows 95 y luego Windows
98, que se incorporó código para aprovechar las nuevas CPU de 32-bit, aun cuando parte
del sistema operativo debía soportar aún aplicaciones de 16-bit por retrocompatibilidad.
MS-DOS seguía siendo usado para iniciar el sistema y como soporte subyacente para
aplicaciones antiguas.
Ya desde 1987, Microsoft había trabajado en conjunto con IBM para construir un sistema
operativo con GUI. Este sistema se conoció como OS/2, sin embargo nunca alcanzó gran
popularidad ante Macintosh y los mismos Windows 9x. Eventualmente Microsoft tomó
parte del trabajo desarrollado para OS/2 y reimplementó Windows usando código
completamente de 32-bit. Este nuevo sistema se llamó Windows NT (Windows New
Technology), mientras OS/2 fue eventualmente abandonado por IBM.
Quinta Generación (1990-Presente): Computadores Móviles
Hasta 1993, los dispositivos telefónicos móviles no era más que dispositivos de
comunicación que usaban sistemas embebidos, dedicados, para administrar su hardware. El
concepto de utilizar estos dispositivos para realizar actividades más allá de la telefonía
surgió con los dispositivos conocidos como PDA (Personal Digital Assistant), entre los
cuales se encuentra el Apple Newton que incluía un sistema operativo Newton OS escrito
en C++, y con un pionero uso de reconocimiento de escritura manual. Poseía una API para
aplicaciones desarrolladas por terceros, sin embargo no obtuvo gran adopción.
Talvez el primer dispositivo llamado un smartphone fue el IBM Simon, con una interfaz de
pantalla touch (con stylus) y un sistema operativo ROM-DOS, compatible con MS-DOS y
desarrollado por la empresa Datalight. Su batería de una hora de duración no le permitió
competir con los nuevos dispositivos.
Nokia y SymbianOS
El éxito de Palm llevó a otros protagonistas de la telefonía móvil como Nokia a co-fundar y
posteriormente adquirir completamente a Symbian Ltd.. El consorcio fundador incluía a
Psion, una compañía que estaba detrás de EPOC, un sistema operativo single-user de 32-bit
con preemptive multitasking del año 1998, que bajo Symbian se convertiría en Symbian OS
cuya primera versión (6.0) fue utilizada en el Nokia 9210 Communicator. Symbian OS
corría sobre procesadores ARM, una arquitectura RISC. En su mejor momento, Symbian
OS fue el sistema preferido por manufacturadores como Samsung, Motorola, Sony
Ericsson, y principalmente Nokia. Poseía un microkernel llamado EKA2 que soportaba
preemptive multithreading, protección de memoria, y scheduling para tareas de tiempo real
(RTOS). Poseía un diseño orientado a objetos y estaba escrito en C++. Symbian OS
dominó gran parte del mercado de los sistemas operativos móviles hasta su abandono
paulatino por Samsung, Sony Ericsson y eventualmente Nokia (que lo reemplazaría por
Windows Phone), lo que lo hizo perder terreno ante la irrupción de iOS y Android.
Microsoft había desarrollado desde 1996 un sistema operativo embebido llamado Windows
CE (actualmente Windows Embedded Compact) diseñado para una especificación de
plataformas incialmente denominado Pocket PC. Los primeros dispositivos con Windows
CE se lanzaron en 2002. Windows CE contenía un kernel híbrido escrito en C y soportaba
arquitecturas x86, ARM, MIPS y PowerPC. La serie de sistemas operativos móviles
basados en Windows CE fue conocida como Windows Mobile (incluyendo el media player
Zune) y fue desarrollado hasta 2010. Posteriormente Microsoft reimplementaría su sistema
operativo móvil basado en la línea de Windows NT, dando inicio a Windows Phone, línea
que fue descontinuada en 2017 debido al poco interés de los desarrolladores en generar
aplicaciones para esta plataforma ante la dominancia de iOS y Android.
RIM y Blackberry OS
El año 2007 ocurrió la entrada de uno de los principales competidores cuando Apple
presentó su iPhone junto con su sistema operativo iOS (originalmente iPhone OS). iOS, al
igual que MacOSX se basa en el kernel híbrido XNU y el sistema operativo (UNIX-like)
Darwin. Desde el año 2010, con iOS 4, el sistema añadió soporte de APIs para multitasking
por parte de aplicaciones de usuario. Previamente el multitasking estaba restringido solo a
ciertos servicios del sistema. La disponibilidad del iOS SDK (Software Development Kit)
atrajo el desarrollo de múltiples aplicaciones nativas disponibles desde una tienda online
(App Store), popularizando rápidamente el uso del iPhone y posicionándolo como uno de
los principales competidores.
Meses después del lanzamiento del primer iPhone, un conjunto de compañías lideradas por
Google, incluyendo a HTC, Sony, Dell, Intel, Motorola, Samsung, LG, Nvidia, entre otros,
forman la Open Handset Alliance (OHA). Con el soporte de OHA, Google lanza en 2008 la
primera versión de Android, un sistema operativo monolítico (UNIX-like) de código
abierto basado en el kernel Linux. Android inició su desarrollo bajo la compañía Android,
Inc. fundada en 2003. El año 2005 Google adquirió Android, Inc. y fue bajo su alero que el
equipo de desarrollo terminó la primera versión Android 1.0. De manera similar a App
Store, Android lanzó el Android Market (más tarde Google Play Store), y el Android SDK
para el desarrollo de aplicaciones (escritas principalmente en Java, y recientemente en
Kotlin) para terceros. El soporte de OHA, integrado por importantes actores del mercado
smartphone fue clave para posicionar a Android como el sistema operativo dominador en
los dispositivos móviles desde el año 2010, con iOS como su único (y distante) competidor
real.
Gestión del hardware: Esta función, una de las más importantes del sistema
operativo, suele quedar en segundo plano, es decir, que se oculta al usuario. El
programa gestiona todo el hardware, tanto de entrada como de salida. Para ello,
utiliza controladores proporcionados por los fabricantes del hardware, que le sirven
para recibir y reenviar los comandos de los dispositivos, así como para transferir sus
propios comandos al hardware. Así es como funcionan el teclado, el ratón, la
pantalla, el disco duro, la tarjeta gráfica y todos los demás componentes de un
ordenador.
Gestión del software: Por lo general, cuando te bajas algún programa de Internet,
puedes elegir entre varias versiones para los diferentes sistemas operativos en la
página de descarga, lo que demuestra hasta qué punto la programación de las
aplicaciones está relacionada con las especificaciones del sistema operativo. Los
sistemas de base de los ordenadores tienen interfaces que regulan la comunicación
con todas las aplicaciones. De esta manera, es posible asignarles memoria,
permitirles utilizar los recursos del procesador o ejecutar las acciones efectuadas
con el teclado y el ratón.
El sistema operativo provee al ordenador de rutinas básicas para poder controlar todos los
dispositivos del equipo y administrar, escalar y realizar la interacción de tareas.
Su principal tarea es administrar las tareas y recursos del equipo, coordinar el hardware y
organizar los archivos y directorios en los dispositivos de almacenamiento del ordenador.
Pero también cumple otras funciones como gestionar el intercambio de memoria interna
entre las diversas aplicaciones; ejecutar varios programas al mismo tiempo y determinar en
qué orden y en cuánto tiempo se deben ejecutar; gestionar el intercambio de la memoria
interna entre las aplicaciones; se ocupa de la entrada y la salida de los dispositivos de
hardware que están conectados como los discos duros, impresoras o puertos.
Algunos sistemas operativos permiten administrar una gran cantidad de usuarios y otros
controlar dispositivos de hardware. Una de las funciones más conocidas del sistema
operativo es la de cargar en la memoria y facilitar la ejecución de los programas que el
usuario utiliza.
Cuando un programa se está ejecutando, el sistema operativo continúa su trabajo, dado que
muchos programas necesitan realizar acceso al teclado, por ejemplo, vídeo, impresora o
acceso al disco duro para poder leer y grabar archivos, por ejemplo.
El sistema operativo tiene una gran responsabilidad, ya que se encarga de que todos los
programas y los componentes del ordenador funcionen bien.
El sistema operativo se compone por un conjunto de paquetes de software que pueden ser
utilizados para gestionar las interacciones con el hardware.
Los servicios son pequeños script que realizan acciones sobre una selección haciendo uso
de las funcionalidades de la aplicación que los instala o funcionan de forma independiente.
Según se instalen a partir de una aplicación o vengan integrados en el sistema tendrán
ubicaciones diferentes.1
Interfaz de Usuario
Casi todos los sistemas operativos disponen de una interfaz de usuario (UI, user interface),
que puede tomar diferentes formas. Uno de los tipos existentes es la interfaz de línea de
comandos (CLI, command-line interface) que usa comandos de texto, y por otra parte se
utiliza una interfaz gráfica de usuario (GUI, graphical user interface) compuesta por
ventanas.
Ejecución de Programas
El sistema tiene que poder cargar un programa y ejecutar dicho programa. Todo programa
debe poder terminar su ejecución, de forma normal o anormal (indicando un error).
Operaciones de E/S
Comunicaciones
Hay muchas circunstancias en las que un proceso necesita intercambiar información con
otro. Dicha comunicación puede tener lugar entre procesos que se están ejecutando en la
misma computadora o entre procesos en computadoras diferentes conectadas por red. La
comunicaciones se pueden implementar utilizando memoria compartida, procedimiento en
el que el sistema operativo transfiere paquetes de información entre unos procesos y otros.
Detección de errores
El sistema operativo necesita detectar constantemente los posibles errores. Estos errores
pueden producirse en el hardware del procesador y de memoria, en un dispositivo de E/So
en los programas de usuario. Para cada tipo de error, el sistema operativo debe llevar a cabo
la operación apropiada para asegurar el funcionamiento correcto y coherente.
Asignación de recursos
Cuando hay varios usuarios, o hay varios trabajos ejecutándose al mismo tiempo, deben
asignarse a cada uno de ellos los recursos necesarios. El sistema operativo gestiona muchos
tipos diferentes de recursos; algunos pueden disponer de código de software especial que
gestionen su asignación, mientras que otros pueden tener código que gestione de forma
mucho más general su solicitud y liberación.
Los tipos de sistema operativo varían según el hardware y la función de cada dispositivo.
Existen algunos para ordenadores y otros para dispositivos móviles.
Según el usuario pueden ser: multiusuario, sistema operativo que permite que varios
usuarios ejecuten simultáneamente sus programas; o monousuario, sistema
operativo que solamente permite ejecutar los programas de un usuario a la vez.
Según la gestión de tareas pueden ser: monotarea, sistema operativo que solamente
permite ejecutar un proceso a la vez; o multitarea, sistema operativo que puede
ejecutar varios procesos al mismo tiempo.
Según la gestión de recursos pueden ser: centralizado, sistema operativo que solo
permite utilizar los recursos de un solo ordenador; o distribuido, sistema operativo
que permite ejecutar los procesos de más de un ordenador al mismo tiempo.
5. Ubuntu. Este sistema operativo es libre y de código abierto, o sea, todo el mundo
puede modificarlo sin violar derechos autorales. Toma su nombre de cierta filosofía
surafricana ancestral, enfocada en la lealtad del hombre hacia su propia especie por
encima de todo. Basado en GNU/Linux, Ubuntu se orienta hacia la facilidad de uso
y la libertad total. La empresa británica que lo distribuye, Canonical, subsiste
brindando servicio técnico.
1. REENTRANCIA :
programa o módulo que pueden ser utilizado simultaneamente por varios usuarios al
mismo tiempo.
consiste en dos partes: - un código puro (parte no modificable). - un area de memoria para
cada uno de los procesos de usuario. sistema operativo programa reentrante información
usuario 1 información usuario 2 información usuario n mem. ppal.
2. INTERRUPCIONES:
3.- PROCESADORES DE E /S
4.- RELOJES:
1. impresora.
2. cpu
3. programa
4. disco
5. impresora
6.- EMULACIÓN:
los fabricantes de equipos, usan esta técnica cuando presentan nuevos sistemas.
microprogramacion.
* cada instruccion en lenguaje de maquina que puede se ejecutada por el procesador, tiene
su correspondiente microprograma.