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