Está en la página 1de 21

Curso: Computacin Bsica

Software - Sistema Operativo


Es el programa ms importante, es el gestor y organizador
de todas las actividades que realiza la computadora.
Funciones
Coordinar y manipular el hardware de la computadora.
Permiten manejar archivos: copiar/borrar/renombrar/crear
Proporciona una interfaz para que el usuario se comunique con
la computadora.(Escritorio)
Sirve de plataforma a partir de la cual se corren otros
programas.
Los SO se diferencias de los restantes programas del sistema que no forman
parte del el (compiladores, editores, interprete de comandos, etc) en que estos
corren en modo usuario mientras que el primero lo hace en modo protegido o
kernel (tambin llamado supervisor, sistema, protegido, etc).
Sistema Operativo: Categoras
Multitarea
Capacidad del SO para ejecutar varias tareas simultneamente.

Multiusuario
Permite a varios usuarios acceder a una computadora.
Son tambin multitareas.
Multiproceso
Coordina las operaciones de las computadoras que tienen ms
de un procesador. Cada procesador ejecuta procesos
diferentes.


MS-DOS
Creado por Microsoft
en1984.
Gran volumen de software
disponible.
Monousuario
Monotarea
Utiliza comandos
OS/2
Multitarea
Monousuario.
Desarrollado por IBM.
Poco software disponible.
Permite el manejo directo de
16 MB de la memoria RAM
Sistema Operativo: Ejemplos
WINDOWS
Creado por Microsoft a mediado
de la dcada de los 80.
Multitarea
Interfaz grfica
Primeras versiones 3.0, 3.1, y
3.11 no eran sistemas operativos
Versiones:
Windows 95, Windows 98,
Windows Me, Windows 2000,
Windows XP
WINDOWS NT
Multitarea
Multiproceso.
Comparado slo con Unix.
Versiones: windows NT
Server, Windows NT
Workstations
Versiones mejoradas de
Windows NT Server:
Windows Server 2000,
Windows Server 2003
Sistema Operativo: Ejemplos
UNIX
Creado por Laboratorios Bell en
1969.
Multiusuario, multitarea y
multiproceso
Slido y capaz, pero de difcil
aprendizaje.
Versiones del Unix: SunOS,
Linux, Solaris, Xenix
LINUX
Creado en 1991 por Linus Torvalds
Multitarea, multiusuario, multiproceso
Protege la memoria para que un
programa no pueda hacer caer al
resto del sistema
Se distribuye con cdigo fuente
(Software libre)
Comparte la memoria entre
programas aumentando la velocidad y
disminuyendo el uso de memoria
Hay diferentes distribuciones
(Debian, RedHat, Mandrake, etc.)
Sistema Operativo: Ejemplos
Sistema Operativo Live (Tiempo real)
- Es un SO muy rpido y relativamente pequeo.
- A menudo son SO integrados. Es decir estn en los circuitos y no
se cargan de una unidad.
- Restricciones de Tiempo.
Un SO de tiempo real puede ser implementado en
microcontroladores o procesadores digitales de seal "DSP's",
as, se pueden desarrollar aplicaciones embebidas en diferentes
reas de la electrnica.
Determinismo
Sensibilidad
Control del usuario
Fiabilidad
Tolerancia a los fallos
Caractersticas:
Kernel y Shell
Kernel o Ncleo:
Software que relaciona las aplicaciones con el hardware
Gestin de Hardware: (CPU, RAM, Disco Duro)
-Asigna recursos a cada proceso y decide prioridades
Shell :
Interpreta rdenes del usuario
Interfaz de texto plano (grfica) entre el usuario y el Kernel
-Ej: MS-DOS , terminales de consola de Linux
SOFTWARE KERNEL
HARDWARE
SHELL
Administracin de Hardware.
Cuando los programas se ejecutan, necesitan utilizar la memoria, monitor,
unidades de disco y otros dispositivos.
El Sistema Operativo es el intermediario entre los programas y el
hardware.
Interruptores de procesamiento.
El So responde a solicitudes para utilizar la memoria y otros
dispositivos.
Mantiene el registro de los programas que han tenido acceso a los
dispositivos.
Coordina lo que el hardware hace, de manera que las actividades
no se traslapen ocasionando que la computadora se confunda y
deje de trabajar.
Utiliza las IRQs para ayudar al CPU a coordinar los procesos.
Ejemplo: IRQ0 = cronmetro del sistema
IRQ 1 = Teclado
Trabajar con controladores de dispositivos.
Adems de utilizar interruptores, el SO frecuentemente proporciona
programas para que trabajen con dispositivos especiales como una
impresora.
Esos programas se llaman controladores.
Permiten que el SO y otros programas utilicen el dispositivo hardware.
1.Introduccin
Los Lenguajes de programacin son aplicaciones
especficas diseadas para crear otras aplicaciones o
programas. Son programas para crear programas.
Se basan en un sistema de instrucciones
preestablecidas que indican al ordenador lo que debe
realizar
Son cdigos integrados compuestos por un vocabulario,
con una sintaxis y una semntica que permite elaborar
infinitas secuencias vlidas de tareas e instrucciones
Lenguajes de Programacin
Los lenguaje de programacin permiten crear programas
especficos que ofrezcan solucin a programas
particulares
Para llevar a cabo cualquier tarea, el ordenador necesita
tener informacin sobre la tarea y un mtodo para
ejecutarla
PROGRAMA: conjunto de instrucciones
convenientemente ordenadas que indican al ordenador
qu procesos y tareas debe seguir. Cada una de las
instrucciones tiene un funcin especfica y est escrita en
un lenguaje que el ordenador entiende
Lenguajes de Programacin
En resumen, los lenguajes de programacin:
Constituyen sistemas de
palabras-rdenes (lengua o
idioma), ya establecidos.
Comprensibles tanto por el
programador como por la
mquina,
Permiten desarrollar
programas
Clasificacin de los Lenguajes de
Programacin:
a) Lenguajes de Alto-Bajo nivel
b) Lenguajes Interpretados o Compilados
a) Lenguajes de Alto-Bajo nivel
El nivel de un lenguaje hace referencia a su proximidad al lenguaje
natural, considerndose de ms nivel cuanto ms cercanos estn a
este y de menos nivel cuando ms cerca estn del lenguaje mquina
El lenguaje bajo nivel o lenguaje mquina es el que utiliza el
ordenador, el que la mquina entiende, basado en un sistema de 0 y
1. Son difciles de aprender y manejar, ya que no resultan cercanos
al ser humanos, pero son rpidos ya que evitan las traducciones
intermedias. Fueron los primeros en aparecer.
Los lenguajes de alto nivel son ms fciles de aprender y permiten
despreocuparse de la arquitectura del ordenador. Ejemplos son:
BASIC, PASCAL, FORTRAN, C (aunque este es intermedio)
b) Lenguajes Interpretados o Compilados
Los LP deben traducirse (excepto el cdigo mquina) para que sean
interpretables (o inteligibles) por el ordenador. Esta traduccin puede
hacerse mediante:
Los Lenguajes interpretados, se encargan de realizar la traduccin
instruccin a instruccin a la vez que se ejecuta el programa. Son
ms lentos, pero mejores cuando el proceso de traduccin/ejecucin
se realiza en repetidas ocasiones, por lo que son ms adecuados para
principiantes.
Los Lenguajes compilados traducen el programa entero y luego lo
montan generando un programa ejecutable por si slo. Una vez
compilado el programa, el compilador no tiene porque estar presente,
pudindose transportar el programa ejecutable a cualquier ordenador,
sin necesidad de manejar el compilador.
Puede ser entendida como un PROCESO DE
SOLUCIN DE PROBLEMAS que tiene lugar
en dos etapas:
La Programacin:
1. Obtener la solucin del problema.
a. Anlisis detallado de la situacin .
b. Bsqueda de tcticas que conduzcan a la solucin.
2. Codificar esta informacin en un lenguaje
informtico concreto
El mtodo general de programacin es:
PROBLEMA
INFORME
ALGORTMICO
PROGRAMA
Anlisis y
resolucin
Codificacin
1. PROBLEMA: actividad que no sabemos
cmo llevar a cabo
2. INFORME ALGORITMICO: la actividad se
analiza en busca de la forma de
resolucin. El resultado se plasma en un
informe que contiene:
a. La descripcin de la tarea y la
enumeracin de los objetivos a
conseguir
b. El procedimiento empleado
c. Los recursos y elementos necesarios
d. El algoritmo (la secuencia en la que
hay que realizar cada una de las
operaciones)
3. PROGRAMA: el algoritmo, traducido a un
lenguaje de programacin especfico, se
convierte en un programa que el
ordenador puede ejecutar
Qu es un algoritmo?
Un mtodo para resolver un problema mediante
una serie de pasos precisos, definidos, finitos
Precisos: indicar el orden de presentacin de
cada paso
Definidos: si se siguen dos veces se obtiene igual
resultado
Finitos: tiene un nmero determinado de pasos
Una receta de cocina puede
resultar similar (en cuanto a
concepto) a un algoritmo o
programa