Fundamentos de Programación ACT1
Fundamentos de Programación ACT1
Fundamentos de Programación ACT1
Actividad Uno
Índice
1.7 ¿Cuál es el esquema general de una computadora de acuerdo a la arquitectura Von Neumann?
1.8 Cuál es el esquema general de una computadora?
Memoria externa o secundaria. Reciben este nombre los soportes de almacenamiento masivo, ya
que son capaces de almacenar gran cantidad de información de manera permanente. Algunos
ejemplos de memoria externa son : discos duros, disquetes, cintas DAT, etc.
La memoria interna, principal o central (MC) es la que está situada físicamente dentro de la
carcasa del ordenador.
La memoria RAM es un componente necesario para que se pueda procesar dentro del ordenador,
debe pasar tarde o temprano por la memoria central.
La memoria RAM almacena físicamente los programas y los datos que se tienen que procesar.
Cuando se ejecuta un programa, este pasará del soporte de almacenamiento masivo a memoria
externa en el que está almacenado de forma permanente, a cargarse en memoria principal
(operación de lectura). Una vez cargado el programa en memoria principal, se le denomina
proceso.
-La Unidad Central de Proceso (UCP)
En 1971 nació el primer microprocesador. El 4004 estaba compuesto por 4 de estos chips y otros 2
chips de memoria. Este conjunto de 2.300 transistores que ejecutaba 60.000 operaciones por
segundo se puso a la venta por 200 dólares. La complejidad del diseño de los CPU se incrementó
a medida que varias tecnologías facilitaron la construcción de dispositivos electrónicos más
pequeños y confiables. La primera de esas mejoras vino con el advenimiento del transistor . Con
esta mejora, fueron construidos CPU más complejos y más confiables sobre una o varias tarjetas
de circuito impreso que contenían componentes discretos (individuales).
Durante este período, ganó popularidad un método de fabricar muchos transistores en un espacio
compacto. El circuito integrado (IC) permitió que una gran cantidad de transistores fueran
fabricados en una simple oblea basada en semiconductor o "chip"
-El microprocesador
El microprocesador se distingue del resto de tipos de procesadores, tales como las tarjetas
gráficas, audio o red entre otras, por las siguientes dos características:
Es el chip principal del dispositivo, sin él de nada vale tener otros tipos de procesadores
dedicados.
Suele ser el que más potencia reúne en el dispositivo, ya que el resto de hardware de
procesamiento funciona de forma complementaria.
Luego, teniendo en cuenta estos dos factores se puede decir que el microprocesador funciona
como una especie de cerebro, en el que la cabeza sería la placa madre. Dentro de esta ‘cabeza’
nos encontramos la tarjeta gráfica integrada (ojos), de audio (oído), etc.
Funciones del microprocesador
Dado que las unidades de procesamiento son esenciales para el correcto funcionamiento de
cualquier dispositivo, ya sea smartphone, televisión, PC, consola y similares, las funciones que
lleva a cabo también lo son:
CODIFICACION
COMPILACION
LIGAMENTO
CARGA
RELOCALIZACION
EJECUCION
Ligamento: Una vez verificado que no existen errores se procede a unificar un solo proceso previo
a su carga.
Relocalización: Relocaliza el código fuente antes de se ejecución por si existe algún cambio dentro
de la carga.
Ejecución: Aquí se inicia la carga del programa o de cualquier archivo ejecutable. Es decir, la
ejecución es el proceso mediante el cual una computadora lleva a cabo las instrucciones de un
programa informático.
El modelo de Von Neuman está formado por una CPU (Central Processing Unit) o Unidad Central
de Procesamiento que a su vez contiene una ALU (Arithmetic Logic Unit) o Unidad Aritmética
Lógica y los registros del procesador, una unidad de control y un contador de programa. También
posee una memoria principal y un mecanismo de entrada y salida.
Memoria principal: Es un conjunto de celdas del mismo tamaño que están asociadas con un
número denominado dirección de memoria y sirve para almacenar datos de manera temporal para
ser utilizados posteriormente.
Sistema de entrada y salida: Genera las señales necesarias para transferir datos y códigos desde
y hacia periféricos. Un periférico es aquel dispositivo que es capaz de interactuar con los
elementos externos ya sea emitiendo información o recibiéndola.
Dispositivo de entrada
Dispositivos de almacenamiento
Dispositivos de salida
La Red de comunicaciones, denominada bus, que enlaza todos los elementos del sistema y
conecta a éste con el mundo exterior. Hardware: Son todos aquellos componentes físicos de una
computadora, todo lo visible y tangible.
Software: Es el conjunto de instrucciones que las computadoras emplean para manipular datos. Sin
el software, la computadora sería un conjunto de medios sin utilizar. Al cargar los programas en
una computadora, la máquina actuará como si hubiera recibido una educación instantánea; de
pronto "sabe" cómo pensar y cómo operar. El Software es un conjunto de programas, documentos,
procedimientos, y rutinas asociados con la operación de un sistema de còmputo. Distinguiéndose
de los componentes físicos llamados hardware. Comúnmente a los programas de computación se
les llama software; el software asegura que el programa o sistema cumpla por completo con sus
objetivos, opera con eficiencia, esta adecuadamente documentado, y suficientemente sencillo de
operar. Es simplemente el conjunto de instrucciones individuales que se le proporciona al
microprocesador para que pueda procesar los datos y generar los resultados esperados. El
hardware por si solo no puede hacer nada, pues es necesario que exista el software, que es el
conjunto de instrucciones que hacen funcionar al hardware.
-Sistemas operativos
El sistema operativo es el software que coordina y dirige todos los servicios y aplicaciones que
utiliza el usuario en una computadora, por eso es el más importante y fundamental. Se trata
de programas que permiten y regulan los aspectos más básicos del sistema. Los sistemas
operativos más utilizados son Windows, Linux, OS/2 y DOS.
Los sistemas operativos, también llamados núcleos o kernels, suelen ejecutarse de manera
privilegiada respecto al resto del software, sin permitir que un programa cualquiera realice cambios
de importancia sobre él que puedan comprometer su funcionamiento.
El sistema operativo es el protocolo básico de operatividad del computador, que coordina todas sus
demás funciones de comunicaciones, de procesamiento, de interfaz con el usuario.
Si bien a partir de los ochenta ya habían comenzado a surgir algunos muy conocidos, a partir de
los noventa estos programas comenzaron a ser más flexibles y fuertes. Uno de los grandes hitos
fue el lanzamiento de Windows 95.
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.
-Windows es un sistema operativo propietario, desarrollado por Microsoft. Este sistema es muy
utilizado hoy, sobre todo para computadores de escritorio. Cuenta con variantes de servidor,
embebidos, supercomputadoras e incluso teléfonos móviles; pero es mayormente conocido por
los desktops y laptops que usamos en nuestro día a día. Las versiones más recientes de Windows,
han apostado fuertemente por el framework .Net así como por ofrecer compatibilidad con otros
ambientes de computo, Linux incluido.
-macOS es un sistema operativo propietario, desarrollado por Apple. A diferencia de iOS, macOS
jamás ha dominado al mercado, pero siempre ha sido muy querido entre usuarios del ambiente de
diseño y en general es percibido como un producto premium. Hoy en día, macOS ofrece una
arquitectura basada en Unix, con enorme compatibilidad con las herramientas del mundo Linux y
BSD. Esto vuelve a la plataforma un maravilloso ambiente de programación. Otro concepto curioso
de macOS es el uso de bundles que es una versión tempranera de las modernas técnicas de
compartimientos estilo Docker.
-Ubuntu es lo que conocemos como «distribución GNU/Linux» nombre por el que entendemos que
es un sistema operativo armado en torno al kernel Linux, junto con las herramientas GNU y
completado todo con una miríada de piezas de software venidas del mundo de software libre. La
base de Ubuntu es la distribución Debian, y a su vez ha sido utilizada para generar nuevos
proyectos, como Kubuntu o Lubuntu, así como mi favorita: Elementary OS.
TREE CARPETA Te muestra el árbol de directorios de una carpeta concreta que le digas
HELP Muestra todos los comandos que hay disponibles, poniendo en cada uno una breve
descripción en inglés.
ROBOCOPY Una función mejorada más rápida y eficiente, y que permite hacer acciones como
cancelar o retomar la copia. Muestra también un indicador de progreso, lo que lo
convierte en una buena alternativa para copiar archivos pesados.
MOVE ARCHIVO Mueve el archivo concreto que quieras del lugar o carpeta en el que está a otra
DESTINO dirección que le digas. Es como copiar, pero sin dejar el archivo en su ubicación
original.
TYPE Te permite crear un archivo desde la propia ventana de comandos. Esto quiere
ARCHIVO.EXTENSION decir que no sólo vas a crear un archivo, sino que también podrás escribir el texto
que quieras en su interior.
FORMAT Mucho cuidado con este último comando básico, porque sirve para formatear la
unidad
-Comando Linux
Un comando Linux es un programa o utilidad que se ejecuta en la CLI, una consola que
interactúa con el sistema a través de textos y procesos. Es similar a la aplicación Símbolo del
Sistema en Windows.
Los comandos de Linux se ejecutan en el Terminal pulsando Enter al final de la línea. Puedes
ejecutar comandos para realizar diversas tareas, desde la instalación de paquetes hasta la
gestión de usuarios y la manipulación de archivos.
La sintaxis general de un comando Linux es la siguiente:
Nombredelcomando [opcion(es)] [parametro(s)]
Los comandos Linux pueden contener una opción o un parámetro. En algunos casos, pueden
ejecutarse sin ellos. Estas son las tres partes más comunes de un comando:
1. Comando sudo
Abreviatura de superusuario do, sudo es uno de los comandos básicos más populares de
Linux que te permite realizar tareas que requieren permisos administrativos o de root.
Al utilizar sudo, el sistema pedirá a los usuarios que se autentiquen con una contraseña. A
continuación, el sistema Linux registrará una marca de tiempo como seguimiento. Por defecto,
cada usuario root puede ejecutar comandos sudo durante 15 minutos por sesión.
Si intentas ejecutar sudo en la línea de comandos sin autenticarte, el sistema registrará la
actividad como un evento de seguridad.
Esta es la sintaxis general:
sudo (comando)
También puedes añadir una opción, por ejemplo:
2. Comando pwd
Utiliza el comando pwd para encontrar la ruta de tu directorio de trabajo actual. Simplemente
introduciendo pwd te devolverá la ruta actual completa, una ruta de todos los directorios que
comienza con una barra oblicua (/). Por ejemplo, /inicio/nombredeusuario.
El comando pwd utiliza la siguiente sintaxis:
pwd [opción]
Tiene dos opciones aceptables:
Para navegar por los archivos y directorios de Linux, usa el comando cd. Te pedirá la ruta
completa o el nombre del directorio, dependiendo del directorio de trabajo actual en el que te
encuentres.
Supongamos que estás en /home/nombredeusuario/Documentos y deseas ir a Fotos, un
subdirectorio de Documentos. Para hacerlo, simplemente escribe el siguiente comando:
cd Fotos.
Otro escenario es si deseas ir a un directorio completamente nuevo, por
ejemplo, /home/nombredeusuario/Peliculas. En este caso, debes escribir cd seguido de la
ruta absoluta del directorio:
cd /home/nombredeusuario/Peliculas.
Hay algunos atajos para ayudarte a navegar rápidamente:
4. Comando ls
El comando ls se usa para ver el contenido de un directorio. Por defecto, este comando
mostrará el contenido de tu directorio de trabajo actual.
Si deseas ver el contenido de otros directorios, escribe ls y luego la ruta del directorio. Por
ejemplo, para ver el contenido de la carpeta Documentos ingresa:
ls/inicio/nombredeusuario/Documentos
Hay variaciones que puedes usar con el comando ls:
ls -al listará los archivos y directorios con información detallada como los permisos, el
tamaño, el propietario, etc.
5. Comando cat
cat (abreviatura de concatenate, en inglés) es uno de los comandos más utilizados en Linux.
Este lista, combina y escribe el contenido de los archivos en la salida estándar. Para ejecutar
este comando, escribe cat seguido del nombre del archivo y su extensión. Por ejemplo:
cat archivo.txt.
Aquí hay otras formas de usar el comando cat :
cat nombredearchivo1.txt
nombredearchivo2.txt>nombredearchivo3.txt fusiona nombrearchivo1.txt y nombr
earchivo2.txt y almacena el resultado en nombrearchivo3.txt.
6. Comando cp
Utiliza el comando cp para copiar archivos o directorios y su contenido. Echa un vistazo a los
siguientes casos de uso.
Para copiar un archivo del directorio actual a otro, introduce cp seguido del nombre del
archivo y del directorio de destino. Por ejemplo:
cp nombrearchivo.txt /inicio/nombredeusuario/Documentos
Para copiar archivos en un directorio, introduce los nombres de los archivos seguidos del
directorio de destino:
cp nombrearchivo1.txt nombrearchivo2.txt nombrearchivo3.txt
/inicio/nombredeusuario/Documentos
Para copiar el contenido de un fichero a otro nuevo en el mismo directorio,
introduce cp seguido del fichero de origen y del fichero de destino:
cp nombrearchivo1.txt nombrearchivo2.txt
Para copiar un directorio completo, pasa el indicador -R antes de escribir el directorio de
origen, seguido del directorio de destino:
cp -R /inicio/nombredeusuario/Documentos
/inicio/nombredeusuario/Documentos_backup
7. Comando mv
El uso principal del comando mv es mover archivos, aunque también se puede usar para
cambiar el nombre de los archivos. Además, no produce ninguna salida al ejecutarlo.
Simplemente escribe mv seguido del nombre del archivo y el directorio de destino. Por
ejemplo, si quieres mover nombredearchivo.txt al
directorio /inicio/nombredeusuario/Documentos:
mv nombrearchivo.txt /inicio/nombredeusuario/Documentos.
También puedes utilizar el comando mv para renombrar un archivo:
mv nombre_archivo_antiguo.txt nombre_archivo_nuevo.txt
8. Comando mkdir
Utiliza el comando mkdir para crear uno o varios directorios a la vez y establecer los
permisos para cada uno de ellos. El usuario que ejecuta este comando debe tener el privilegio
de crear una nueva carpeta en el directorio principal o puede recibir un error de permiso
denegado.
Esta es la sintaxis básica:
mkdir [opción] nombre_directorio
Por ejemplo, si deseas crear un directorio llamado Música:
mkdir Musica
Para crear un nuevo directorio llamado Canciones dentro de Música, utiliza este comando:
mkdir Musica/Canciones
El comando mkdir acepta muchas opciones, como:
-p o -parents crean un directorio entre dos carpetas existentes. Por ejemplo, mkdir -p
Musica/2020/Canciones creará el nuevo directorio «2020».
-m establece los permisos del archivo. Por ejemplo, para crear un directorio con todos
los permisos de lectura, escritura y ejecución para todos los usuarios, introduce mkdir
-m777 nombre_directorio.
Para eliminar permanentemente un directorio vacío, utiliza el comando rmdir . Recuerda que
el usuario que ejecuta este comando debe tener privilegios sudo en el directorio padre.
Por ejemplo, si deseas eliminar un subdirectorio vacío llamado personal1 y su carpeta
principal mydir:
rmdir -p mydir/personal1
10. Comando rm
El comando touch permite crear un archivo vacío o generar y modificar una marca de tiempo
en la línea de comandos de Linux.
Por ejemplo, introduce el siguiente comando para crear un archivo HTML llamado Web en el
directorio Documentos:
touch /inicio/nombredeusuario/Documentos/Web.html
12. Comando locate
Utiliza el comando find para buscar archivos dentro de un directorio específico y realizar
operaciones posteriores. Ésta es la sintaxis general:
find [opción] [ruta] [expresión]
Por ejemplo, quieres buscar un archivo llamado notas.txt dentro del directorio inicio y sus
subcarpetas:
find /inicio -name notas.txt
Aquí tienes otras variaciones al utilizar find:
15. Comando df
Utiliza el comando df para informar sobre el uso del espacio en disco del sistema, mostrado
en porcentaje y en kilobytes (KB). Esta es la sintaxis general:
df [opciones] [archivo]
Por ejemplo, introduce el siguiente comando si deseas ver el uso del espacio en disco del
sistema del directorio actual en un formato legible para personas:
df -h
Estas son algunas variaciones:
16. Comando du
Si quieres comprobar cuánto espacio ocupa un archivo o un directorio, utiliza el comando du.
Gracias a este comando puedes identificar qué parte del sistema utiliza excesivamente el
almacenamiento.
Recuerda que debes especificar la ruta del directorio cuando utilices el comando du. Por
ejemplo, para comprobar /inicio/usuario/Documentos introduce:
du /inicio/usuario/Documentos
Añadiendo una bandera al comando du se modificará la operación, como por ejemplo:
El comando head permite ver las diez primeras líneas de un texto. Añadiendo una opción se
puede cambiar el número de líneas mostradas. El comando head también se utiliza para dar
salida a datos canalizados a la CLI.
Esta es la sintaxis general:
head [opción] [archivo]
Por ejemplo, si quieres ver las diez primeras líneas de nota.txt, situado en el directorio actual:
head nota.txt
A continuación te indicamos algunas opciones que puedes añadir:
El comando tail muestra las diez últimas líneas de un archivo. Permite a los usuarios
comprobar si un archivo tiene datos nuevos o leer mensajes de error.
Este es el formato general:
tail [opción] [archivo]
Por ejemplo, si deseas ver las diez últimas líneas del archivo colores.txt:
tail -n colores.txt
Abreviatura de diferencia, el comando diff compara dos contenidos de un archivo línea por
línea. Tras analizarlos, mostrará las partes que no coincidan.
Los programadores suelen utilizar el comando diff para modificar un programa en lugar de
reescribir todo el código fuente.
Este es el formato general:
diff [opción] archivo1 archivo2
Por ejemplo, si deseas comparar dos archivos de texto: nota.txt y actualización_nota.txt:
diff nota.txt actualizacion_nota.txt
Aquí algunas opciones aceptables para añadir:
El comando tar archiva múltiples ficheros en un fichero TAR, un formato común de Linux
similar a ZIP, con compresión opcional.
Esta es la sintaxis básica:
tar [opciones] [fichero_archivo] [fichero o directorio a archivar]
Por ejemplo, si deseas crear un nuevo archivo TAR llamado nuevoarchivo.tar en el
directorio /Inicio/nombredeusuario/Documentos:
tar -cvf nuevoarchivo.tar /inicio/nombredeusuario/Documentos
El comando tar acepta muchas opciones, como:
-x extrae un archivo.