Лекция: Языки программирования и утилиты

Linux обеспечивает полную UNIX-среду программирования, включая все стандартные библиотеки, программный инструментарий, компиляторы, отладчики, которые можно встретить и в других UNIX-системах.

В мире UNIX большинство приложений и системных программ делаются на Си или Си++.

Стандартным компилятором для Си и Си++ в Linux служит GNU gcc, который является современным компилятором, поддерживающим много опций. Он способен компилировать Си так же, как Objective-C, другие объектно-ориентированные диалекты Си.

Кроме Си и Си++ многие другие компиляторы и интерпретаторы были перенесены в Linux, такие как Smalltalk, FORTRAN, Pascal, LISP, Scheme и Ada, Perl иshell-подобный командный язык, включающий поддержку разработки простейших приложений в “X Window”.

В Linux был перенесен продвинутый отладчик gdb, позволяющий пошагово выполнять программы в поисках ошибок или анализировать крах программ с помощью дампов памяти.

Gprof — утилита профилирования, показывающая, где ваша программа при выполнении тратит больше времени.

Текстовый редактор Emacs позволяет осуществлять интерактивное редактирование. Другие инструменты, включая GNU make и imake используются для управления компиляцией больших программ; RCS — система для защиты и сопровождения исходных текстов. Linux содержит динамические библиотеки (DLL), которые позволяют экономить место, поскольку они вызываются только во время выполнения.

Эти библиотеки позволяют также прикладному программисту переопределять функции, включая свои коды.

Linux идеален для создания UNIX-приложений. Поддерживаются различные стандарты вроде POSIX.1, позволяющие легко переносить программы, написанные для Linux, на другие системы.

Студенты, изучающие компьютерные науки, могут использовать Linux для обучения программированию в UNIX и изучения таких аспектов, как архитектура ядра.

Система “X Window”

Система “X Window” (или кратко просто Х) — стандартный графический интерфейс для UNIX-машин. Это мощная среда, поддерживающая много приложений.

Используя “X Window”, пользователь может одновременно иметь на экране несколько окон, при этом каждое имеет независимый login.

Часто используется мышь, хотя она необязательна. Было написано много специфических Х-приложений, таких как игры, графические утилиты, инструментарий для программирования и документирования и т.д.

С Linux и X компьютер — замечательная рабочая станция. Используя протоколы TCP/IP, можем смотреть у себя X-приложения, выполняемые на других машинах.

Система “X Window” была первоначально создана в MIT и свободно распространялась. Существует много и коммерческих приложений, расширяющих возможности “X Window”.

Для Linux есть система “X Window”, известная как XFree86; версия X11R5 свободно распространяется для UNIX-систем типа Linux.

XFree86поддерживает широкий спектр видео устройств, включая VGA, SVGA, различные видео адаптеры с ускорителями.

Это полный комплект “X Window”, содержащий сам сервер, много прикладных программ и утилит, программные библиотеки и документацию.

Стандартные Х-приложения включают xterm (эмулятор терминала, используемый в большинстве текстовых приложений в X Window);

xdm (X-менеджер, обслуживающий login);

xclock (представление простых часов);

xman (X-ориентированное руководство по Linux) и т.д.

Трудно перечислить все приложения X, доступные в Linux, но базовый комплект XFree86 включает “стандартные” приложения, содержащиеся в исходной версии MIT.

Но доступно и многое другое, теоретически, все написанное для “X Window” должно прямо компилироваться и для Linux. Интерфейс “X Window” в большой степени контролируется менеджером окон (Window manager).

Эта программа отвечает за размещение окон, изменение их размеров, размещение иконок, перемещение окон, вид оконных рамок и т.д.

Стандартный дистрибутив XFree86включает twm, классический оконный менеджер MIT, но также имеются и более современные менеджеры, такие какOpen Look Virtual Window Manager (olvwm).

