RETO MES DE ABRIL .............................docx
C y siistemas operativos
1.
2. Lenguaje C
C es un lenguaje orientado a la
implementación de Sistemas Operativos,
concretamente Unix.
C es apreciado por la eficiencia del
código que produce.
Es el lenguaje de programación más
popular para crear software de sistemas,
aunque también se utiliza para crear
aplicaciones.
3. Características
• Las funciones permiten a un programador modularizar un
programa.
• Todas las variables declaradas en las definiciones de función son
variables locales (son conocidas solo en la función en la cual
están definidas).
• La mayor parte de las funciones tienen una lista de parámetros.
Los parámetros proporcionan la forma de comunicar
información entre funciones.
• Los parámetros de función son también variables locales.
• Orientado a la programación de sistemas.
• Es altamente transportable.
• Es muy flexible.
• Genera código muy eficiente .
• Es muy expresivo (se pueden realizar muchas funciones
escribiendo pocas líneas de código) .
• Es muy poco modular.
• Hace pocas comprobaciones .
• Da poca disciplina al programador .
• Es difícil leer código escrito por otras personas .
4. Aplicaciones
Gestión de prioridades de planificación.
Envío y recepción de señales entre procesos.
Generación de segmentos de memoria compartida.
Mecanismos de envío de información entre procesos
mediante pipes o tuberías.
Envío de información mediante named-pipes, o FIFOs.
Envío de información utilizando colas de mensajes.
Envío de información entre procesos locales mediante
sockets de familia UNIX.
Envío de información entre procesos locales o remotos
mediante sockets de familia INET.
Control de acceso a recursos mediante semáforos.
5. Ventajas de programar en lenguaje C
• Quien puede programar en C podrá, además, escribir sus propias
utilidades, simples o complejas, y ejecutarlas como aplicaciones gráficas o
como comandos en el sistema, y de esta forma portar esas utilidades de
un sistema Linux a otro y continuar utilizándolas.
• Podrá además empaquetar toda su aplicación en un tarball fuente, o
código pre-compilado para algún repositorio de distribución, como .deb o
.rpm.
• También podrá licenciar su código fuente como GPL o alguna licencia
libre, y compartirlo con el resto de la comunidad, y de esta forma obtener
aportes retro alimentados o feedback de programadores más
experimentados, lo que logrará sin duda que el código aportado crezca
mucho más de lo imaginado.
• Quien programe en C/C++ tiene muchísimas posibilidades a la hora de
optimizar y personalizar en medio/bajo nivel su sistema operativo, e
incluso escribir nuevos controladores, módulos y software para facilitarle
la tarea de administración.
• Es posible desarrollar aplicaciones multiplataforma en C, que se puedan
ejecutar en Windows, Linux o Mac OS sin problemas.
• A pesar de todo, C ha demostrado ser un lenguaje extremadamente
eficaz y expresivo.
• El lenguaje C ha sido pensado para ser altamente transportable.
• Un núcleo del lenguaje simple, con funcionalidades añadidas importantes,
como funciones matemáticas y de manejo de archivos, proporcionadas
por bibliotecas.
6. Desventajas de programar en lenguaje C
• C no es portable a nivel de código ejecutable, lo que significa que una
aplicación compilada para Linux en formato, por ejemplo, ELF de 32 bits,
no podrá ser ejecutada en windows, que utiliza formatos EXE o COM. Y
viceversa, un .EXE de Windows no podrá ser ejecutado en un sistema
*nix.
• Por supuesto, deberemos tener instaladas las bibliotecas de desarrollo
utilizadas, en el sistema operativo en el que vamos a compilar.
• Si el código fuente no fue escrito siguiendo ANSI, seguramente solo podrá
ser compilado con el compilador o IDE en el que fue programado.
• El Lenguaje C es relativamente sencillo, pero su gran flexibilidad es
terreno abonado para la creación de vicios y prácticas no adecuadas de
programación, por lo cual debe cuidarse la enseñanza de su estilo de
programación, técnica y filosofía de trabajo.
• Polimorfismo en tiempo de código en forma de sobrecarga, sobrecarga de
operadores y sólo dispone de un soporte rudimentario para la
programación genérica.
• Soporte nativo para programación multihilo y redes de computadores.
• Carece de instrucciones de entrada/salida, de instrucciones para manejo
de cadenas de caracteres, con lo que este trabajo queda para la librería de
rutinas, con la consiguiente pérdida de transportabilidad.
8. Es un software básico de una computadora
que provee una interfaz entre el resto de
programas del computador, controlando y
administrando todos los recursos de hardware y
proporciona la base sobre la cual pueden escribirse
los programas de aplicación y todos los programas
ofimáticos, encargándose de brindar de forma
ordenada, sencilla y segura la administración,
operación, interpretación, codificación y emisión de
las órdenes a la computadora (procesador central)
para que esta realice las tareas necesarias y
específicas para completar una orden, proceso o
tarea específica.
¿Qué es un Sistema Operativo?
9. Funciones de los Sistemas Operativos
1. Interpreta los comandos que permiten al usuario comunicarse con el
ordenador, permitiendo la comunicación de tal manera que se puedan
cargar programas, acceder archivos y realizar otras tareas. Existen tres
tipos básicos de interfaces: las que se basan en comandos, las que utilizan
menús y las interfaces gráficas.
2, Coordina y manipula el hardware de la computadora, memoria, impresoras,
unidades de disco, teclado, mouse; administrando de igual forma los
recursos del hardware y de redes de un sistema informativo, como el CPU,
memoria, dispositivos de almacenamiento secundario y periféricos.
3, Organiza los archivos en diversos dispositivos de almacenamiento, como
discos flexibles, discos duros, discos compactos o cintas magnéticas.
4, Los programas controlan que áreas tiene acceso al CPU y por cuánto tiempo. Servir de base para la
creación del software logrando que equipos de marcas distintas funcionen de manera análoga,
salvando las diferencias existentes entre ambos.
5, Los servicios de soporte de cada sistema operativo dependerán de la implementación (programas
orientados a diferentes tareas, como editores de texto, administradores de archivos, navegadores,
etc.) particular de éste con la que estemos trabajando.
11. Ventajas:
• Es un sistema universal.
• Es transportable.
• Es un sistema abierto.
• Ha recogido contribuciones de
múltiples personas e instituciones.
• Soluciones simples y elegantes .
• Ofrece una rica colección de
pequeñas utilidades y los comandos
que están diseñados para llevar a
cabo tareas específicas, en lugar de
ser recargada por una variedad de
opciones especiales, pero
insignificantes.
• Tiene la capacidad de encadenar
diversas utilidades y comandos
juntos, en un número ilimitado de
configuraciones, con el fin de lograr
una variedad de tareas complicadas
.
Desventajas:
• Pobre sistema de administración.
• Sistema para gurús.
• Falta uniformidad de estilo en los
programas del sistema
• Fue desarrollado para ser utilizado
por programadores y usuarios
informáticos serios, no por usuarios
ocasionales.
• Muchos de los comandos de la
interfaz de Unix requieren el uso de
caracteres especiales.
• Soporta un máximo de 16
procesadores.
• Cuentan con empresas que lo
respalden.
• No todas las aplicaciones esta en
castellano.
Unix
Es un sistema operativo portable, multitarea y multiusuario, desarrollado en 1969.
12. Características
• Se trata de un SO que permite utilizar el
PC en un sólo puesto de trabajo:
monopuesto (o monousuario), es decir,
no da la posibilidad de que distintos
usuarios desde distintos puestos puedan
trabajar simultáneamente sobre un
único S.O.
• Es también monotarea , ya que no
permite simultanear la ejecución de
varias tareas a la vez. Por tanto, antes de
ejecutar una nueva orden, debemos
esperar a que concluya la anterior.
MS-DOS
13. Ventajas
• Es que fue capaz de ir actualizándose cada año
desde su aparición, cada vez con mejoras en su
rendimiento funcional ya que se pudo ir
incorporando nuevos programas y archivos según
sus actualizaciones.
• Es capaz de soportar a otros sistemas operativos
como es el caso de windows sin perder ninguna
de sus cualidades como sistema operativo.
Desventajas
• Quedan en evidencia al intentar realizar más de
una tarea al mismo tiempo, debido a que este
sistema operativo es monotarea.
• Es que solo lo puede ocupar un usuario a la vez
debido a que es un sistema MONOUSUARIO.
• No tenia un interface amigable, es decir, no
contaba con ventanas, colores, etc, que hicieran
más grato el trabajo o la comunicación entre el
computador y el usuario.
14. Es un sistema operativo tipo Unix más conocido
como GNN/Linux, que significa software libre. Su nombre
viene del Núcleo de Linux, Desarrollado en 1991 por Linus
Torvalds.
Características
• Multitarea
• Multiusuario
• Multiplataforma
• Multiprocesador.
• Política de copia en escritura para la compartición de
páginas entre ejecutables. -Memoria virtual usando
sistemas operativos
Linux
15. Ventajas
• Mas eficiente que
Windows.
• Constante
actualización.
• Gratuito.
• Seguridad
Desventajas
• No es muy común su uso
en Compañías.
• Instalar controladores de
Hardware y programas
resulta ser mas
complicado que en
Windows.
• Muchos juegos no se
ejecutan en Linux
16. • Es un software de pago.
• Cumple con la función de ir desarrollando las
tareas del computador, por medio de una interfaz
gráfica que utiliza recuadros o ventanas (de ahí el
nombre, Windows significa ventanas).
• La empresa que desarrollo Windows, Microsoft,
fue creada por uno de los principales precursores
de lo que son hoy en día los PC o computadores
personales. Ya que Bill Gates, su dueño, junto con
Paul Allen, desarrollaron de manera conjunta con
IBM, el primer computador convencional de la
actualidad. Aquello ocurría en la década de los
80`. Posteriormente Gates se desentiende de IBM
y crea su propia empresa de software, quien
continúa con el desarrollo de Windows
Windows
17. Ventajas
• Es multitarea y multiusuario
• Brinda la posibilidad de asignar
diferentes permisos a los usuarios.
• Permite cambiar periódicamente
las contraseñas.
• La instalación es sencilla.
Desventajas
• Tiene ciertas limitaciones por
RAM.
• No ofrece el bloqueo de intrusos.
• El usuario no puede limitar la
cantidad de espacio en el disco
duro.
18. • Esta basado en UNIX y tiene una interfaz gráfica
desarrollada por la propia empresa Apple.
• La empresa Apple intenta siempre tener las mejoras
prestaciones en sus ordenadores al precio más bajo
posible.
• La barra de tareas en Mac es una de las más
llamativas.
• En 2001 Apple lanzó su primera versión Puma.
• Snow Leopard es la versión actual.
• Desarrollan otra versión que todavía se desconoces
los detalles.
MAC
19. Ventajas
• Mejor interfaz grafica del
mercado.
• Ideal para diseño
grafico.
• Es muy estable
Desventajas
• Costoso (aunque viene incluido
con la maquina).
• Existe poco software para este
sistema operativo.
• Es más complicado encontrar
gente que la pueda arreglar en
caso de fallas.
21. • Es un OS para móviles basado
en núcleo Linux.
• Desarrollado por Google
Características
• Framework de aplicaciones
• Máquina virtual Dalvik
• SQlite para almacenamiento
estructurado
• Telefonía GSM
• Cámara, GPS, brújula y
acelerómetro
• Pantalla táctil.
Android
22. Ventajas
• El código de Android es abierto
• Hoy día hay más de 650.000 aplicaciones
disponibles para teléfonos Android.
• Es capaz de hacer funcionar a la vez
varias aplicaciones y además se encarga
de gestionarlas, dejarlas en modo
suspensión si no se utilizan e incluso
cerrarlas si llevan un periodo
determinado de inactividad. De esta
manera se evita un consumo excesivo de
batería.
• Más personalización.
• Los usuarios de Android pueden acceder
a las aplicaciones que consideren
necesarias para modificar la interfaz
según su estilo.
• Menos costoso.
• Muchos de los dispositivos que apuestan
por el sistema operativo de Google
cuentan con precios más bajos, a
comparación que sus competidores.
Desventajas
• A pesar de ser una ventaja el ser un sistema
multitarea: El hecho de tener varias
aplicaciones abiertas hacen que el consumo
de la batería aumente y como no todas las
aplicaciones Android las cierra hay que
instalar una aplicación para que las cierre.
• Duración de la batería: la batería en un
celular Android se agota muy rápido.
• Poco intuitivo: Para la mayoría el sistema
operativo es muy complicado.
• Cuando se lanza una actualización de
Android, el acceso depende del fabricante.
• . La mayoría de software malicioso está
destinada a móviles con Android.
23. Es un OS compacto con
aplicaciones básicas para
dispositivos móviles basado en
API Win32 de Microsoft.
Características:
• Barra de tareas.
• Se le añade Windows
Media Player
• Incorpora Outlook Mobile
Windows Mobile
24. Ventajas
• La ventaja más obvia del
almacenamiento persistente en
memoria flash es, como su nombre
indica, que permanece aunque nos
quedemos sin batería.
• La RAM se aprovecha mejor.
• La batería dura mucho más
Desventajas
La ROM flash es notablemente más
lenta que la RAM, con lo que la lectura
y escritura de grandes cantidades de
información llevará más tiempo.
26. Reflexión
Hoy día es imprescindible ser un usuario
competente en cuanto a los sistemas informáticos, a riesgo de
quedar postergado y radiado en esta sociedad telemática del
siglo XXI.
La elección del sistema operativo y de la mejor
versión del mismo, no es un asunto banal… Por lo general y en
lo personal, yo me inclino a recomendar el Sistema Operativo
Windows XP, aunque para ciertos usuarios podría
eventualmente ser mejor el Sistema Operativo Windows 98…
Todo depende de los programas que se necesite utilizar…
A efectos de dar una idea sobre las ventajas de usar
un buen sistema operativo, en las siguientes secciones se
particulariza sobre un par de asuntos, así como sobre algunos
detalles concretos relativos a ciertos usos del Sistema
Operativo Windows…