Упражнение для начинающих админов

Предлагаю простую задачу для проверки знаний основ IP-протокола. Имеется два физических хоста, соединенных в простейшую сеть. Внутри каждого поднято две виртуальных машины.



Каждый виртуальный компьютер соединен с реальным также в простейшую сеть (для наглядности на второй схеме виртуальные хосты вынесены за рамки реальных).



На всех реальных и виртуальных хостах запущены веб-серверы и имеются браузеры. Операционная система на реальных хостах — 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


Источник.