Среди пользователей Linuxпопулярен fvwm. Это небольшой менеджер окон, требующий в два с лишним раза меньше памяти, чем twm. Он обеспечивает трехмерное представление обрамления окон и виртуальный рабочий стол (desktop) — если пользователь подвигает мышь к краю экрана, все изображение смещается, будто дисплей имеет большие размеры, чем на самом деле. Fvwm более традиционен и позволяет реализовать все функции доступа как с клавиатуры, так и от мыши.

Многие дистрибутивы Linux содержат fvwm, как стандартный менеджер окон.Дистрибутив XFree86 содержит программные библиотеки и включает файлы для тех программистов, кто желает создавать приложения в X.

Поддерживаются различные множества widget (графических представлений), такие как Athena, Open Look и Xaw3D. Включены все стандартные фонты, битмэпы и документация. Поддерживается также PEX (программный интерфейс для трехмерной графики). Многие пользующиеся Х используют и имеющиеся в Motif наборы widget. Несколько компаний продают одно- и многопользовательские лицензии бинарников Motif в Linux. Поскольку Motif сам по себе сравнительно дорог, немногие владельцы Linux имеют Motif.

Тем не менее, бинарники, статически связанные с библиотечными программами Motif, могут свободно распространяться.

Главные ограничения использования “X Window” происходят от требований к аппаратуре. Для более комфортного режима желательно не менее 8 Мбайт.

Желательно и процессор побыстрее, но прежде всего необходима память. Для действительно хорошего результата лучше иметь карту с акселератором

Работа в сети

Linux поддерживает два базовых сетевых протокола UNIX:

TCP/IP и UUCP. TCP/IP (Transmission Control Protocol/Internet Protocol) есть множество сетевых парадигм, позволяющих системам по всему миру связываться по единой сети, известной как Internet.

С помощью Linux, TCP/IP и подключения к сети вы можете общаться с пользователями и машинами всего Internet через электронную почту, новости USENET, передачу файлов FTP и т.п. В Internet много машин под Linux.

Большинство сетей TCP/IP используют Ethernet, как физическое транспортное средство.

Linux поддерживает многие популярные карты Ethernet и интерфейсы. Однако, поскольку не у всех есть дома плата Ethernet, Linux также поддерживает SLIP (Serial Line Internet Protocol), позволяющий связываться с Internet через модем.

Для использования SLIP вы должны иметь доступ к SLIP-серверу, машине связанной с сетью и, обеспечивающей вам вход в Internet.

Многие фирмы и университеты предоставляют SLIP-сервис. Если ваш Linux имеет Ethernet и модем, вы можете сконфигурировать систему как SLIP-сервер для других хостов. NFS (Network File System) позволяет вам использовать файлы совместно с другими машинами сети. FTP (File Transfer Protocol) позволяет передавать файлы между машинами.

Другие приложения включают sendmail — систему передачи и получения электронной почты с использованием протокола SMTP; базирующуюся на протоколе NNTP, системе электронных новостей типа C-News и INN;

telnet, rlogin и rsh — позволяют войти и выполнить команды на других машинах сети; finger — позволяет получать информацию о других пользователях Internet. Фигурально выражаясь — существуют тонны различных приложений для протокола TCP/IP. Полный спектр различных программ для чтения почты и новостей существует в Linux, это, например: elm, pine, rn, nn и tin. Система обеспечивает стандартный программный интерфейс, поэтому любая программа, использующая TCP/IP, может быть легко перенесена на Linux. X-сервер Linux также поддерживает TCP/IP, позволяя отображать выполняемые на других машинах прикладные программы на вашем дисплее. UUCP (UNIX-to-UNIX Copy) — старейший механизм передачи файлов, электронной почты и электронных новостей между UNIX-машинами. Классически, UUCP-машины связываются друг с другом по телефонным линиям через модем, но UUCP может использовать в качестве транспортного средства и связь по TCP/IP.

Если у вас нет доступа по TCP/IP или SLIP-сервера, вы можете сконфигурировать свою систему так, чтобы посылать и получать файлы и электронную почту с использованием UUCP.

еще рефераты
Еще работы по информатике