Search
Write a publication
Pull to refresh
17
0
Dmitriy Q @Krotesk

использователь

Send message

Путь пакета через ядро Linux

Level of difficultyMedium
Reading time13 min
Views11K

Аннотация - Сетевые стеки являются основой коммуникации и обмена информацией. В данной статье исследуется сетевой стек TCP/IPv4 и UDP/IPv4 в Linux, наиболее распространенной серверной ОС. Мы описываем трассировку наиболее важных сетевых функций ядра Linux 5.10.8. Хотя документация по сетевому коду Linux существует, она часто устарела или охватывает только отдельные аспекты, такие как уровень IP или TCP. Мы рассматриваем эту проблему комплексно, охватывая путь пакета на выходе и входе через сетевой стек Linux. Кроме того, мы освещаем тонкости реализации и показываем, как ядро Linux реализует сетевые протоколы. Наша статья может послужить основой для оптимизации производительности, анализа безопасности, наблюдения за сетью или отладки.

Читать далее

COBOL: все еще в строю спустя столько лет

Level of difficultyEasy
Reading time11 min
Views6.6K

Он появился еще в 1959 году и, возможно, выглядит странно по сравнению с современными языками, но COBOL по-прежнему способствует развитию бизнеса, сообщает Майк Бедфорд.

Вслед за недавним обзором нескольких классических языков программирования - большинство из них в значительной степени забыты или являются несколько странными - в прошлом месяце мы погружались в изучение языка Fortran. Несмотря на свой возраст, этот язык по-прежнему хорошо знаком программистам, и, хотя в своем первоначальном виде он был примитивным, назвать его необычным было бы неправильно. На самом деле, он оказал влияние на разработку некоторых наиболее популярных сегодня языков. Мало того, он и сегодня играет важную роль. Однако Fortran не одинок в этом отношении.

Здесь мы рассмотрим еще один древний язык, продолжающий играть ключевую роль во многих областях. И чтобы проиллюстрировать, что этот язык действительно принадлежит к давно ушедшей эпохе, достаточно назвать имена производителей компьютеров, участвовавших в его совместной разработке. Конечно, свою роль сыграла компания IBM, но и Burroughs, Minneapolis-Honeywell, RCA, Sperry-Rand, Sylvania - все эти компании сейчас уже мало кто помнит. Этот язык называется COBOL - COmmon Business Oriented Language - и хотя он всего на два года моложе Fortran, впервые увидевшего свет в 1959 году, в большинстве других аспектов он не может быть более разным.

Читать далее

FORTRAN — первый язык высокого уровня

Level of difficultyEasy
Reading time11 min
Views8.9K

Возможно, это был первый в мире язык высокого уровня, но Майк Бедфорд обнаруживает, что FORTRAN жив и процветает по сей день.

Когда FORTRAN только зарождался, языков высокого уровня практически не существовало, и уж тем более не было таких, которые получили бы широкую известность. Сейчас, когда такие языки стали практически универсальными, необходимо помнить, что языки высокого уровня были созданы для того, чтобы облегчить работу программиста. Раньше код писался на "родных" инструкциях компьютера, которые определялись его аппаратной частью. С помощью языка высокого уровня стало возможным использовать инструкции, приближенные к человеческим. Кроме того, программы можно было переносить с одного компьютера на другой, хотя при разработке FORTRAN это не учитывалось, поскольку язык изначально создавался специально для компьютера IBM 704.

Читать далее

LISP — исследование оригинального языка ИИ

Level of difficultyEasy
Reading time12 min
Views5K

Откройте для себя один из первых языков программирования, который, по мнению Майка Бедфорда, не мог быть более непохожим на своих ранних собратьев.

В предыдущей части нашей серии, посвященной классическим языкам программирования, мы рассмотрели ALGOL, а в этом месяце мы углубились в изучение другого архаичного языка - LISP. Однако то, что оба они появились в 1950-х годах, - это практически единственное, что их объединяет; в большинстве других аспектов они не могут быть более разными. Скорее всего, практически все языки, которыми вы когда-либо пользовались, относятся к типу императивных. LISP же является декларативным языком. Проще говоря, программирование на императивном языке предполагает определение набора операций, которые при последовательном выполнении обеспечивают требуемую функциональность. требуемую функциональность. Тот факт, что существует альтернатива, может вызвать удивление, но в декларативном языке конечный результат определен, а система сама решает, как достичь поставленной цели.

Эти два подхода можно сравнить с инструкциями, прилагаемыми к мебели для самостоятельной сборки. При императивном подходе инструкция представляет собой подробный перечень указаний, а при декларативном методе вам просто показывают картинку собранной мебели. На самом деле, это не первое знакомство с декларативным программированием за последние месяцы. Чуть ранее мы познакомились с языком Prolog, который практически канул в Лету в 1980-х годах, а затем вновь стал популярным благодаря Al-революции.

Читать далее

PL/I — многогранный язык

Level of difficultyEasy
Reading time12 min
Views4.3K

Майк Бедфорд раскрывает тайны PL/I - языка, который, как надеялись в IBM, заменит FORTRAN и COBOL.

Названия языков программирования варьируются от банальных до точно описательных, от совершенно бессмысленных до, как в случае с темой этого месяца, откровенно неточных. Речь идет о языке PL/I. Буква I - это римская цифра, обозначающая единицу, что объясняет, почему он иногда неправильно указывается как PL/1. Это расшифровывается как Programming Language One, но это, конечно, не так. На самом деле, два языка, которые мы рассматривали ранее в этой серии, предшествовали ему, как и некоторые другие.

Чтобы попасть в наш список классических языков, язык должен существовать, мягко говоря, долго, и PL/I, безусловно, соответствует этому критерию: он был выпущен в 1964 году. Он был разработан компанией IBM для использования на мэйнфреймах System/360 и впервые был применен в лаборатории Hursley Laboratories в Великобритании в рамках программы разработки 360.

Чтобы прояснить ситуацию, рассмотрим основные языки, продвигаемые ранее компанией IBM в начале 60-х годов. FORTRAN использовался для научных приложений, а COBOL - для бизнес-приложений. Будучи гораздо более простым, FORTRAN предлагал те же типы инструкций, предоставляемых современными обычными языками, но COBOL был совершенно другим. Поскольку он был ориентирован на работу с данными в коммерческих задачах, он стал первым языком, позволяющим определять иерархические структуры данных и впоследствии манипулировать ими. Целью создания PL/I было объединить возможности этих двух языков и тем самым создать решение, удовлетворяющее как научным или техническим, так и коммерческим потребностям.

Читать далее

Заметки про motd

Reading time3 min
Views28K

motd — message of the day, сообщение отображаемое при входе в Linux-систему (на примере Ubuntu).


Раньше файл, содержащий приветствие располагался в /etc/motd, сейчас же это набор скриптов, располагающихся в каталоге /etc/update-motd.d/:

Читать дальше →

Information

Rating
Does not participate
Location
Орск, Оренбургская обл., Россия
Registered
Activity

Specialization

Technical Support Engineer, Администратор телефонии
Middle
Asterisk
Linux
MySQL
Python
GitHub Actions