Упражнение для начинающих админов
Предлагаю простую задачу для проверки знаний основ IP-протокола. Имеется два физических хоста, соединенных в простейшую сеть. Внутри каждого поднято две виртуальных машины.
Каждый виртуальный компьютер соединен с реальным также в простейшую сеть (для наглядности на второй схеме виртуальные хосты вынесены за рамки реальных).
На всех реальных и виртуальных хостах запущены веб-серверы и имеются браузеры. Операционная система на реальных хостах — Linux, на виртуальных — любая с поддержкой IP-протокола (Linux, Windows, MacOS и т.д.). Требуется настроить сеть так, чтобы с любого хоста был виден любой другой.
Каждый виртуальный компьютер соединен с реальным также в простейшую сеть (для наглядности на второй схеме виртуальные хосты вынесены за рамки реальных).
На всех реальных и виртуальных хостах запущены веб-серверы и имеются браузеры. Операционная система на реальных хостах — Linux, на виртуальных — любая с поддержкой IP-протокола (Linux, Windows, MacOS и т.д.). Требуется настроить сеть так, чтобы с любого хоста был виден любой другой.
"Hello, World!" на ассемблере
Ничего нового не скажу, просто хотелось бы опубликовать простое упражнение, которое выполняли сегодня на курсах: набрать в текстовом редакторе исходник на ассемблере по образцу и откомпилировать. Всё это в среде Linux.
Компилируем, линкуем, запускаем:
Источник.
section .text
global _start ;декларируется для линкера (ld)
_start: ;точка входа
mov edx,len ;длина выводимого сообщения ("Hello, World!")
mov ecx,msg ;указатель на сообщение
mov ebx,1 ;файловый дескриптор (stdout - это тоже какбэ файл)
mov eax,4 ;номер системного вызова (sys_write)
int 0x80 ;обращаемся к ядру
mov eax,1 ;номер системного вызова (sys_exit)
int 0x80 ;обращаемся к ядру
section .data
msg db 'Hello, world!',0xa ;выводимая на экран строка как массив байт
len equ $ - msg ;ее длина (вычисляется в момент компиляции)
Компилируем, линкуем, запускаем:
$ nasm -f elf hello.asm # эта команда создаст файл hello.o - объектный файл в формате ELF
$ ld -s -o hello hello.o # эта команда сформирует исполняемый файл
$ ./hello
Источник.