Sistemas Opertivos
Sistemas Opertivos
FUNDAMENTOS DE PROGRAMACIÓN
1CM1
1
ÍNDICE
SISTEMAS OPERATIVOS
Definición y tipos
Sistemas operativos en la actualidad
LENGUAJES DE PROGRAMACION
COMPILADORES E INTERPRETES
2
SISTEMAS OPERATIVOS
1.1 DEFINICION.
¿Qué es un sistema operativo?
Un sistema operativo es un programa que actúa como intermediario entre el
hardware y el software de una computadora.
Su propósito es que nosotros como usuarios de ese ordenador podamos ejecutar
los programas de manera cómoda y que el hardware sea empleado
eficientemente.
Características de los sistemas
operativos actuales para PC:
Multitarea: Los sistemas operativos
para PC más utilizados permiten
ejecutar varias tareas al mismo
tiempo.
Multiusuario: Estos sistemas
operativos permiten a varias personas utilizar el mismo equipo al mismo tiempo.
Multiproceso: Estos sistemas operativos permiten ejecutar varios programas al
mismo tiempo.
Gestión de memoria: Los sistemas operativos para PC más utilizados pueden
administrar eficientemente los recursos de memoria.
Control de dispositivos: Estos sistemas operativos también gestionan los
dispositivos conectados al equipo.
Seguridad: Los sistemas operativos para PC más populares ofrecen
características de seguridad para proteger los datos de los usuarios.
Existen dos tipos de sistemas, libres y privados.
El Sistema Operativo Libre es un Sistema Operativo que es Totalmente Gratuito
en su Uso, en su Modificación y en Su Redistribución. Lógicamente el usuario
debe tener acceso al código fuente del sistema operativo (SO) libre, si no sería
imposible poder modificarlo.
Es importante no confundir con SO freeware, ya que el freeware significa que es
gratuito, pero no tiene por qué poder modificarse o distribuirse de forma gratuita.
Las ventajas del software libre son muchas, entre ellas se encuentran la
transparencia del código, la libertad de uso y distribución, la colaboración y la
comunidad. El software libre también es más seguro, ya que, al ser transparente,
3
cualquier usuario puede identificar y corregir errores o vulnerabilidades en el
código.
Este tipo de software respeta la libertad del usuario para hacer lo que quiera con el
software, de ahí la palabra libre, un ejemplo de este seria el sistema operativo
LINUX.
Linux
Es el sistema operativo favorito de muchos por la solidez,
confiabilidad y seguridad que ofrece a los usuarios, es de
uso para PC.
Linux, mejor dicho, GNU/Linux, fue desarrollado en 1990
por el informático finlandés Linus Torvalds, que publicó su
código como un denominado código abierto, sin
restricciones para modificarlo y ampliarlo, el cual es
accesible para todas las personas.
Se puede decir que es libre, esto significa que no tenemos que pagar ningún tipo
de licencia, debido a que se distribuye bajo Licencia Pública General (GNU).
ReactOS
La mayoría de los sistemas operativos gratuitos son alternativas a Windows.
ReactOS, en cierto sentido, apunta a ser Windows.
El objetivo es proporcionar a los usuarios los medios para ejecutar el software de
Windows sin tener que comprar un sistema operativo de Microsoft.
El proyecto ha implementado parcialmente muchas de las API de Windows y se ha
asociado con el proyecto Wine para ejecutar programas, aplicaciones y software.
DexOS
Fedora
Se trata de otra de las distribuciones GNU/Linux, de propósito general y basado
solo en software libre. Es promovida por la empresa Red Hat.
4
En sus orígenes se llamaba Fedora Core porque contenía solo los componentes
esenciales del sistema operativo. Para complementar su funcionalidad, se debía
acudir a repositorios.
DESVENTAJAS:
- Imposibilidad de redistribución
5
_b first
Mecalux 3PL
Elfos Software
Elfos Software se especializa en transporte, logística y
distribución. Más de 30 años en el mercado garantizan
el éxito de su utilización.
Elfos Software de Transporte y Logística integra la
gestión de todas las operaciones de la empresa en un
solo programa. Acuerdos con la Fundación Estatal para
la Formación en el Empleo permiten el acceso gratuito a
Elfos y a cursos de formación para empleados.
6
LENGUAJES DE PROGRAMACION
7
Python
Python es el lenguaje de programación más usado actualmente. Es gratuito, de
código abierto, fácil de aprender y aplicar con una sintaxis minimalista. Todo esto
lo hace ideal para los programadores principiantes. Python tiene un amplio uso en
diferentes áreas: se emplea para procesar Big Data, desarrollar videojuegos y
sitios web. Lo usa Google, y la mayor parte del código fuente de YouTube está
escrito en este lenguaje, es usado en prácticamente todos los sectores de la
industria y de la ciencia que puedas imaginar, incluyendo:
Ciencia de datos.
Aprendizaje automático (machine learning).
Desarrollo web.
Enseñanza de computación y programación.
Visión por computadora y procesamiento de imágenes.
Desarrollo de videojuegos.
Medicina y farmacología.
Biología y bioinformática.
Neurociencia y psicología.
Astronomía.
Otras áreas tales como robótica, vehículos autónomos, negocios, meteorología y
desarrollo de interfaz gráfica de usuario.
Java
Es un lenguaje multiplataforma que se usa en diferentes sistemas operativos:
Windows, Linux y MacOS. Su sintaxis está derivada de los lenguajes C y C++.
Es un lenguaje de programación multiplataforma orientado a objetos, que puede
ser usado como una plataforma en sí mismo. Esto significa que un programa
hecho con esta tecnología podrá funcionar en cualquier computador o dispositivo
electrónico que cuente con su máquina virtual. Por este motivo, se emplea en la
elaboración de aplicaciones, webs, sistemas operativos, videojuegos y software de
todo tipo, puede tener muchos usos, entre los que se incluyen el desarrollo de:
Videojuegos. Este lenguaje se usa para desarrollar videojuegos, juegos para
celular y computadores, incluidos aquellos que integran tecnologías como machine
learning y otras relacionadas con la realidad virtual.
8
Webs. Java ofrece todo lo necesario para el desarrollo web, pero también existe
una gran variedad de frameworks que ayudan a crear páginas con este lenguaje,
como Spring MVC, Hibernate, Dropwizard, JavaServer Faces (JSF), Google Web
Toolkit (GWT), Struts y Grails.
Aplicaciones móviles. Java es el lenguaje con el que se programan las
aplicaciones nativas para Android, pero también aquellas para IOS y otros
sistemas operativos.
Aplicaciones para Smart TV. Muchas aplicaciones que emplean las televisiones
inteligentes son desarrolladas con este lenguaje.
Computación en la nube. Al ser un lenguaje multiplataforma, Java es muy útil para
hacer aplicaciones descentralizadas basadas en la nube.
Inteligencia artificial (IA). Este lenguaje también se utiliza en el machine learning,
el lenguaje natural y el aprendizaje profundo, entre otros avances vinculados con
la IA.
Internet of things (IoT). Este es otro de los grandes avances tecnológicos de la
actualidad en los que se usa Java. Entre otras cosas, se destina a la programación
de los sensores en dispositivos de periferia, que pueden conectarse a la red de
manera independiente.
PHP
PHP (Hypertext Preprocessor) está orientado al desarrollo web. Trabaja del lado
Back End facilitando la comunicación entre la interfaz de la página y el servidor. Es
compatible con el código HTML y permite crear aplicaciones y páginas web
interactivas con conexión a grandes bases de datos y tiempo de carga reducido.
Por ejemplo, es usado por Facebook y Wikipedia.
PHP son las siglas en inglés del acrónimo Hypertext Pre-Processor, es decir, pre-
procesador de hipertexto, un lenguaje de programación de propósito general que
se ejecuta en el lado del servidor es un lenguaje interpretado, tiene múltiples
formas de utilizarse, ya que puede utilizarse con scripts, de forma estructurada o
programación en objetos.
PHP se utiliza principalmente para crear páginas web, para crear contenido
dinámico y para trabajar con bases de datos y HTML.
Soporta la mayoría de bases de datos, MySQL, PostgreSQL, SQL Server,
MongoDB… para casi todas existen drivers, y si no es así podemos utilizar el
driver ODBC, que se conecta a cualquier base de datos.
9
C
C es uno de los lenguajes de programación más antiguos y populares. Es eficiente
y rápido, por lo que se utiliza cuando se necesita un alto rendimiento. Por ejemplo,
para crear controladores, sistemas operativos o software para microcontroladores.
Al mismo tiempo, C es bastante difícil de dominar: tiene una sintaxis compleja y
requiere entendimiento de los principios del funcionamiento del hardware; pero si
lo haces, comprenderás el principio del funcionamiento de casi todos los demás
lenguajes.
Son varias las características de C tal y como vemos a continuación.
-Estructura de C - Lenguaje estructurado.
-Programación de nivel medio (beneficiándose de las ventajas de la programación
de alto y bajo nivel).
-No depende del hardware, por lo que se puede migrar a otros sistemas.
-Objetivos generales. No es un lenguaje para una tarea específica, pudiendo
programar tanto un sistema operativo, una hoja de cálculo o un juego.
-Ofrece un control absoluto de todo lo que sucede en el ordenador.
-Los programas son producidos de forma rápida y son bastante potentes.
Swift
Es creado por Apple con la finalidad de diseñar aplicaciones para entornos iOS y
macOS. Gracias al código limpio y gestiones automáticas, Swift permite evitar
errores, ahorrar tiempo y programar con mayor libertad. Swift también se usa para
desarrollar el software de Coursera, LinkedIn y IBM.
Este es un lenguaje rápido que está diseñado para ofrecerle a los desarrolladores
libertad en el momento de programar. Asimismo, es gratis, fácil de usar y tiene la
ventaja de que es de código abierto (también denominado, en inglés, Open
Source). Por todos estos motivos, tienes la posibilidad de tener un mayor control y
adaptarlo a varios de tus proyectos.
Cuenta con conceptos básicos que son necesarios para aprender a programar.
Estos aspectos son los siguientes:
Comandos Variables
Funciones Operadores
Ciclos Tipos
Parámetros Inicialización
Código condicional Corrección de errores
10
COMPILADORES E INTERPRETES
Lenguajes compilados
Los lenguajes compilados son convertidos directamente a código máquina que el
procesador puede ejecutar. Como resultado, suelen ser más rápidos y eficientes al
ejecutarse en comparación con los lenguajes interpretados. También le dan al
desarrollador más control sobre aspectos del hardware, como la gestión de
memoria y el uso del CPU.
Lenguajes interpretados
Estos lenguajes ejecutan línea por línea el programa y a la vez ejecutan cada
comando. Aquí, si el autor decide que quiere usar un distinto aceite de oliva,
podría borrar el anterior y agregar el nuevo. Tu amigo traductor puede decirte ese
cambio a medida que sucede.
INTERPRETE COMPILADOR
Lee línea a línea Lee totalmente el programa
escrito
Traduce mientras lee, Corre solo el proceso para
convirtiendo el programa en transformarlo completo en el
acciones lenguaje maquina
Cualquier programa puede El archivo creado solamente
interpretarlo en cualquier funciona en esa plataforma
plataforma
Estructura: Estructura:
11