An introduction to FreeBSD for Linux users. History of the development of FreeBSD. What do FreeBSD and Linux have in common?

Many Linux users have already heard about FreeBSD; this system uses a BSD kernel, similar to Linux, since both kernels are based on Unix and support the same POSIX standards. This is the same free, free operating system with open source code, designed to provide maximum safety and flexibility. Most often it is used on servers. The main difference from Linux is that the development of the kernel and software is carried out by one team of developers.

FreeBSD supports many different processor configurations, from servers to microcomputers such as the Raspberry Pi. Like Linux, the system comes with a variety of programs that can be installed very easily using ports. There are more than 20,000 packages available. In this instruction we will look at how to do it FreeBSD installation 11 last, on this moment, versions for computer amd64. We will install the version with the interface command line, it is best suited for servers.

As usual, we first need to download the installation image, and only then can the installation and configuration of freebsd 11 be completed.

The official website has several versions for different architectures, we need amd64 or x86, depending on the amount of RAM you want to use.

We will be installing the latest version of FreeBSD 11.1, but if a newer version comes out later, I think the article will still be relevant for that.

Step 2. Burn the image to disk

Next, you need to burn the resulting image to a disk or flash drive. You can use one of the methods you know for this. For example, on Linux you can use Unetbootin or Etcher, and on Windows there is Rufus.

Next, insert the media into your computer and change BIOS settings so that the boot is performed from the inserted media. To enter the BIOS, during boot press one of the keys: F2, F11, F12 before loading the operating system. Then go to the tab "Boot" and put your medium there first.

Installing FreeBSD 11

Step 3. Bootloader Menu

In the first bootloader menu, you don't need to change any settings. Just click "Enter" to continue working:

Step 4. Select an action

Step 5: Keyboard Layout

Select your keyboard layout, the default is English, in most cases it is better to leave it:

Step 6: Hostname

Enter the hostname for the new system:

Step 7. Select programs

On the next screen you will have to select the system components that you want to install FreeBSD 11 on your computer. To mark a component, click "Space". For the server, it is enough to leave the lib32 and Ports compatibility libraries.

When finished, click "Enter".

Step 8. Automatic disk partitioning

Next you need to partition the disk. You can trust the installer and complete automatic marking or do everything manually. If you have several hard drives that need to be connected, it is better to use ZFS. But we will look at the example of UFS.

Then select your partition table. If your disk is larger than 2 TB or you are using UEFI instead of BIOS, then you are better off using GPT; in all other cases, MBR is preferable. It will even be better if you disable secure boot and use MBR:

In the next window, the system will show you the created partitions. IN MBR case two partitions will be created - the root and the swap partition. Use "Tab" to select a button "Commit" and then click "Enter":

Step 9. Install FreeBSD


Step 10: Superuser Password

When the installation is complete, the system will prompt you to enter a password for the superuser. The installer will ask for the password twice, but it will not be displayed on the screen:

Step 11. Network setup

Then select "Yes" to configure the IPv4 IP address:

You can choose to obtain an address via DHCP or configure it manually:

You can skip setting the IPv6 address:

The last stage of network setup is configuration DNS server ov. It is best to add, in addition to the standard one, a DNS server from Google - 8.8.8.8:

Step 12. Region

Select the geographic region where your computer is located:

Then select your country:

Step 13: Setting the date

At the next step you need to enter current date and time if they were incorrectly received from the network:


Next, you need to select which services will load by default when the system starts. For example, SSH, NTP and Powerd. The latter allows you to automatically adjust the processor frequency depending on the system load.

Step 15. Additional optimizations

These options allow you to enhance the security of your system. Disable access to the kernel buffer for unprivileged users. Disable debugging, Enable /tmp cleaning at boot time, disable Syslogd socket and Sendmail if you don't plan to use a mail server:

Step 16: Other Users

Next, the installer will ask you if you would like to add more users to the system. Select "yes" and enter all necessary information about the user. The safest thing to do is leave all fields as default; to do this, just click "Enter":

You can choose Bourne shell (sh) or tcsh as your shell. When you're done, just type "Yes":

Step 17: Complete installation

On the last screen, a simple action menu will appear in front of you. If you don't want to change anything, just select the first option - "Exit" and answer "no" to restart your computer:


Less than two years have passed since the release of the stable version of FreeBSD 9.0, and the development team is already ready to present the next release of their OS under beautiful room 10. The new FreeBSD is now compiled using Clang, comes bundled with the Unbound DNS server, has its own hypervisor similar to KVM, can work with compressed volumes ZFS and includes several dozen more interesting changes.

Clang instead of GCC

In the summer of 2007, the Free Software Foundation published the final version of the GPLv3 license, to which all the largest free software projects coordinated by the foundation were soon to switch. The FreeBSD community initially did not accept this license, since it was even more restrictive of real software freedom than GPLv2, and subsequently refused to include any GPLv3 software in the base OS distribution, as contrary to the BSD license.

Due to the complete prohibition in the GPLv3 text of the so-called tivoization, that is, the ability to create hardware based on open source software without the ability to install modifications of the same software on it, the FreeBSD developers had to completely abandon the transition to new versions of GCC and remain on GCC 4.2.1. Inclusion in later versions distributed under GPLv3 would automatically create problems for many hardware companies producing hardware based on FreeBSD.

Since it is impossible to maintain an outdated version of GCC indefinitely, FreeBSD needed an ideologically correct compiler, and the opening of the Clang source code in the same year turned out to be just the thing. Unlike GCC, Clang was distributed under the BSD license and, in fact, was not a compiler. It was just a raw frontend that generated intermediate code for LLVM and passed it to the latter for optimization and compilation.

Slowly, but non-stop, Clang was brought to the state of a full-fledged compiler, and by the beginning of 2009, the entire FreeBSD, including the kernel and user utilities, could already be compiled without the help of GCC. In mid-2010, Clang became part of FreeBSD, but for now only as an alternative to GCC. In 2012, the transition to Clang is completed, and it becomes the default compiler.

For the average user, such a transition, of course, will go almost unnoticed: make buildworld will work as before, ports will be built without any problems, and even commands like gcc helloworld.c will work without issues thanks to symlinks. But the real benefit will be for developers, many of whom previously used Clang to run code tests for errors (which Clang informs about in much more detail GCC), but now this tool will be used by default.

You can disable Clang and switch to GCC 4.2.1, which is still included with FreeBSD, by adding the WITH options GCC and WITH GNUCXX to the /etc/src.conf file.

BHyVe or KVM under BSD license

By adhering to the idea of ​​total freedom guaranteed by the BSD license and summed up in one famous quote, “Do what you want with the code, but don’t say it was written by you,” the FreeBSD Foundation has acquired many patrons during its existence. These include such mastodons as Apple, NetApp and Juniper Networks, which regularly open source the code of their developments based on FreeBSD and related technologies (Clang, for example, the brainchild of Apple). The next such development was the BHyVe hypervisor, created by NetApp for use in its equipment. Its code was opened in 2011 and almost immediately included in FreeBSD.

Bsdconfig

Starting with version nine, FreeBSD switched to using the bsdinstall installer, replacing the clunky sysinstall, which the developers themselves called "a confusing piece of code that no one wants to support." The new installer was simple, intelligent, modular and extensible, but was very inferior to sysinstall in terms of post-installation settings. This defect was corrected for the release of the tenth version by including the bsdconfig utility in the kit.

The new configurator, like the installer, is written in a shell, has a modular structure and can be used separately or as part of another application (in in this case bsdinstall). Already now bsconfig allows you to configure the following entities:

  • manage /etc/rc.conf settings (use the sysrc utility);
  • create accounts and user groups in the system and manage them;
  • configure time zones (using tzdialog);
  • configure network interfaces, specify host parameters, used DNS servers and default gateways;
  • create and edit disk partitions;
  • configure the console (fonts, encodings, locale, screen saver, etc.);
  • manage the launch of services.

Other

Of the less noticeable, but significant changes One can name the replacement of the BIND DNS server and related utilities with the Unbound caching recursive server and the utilities from the LDNS kit. Of course, there is no talk of a full-fledged replacement here, but only the requirement to have a caching DNS server and a DNSSEC validator in the basic OS package is met. BIND, used for this purpose for decades, has managed to turn into a leaky, clumsy monster that is simply indecent to include in the basic kit (BIND 10 requires, for example, SQLite 3 and Python 3), but the compact and productive Unbound does this job perfectly. Those who need a full-fledged DNS server can install BIND 10 from ports.

The kit includes the auditdistd daemon, designed to securely send system audit logs over the network to another machine. Previously, audit logs containing detailed information about the operation of the system were saved on local machine, which allowed the burglar to remove them to hide traces of his entry. Now all logs are sent to the auditdistd daemon, which can not only save them to disk, but also transmit them to a remote server using an encrypted connection.

FreeBSD 10 will include new package installation and management tools called pkgng. Unlike the legacy pkg_* utilities, which were just a tool for downloading packages from an FTP server and deploying them to the system, pkgng is a full-fledged modern apt-get-style package manager. It works with network repositories, takes into account dependencies and can correctly update packages, as well as remove packages installed as dependencies when the application is uninstalled. From the user's side, working with the new package manager will look something like this:

# pkg update # pkg install gimp # pkg search firefox

INFO

Word tivoization comes from the name of the TiVo video player released in 1999, which ran on the Linux OS, but did not allow you to change its firmware in any way.

In addition to a properly licensed compiler, FreeBSD also introduced own versions sort and patch utilities.

FreeBSD 10.0 includes support for USB Audio 2.0.



Variant symbolic links

The implementation of variant symbolic links (varsym) was finally ported from DragonFlyBSD to FreeBSD. At its core, varsym is the same symbolic link, in the paths of which variables can be used; when their values ​​change, the path itself automatically changes. The main advantage of such links is the ability to change them in batches using one command.


Switching video modes at the kernel level

In preparation for FreeBSD 10, work was done to integrate KMS (kernel-level video mode switching) into drivers for AMD cards, in addition to KVM support in Intel GPU drivers introduced in 9.1. At this point, KMS technology has virtually no significance for FreeBSD, but it is one of the building blocks used to build the graphics systems of the future. The same Wayland, for example, requires KMS support in the kernel to work.

conclusions

FreeBSD is one of those operating systems that is fun to watch evolve. Unlike Linux and Windows, there is no pursuit of the most efficient technologies, there is no desire to stick everything possible into the OS and include every patch sent into the code. The OS is systematically developing in the right direction, without changing traditions or chasing fashion.

In the field of modern open source software, the word “Linux” has practically become synonymous with the concept of “operating system,” although few people know that in fact it is far from the only Unix-type OS today whose source codes are available to everyone.

According to data obtained from IOSC, in 1999, almost a third of all machines that were connected to the Internet were running on Linux based, while almost 15% used operating system FreeBSD. What kind of system this is, to this day only a few modern PC users know, despite all its advantages and widespread use at one time. It is worth noting the fact that many world leaders in the field of Web services are actively working on this system. In particular, it is worth noting that Yahoo's current system is based on FreeBSD. What this gives to users, they themselves hardly know or even think about, but the owners of the system are confident that this is the right decision.

What is BSD?

BSD stands for Berkeley Software Distribution. That's what it was called back in the day software, which Berkeley distributed in source code. It is worth noting that FreeBSD was originally an addition to the standard UNIX operating system. How was this compared to the current version of the system?

Based on version 4.4 BSD-Lite, several open source operating systems were created. In particular, the composition of these systems included the development of other projects, among which the GNU project deserves special attention.

Structure

The advantages and features that this system has are different from the FreeBSD structure. What is this structure:

  • The kernel, which is designed for careful scheduling of all processes, memory management, working with various devices, as well as support for multiprocessor systems. It should be noted that, unlike the Linux OS, in this case there are several types of BSD kernels, which differ in different features.
  • The C library, which is used as the main system programming interface, is based on code from Berkeley, and not from the GNI project.
  • All kinds of file utilities, compilers, shells, linkers, and other end-user programs, some of them based on GNU code.
  • FreeBSD UNIX- an operating system that includes X Window, which is directly responsible for This system is used in the vast majority of versions of BSD and is officially supported by the X.Org project. This system allows the user to choose from several graphical shells, as well as a number of lightweight window managers.
  • A large number of other system and application programs.

What is real UNIX?

It is worth noting that FreeBSD UNIX itself is an operating system that is always different. And the types of such systems are not clones of each other. They are only descendants of a common ancestor - the traditional UNIX operating system. This fact may be somewhat surprising, especially if we remember that the developer of this operating system has never disclosed the codes of his developments to the general public.

Is BSD UNIX?

Indeed, the UNIX operating system was never open source software, and therefore BSD would definitely not be called a UNIX system, if only because GUI operating systems are different. However, at the same time, the company that developed UNIX actively used other people's developments, and in particular this applies to software that was developed by the CSRG organization.

Initially, BSD distributions, as well as the graphical interface of operating systems, were complexes of user programs, and this situation continued exactly until the company entered into a contract with DARPA, a subordinate. The purpose of this contract is to update the various communication protocols on which it was supported computer network agencies.

During the 1980s, several workstation companies formed, but it is worth noting that many of them purchased licenses to use UNIX rather than try to develop their own software from scratch. In particular, it is worth highlighting the Sun company, which did this and decided, based on version 4.2BSD, to eventually release its own operating system, which was called SunOSTM. When UNIX developer AT&T eventually decided to commercially sell its own operating system, it produced a rather austere implementation, System III, which was eventually followed by the release of System V.

For what reason does this operating system remain unclaimed?

There are a number of reasons why FreeBSD 10 is not in such wide demand today:

  • Developers are most often interested in the quality of their own code, and more in polishing it, rather than in advertising.
  • By and large, the popularity of Linux is a consequence of a number of external factors Regarding this project, in particular, this applies to the media, as well as companies that have decided to form their own business, providing services to users of this operating system.
  • BSD developers are overwhelmingly more experienced than Linux developers, and therefore they pay much less attention to making life easier ordinary users. In other words, FreeBSD setup for the average user is more complex than
  • In 1992, the UNIX developer decided to sue the company BSDI, which supplied the BSD/386 operating system. The main point of accusation in this case was that the OS contained closed code, owned by the plaintiff, and it seems that the case was eventually settled out of court in 1994, but a whole complex of secondary litigation even today poisons the lives of many people.
  • There is an opinion that the BSD projects themselves are different and may even conflict with each other. This opinion is based on events that took place quite a long time ago.

Which is better - Linux or BSD?

Today, most often chosen by installing Apache server, FreeBSD instead of the traditional one found on most other Linux systems. For the average user, the difference between these systems is surprisingly small, since both products are based on UNIX. Both systems are developed on a non-commercial basis.

Who owns BSD?

It is worth noting that there is no specific person or a company that would own BSD development. The development, as well as the subsequent distribution of this system, is carried out by a whole group of highly qualified and at the same time dedicated to the project specialists gathered from all over the world. Certain BSD components are separate open source projects with their own laws and development teams.

What should I choose?

The choice between these operating systems is indeed quite difficult, so there are several tips that will allow you to choose which option is optimal - Linux or FreeBSD. The commands in both cases are quite similar, so the choice can most often be based on the following:

  • If you are already using a certain Open Source OS, then in this case you shouldn’t even change anything.
  • FreeBSD systems can exhibit much better performance, but this rule is not universal.
  • BSD systems have a pretty good reputation, especially when it comes to reliability.
  • BSD projects have a better reputation due to the high quality and completeness of the documentation available.
  • BSD can use the vast majority of Linux executables, while Linux cannot use many BSD executables.

Provides technical support, and also maintains FreeBSD - ports and systems - FreeBSD Mall, Inc.

  • Translation

FreeBSD is good for servers, but not for desktops

FreeBSD has a full-featured low-latency audio subsystem, and kernel mixing allows multiple applications to play sounds simultaneously (with independent volume settings) without additional settings. The default settings include X.org and desktop settings such as KDE or GNOME, it's as simple as choosing a metapackage depending on which one you prefer.

Even if that sounds like too much complexity, PC-BSD is a full-featured desktop system built on top of FreeBSD with an easy-to-use installer and commercial support option.

FreeBSD uses a closed development model

FreeBSD is developed by more than 400 developers around the world, all of whom have full access to the entire system and data of this OS. Third parties also often fix native patches. If you want to see the number of patches that have been fixed, you can look for "Submitted by" in the commit logs.

There are no hard and fast rules for FreeBSD. Decisions are made by people willing to do the work. If disputes do arise, they are resolved by a group of developers who are elected every two years. The mandatory criterion by which developers are selected is the mandatory correction or modification of the project code in previous years.

FreeBSD - Just OS X without a fancy GUI interface

This is the same myth about OS X as it is about FreeBSD: OS X is just FreeBSD with a beautiful graphical interface. The two operating systems do share some code, for example most user space utilities and the OS X C library are derived from versions of FreeBSD. Some of this code evolves at different times and in different directions, for example FreeBSD 9.1 later included a C++ stack and compiler that was originally developed for OS X by Apple employees. There are also radically different details.

The XNU kernel used on OS X includes several subsystems from older versions of FreeBSD, but is largely considered an independent implementation. But still, due to their similarity, products implemented on OS X are much easier to adapt to FreeBSD. For example libdispatch and libc++ were written for OS X and ran on FreeBSD before any other OS.

On FreeBSD everything needs to be compiled from source

The FreeBSD ports collection is a very powerful way to install software, allowing you to customize settings for different third party programs and libraries. However, this is not the only way to install software on FreeBSD. You can always install software from binary packages. The pkgng project added a new package format and package management tool, providing a modern set of tools for binary management.

You can install pkgng from ports (ports-mgmt/pkg) on ​​older versions of FreeBSD. It is enabled by default on FreeBSD 9.1 and later later versions.

FreeBSD is UNIX from the 90s (or 80s)

FreeBSD is a linear descendant of the original UNIX through the Berkeley Software Distribution, but it has continued to be developed separately. Over the past few years, we've seen ZFS become significantly more powerful: support for 10 GB, 40 GB and 100 GB channels, improved audio subsystem, support for 802.11n and other improvements.

This doesn't mean FreeBSD has abandoned its UNIX roots. There are many reasons why UNIX systems have become popular. They include a free system that is easy to port to new platforms, a set of simple tools, and a kernel that works well on a variety of platforms. FreeBSD maintains these traditions.

All the good code in FreeBSD comes from Solaris

FreeBSD imported two high profile features from OpenSolaris: DTrace and ZFS. Both are now well supported by FreeBSD. ZFS in particular is the focus of many FreeBSD developers, including those used by iXsystems, the company that supports FreeNAS development and sells commercial NAS devices based on FreeBSD. The FreeBSD developers are also working closely with the developers of Illumos, one of the open source forks of Solaris, to improve both of these features.

Despite the benefits of ZFS, it's still relative small part common system. ZFS and DTrace make up less than 4% of the code in the kernel, which is equal to almost 10% of the code in the main system. If we assume that only 0.4% of FreeBSD is good, then the system would not have gained such popularity.

FreeBSD has no drivers

This is a problem that all operating systems face - even new ones Windows versions. Most of the time, users don't care about the total number of drivers, only if the drivers are already installed by default. There are some omissions in terms of driver support, but FreeBSD supports a wide range of network cards (including 802.11n chipsets), most sound cards AMD, Intel and GPUs NVIDIA.

Hardware support is the part of the implementation that requires constant improvement, because you can't just tell hardware manufacturers to wait a couple of years for software developers to catch up. Providing support for new devices takes time to set up, although some manufacturers provide drivers themselves, for example Nvidia provides drivers for their GPUs and Intel for the latest ones network controllers. Other vendors provide assistance with FreeBSD driver development, including Broadcom, JMicron, HP, Mellanox, Chelsio, and Solarflare. If you know of devices that are not supported by FreeBSD, it is better to inform the developers and device manufacturers about this. Typically, the best push for a solution from manufacturers is to tell them that their customers can't use their products.

FreeBSD 4.x is the best ever

The 4.x release was the most stable and FreeBSD was proud that they were able to implement such a product. Many users have continued to use it over the years. The 5.x series came out during the transition to multi-threading optimization. This involved replacing a single lock around the kernel with a number of smaller locks that are shared by individual subsystems. This required big piece work, which could not but lead to some errors. 5.x came with two threading implementations, which made things even more complicated. The first two releases in the 5.x series were labeled "developers only", but 5.2 was aimed at a wider audience and did not live up to user expectations FreeBSD systems. A number of large users decided not to change the 4.x series.

The 5.x series was a painful lesson for the project. The 6.x series restored the stability of the 4.x release, and the 7.x series restored the performance of a single processor. During the release of the 8.x series, a number of third-party published benchmarks could be seen that demonstrated FreeBSD to scale better on multiprocessor systems than any other operating system.

All of these releases had a significant number of improvements, such as an improved audio subsystem, ZFS, DTrace, UFS logging and more, but stability and performance remained the key objectives of the FreeBSD system.

Disadvantages of FreeBSD Software

The FreeBSD collection currently contains over 26,000 pieces of software. It's hard to compare this number to other repositories because the programs are split differently (for example, the GCC port on FreeBSD installs programs and libraries that are split between 6-10 packages on Debian, depending on the GCC version), but most things you still get you can find it there. One of the reasons users choose FreeBSD is the fact that the set of ports provides a specific, relatively obscure piece of software it needs while other systems do not.

Most of the software in the ports set runs natively on FreeBSD. Most open source software is OS agnostic and requires minimal modification to compile and run on FreeBSD. There are exceptions such as Valgrind, which require a detailed understanding of the system. Proprietary software may be a bigger problem. Some developers, such as Opera, provide FreeBSD with their source code.

Other software must run in emulation mode. For example, binary files Linuxes can run at the Linux ABI level, where Linux system calls are translated to their FreeBSD equivalents. The only drawback is a slightly increased load of system calls; it is usually difficult to measure the performance difference between executions Linux programs on Linux and on FreeBSD: In some cases, programs run faster on FreeBSD than on Linux due to more efficient implementations of the base calls. For example, a Linux version of a Flash plugin can run using NSPluginWrapper at the Linux ABI level with its own web browser.

A similar solution exists for Windows startup applications.

FreeBSD does not support virtualization

FreeBSD 9 runs as a Xen guest (domU) on both x86 and x86-64, including Amazon EC2. Thanks to work done with Microsoft, NetApp and Citrix, FreeBSD can run on Microsoft's Hyper-V hypervisor. FreeBSD 11 will include Dom0 support for domain management.

FreeBSD also supports VirtualBox as both a guest and a host. You can find guest VirtualBox add-ons, and then the hypervisor itself in a set of ports. FreeBSD 10 also acts as an operating system host for the BSD hypervisor, giving many options for running FreeBSD virtual machines based on FreeBSD.

Finally, if you don't need full virtualization, you can run isolated spaces FreeBSD user(or even Linux userspaces using Linux ABI layers) on a single FreeBSD kernel you can use the container subsystem. The container can even be given their own independent network stack etc., and thus one machine can be used to emulate an entire fleet of machines.

The BSD license encourages mutual cooperation

As long as the developers of the FreeBSD code do not file a copyright claim against you, you are free to use it. But, if you believe the statements of the developers themselves, this will not happen.

Some companies will almost certainly take our code, change it, and never provide anything in return.

Consider, as an example, the case of two major Internet companies: Google and Yahoo! Previously, their internal infrastructure was based on a GPL operating system, while later versions already use FreeBSD. Since Google is not distributing their modified operating system, they can keep GoogleFS private for example. In cases like this, where the software is designed to internal use, By license agreement the company is not required to disclose its improvements to FreeBSD developers.

There are, however, some problems with the connection: for example, you cannot use the library with GPL license, if BSD is already used.

Over the years, quite a few companies have made significant contributions to FreeBSD. And this is caused not only by a sense of altruism, because supporting any project that is rapidly developing is a very expensive pleasure.

Ministry of Education of the Republic of Tajikistan

Tajik Technical University them. ak. M. S. Oshimi

Department of ASOIiU

Course work

on the topic: “FreeBSD operating system”

Dushanbe 2009


annotation

Introduction

What is FreeBSD for?

FreeBSD as a desktop OS

FreeBSD as a server OS

FreeBSD and unrelated unrelated operating systems

FreeBSD and other flavors of UNIX

Software environment

History of FreeBSD development

Interaction with other computers over the network

Coexistence of FreeBSD with other operating systems on the same computer

Hardware environment

Processor types and performance

RAM requirements

Hard disks

SCSI and EIDE drives

General requirements for disk space

Graphics hardware

network hardware

Printers

Assistive devices

Conclusion

Bibliography


annotation

This course work can well serve as an introductory guide to the FreeBSD operating system. But before you start getting acquainted with the system, you need to answer a number of important questions: why install FreeBSD, what software does it run, and what is the best hardware platform to use? This is what will be discussed in this course work. Understanding the operating system will help you avoid costly mistakes, such as attempting to operate the system on inadequate hardware or in an inappropriate environment.

Today there are many different operating systems, ranging from DOS to Windows Vista. It may seem pointless to talk about the FreeBSD operating system given such serious competitors as Mac OS X and Windows Vista. But in the field of computing there are often examples of simple operating systems. Why does this happen? The fact is that there are areas of computer technology in which the use of such “titanic” systems as Windows and Mac OS would simply not be profitable, both technically and materially. That's why systems like FreeBSD are created.

At the same time, FreeBSD is an open source operating system. program code, i.e. the operating system can be upgraded and even in some cases changed radically (except for the main kernel of the system). FreeBSD is also a free distribution system, i.e. you can install it without paying money for a license. It is also worth emphasizing that FreeBSD is a UNIX-like operating system (i.e., a derivative of UNIX).

Introduction

What is FreeBSD? In a nutshell, FreeBSD is a UNIX-like operating system for the i386, IA-64, PC-98, Alpha/AXP and UltraSPARC platforms, developed based on the "4.4 BSD-Lite" operating system with some improvements taken from " "4.4 BSD-Lite 2"" University of California (Berkeley). It is also indirectly based on 386BSD (BSD Net/2, ported to the i386 platform by William Jolitz), although very little of that original code remains. FreeBSD is used by companies, Internet service providers, researchers, computing professionals, students, and everyday users around the world for work, education, and recreation. Why is the system called FreeBSD? The answer is simple:

· It can be used without any payment, even for profit.

· All source code of the operating system is freely available, and minimal restrictions are imposed on its use in other developments (both commercial and non-commercial) and further distribution.

· Anyone who has improvements or corrections can provide their code and it will be (albeit with a couple of reservations) added to the source code of the system.

It should be noted that the word "free" is used here in two senses, one meaning "free" and the other meaning "you can do whatever you want." With the exception of a couple of things you can't do with FreeBSD, like claiming to be its developer, you can really do whatever you want with it.


What is FreeBSD for?

In any business, it is important to find the right means to achieve your goals, and choosing the optimal operating system (OS) is no exception. FreeBSD is very flexible and efficient system, which has many possible applications. But despite this, she does not always turn out to be best choice. That's why you need to first analyze under what circumstances you should install FreeBSD.

FreeBSD is installed either on workstation, or on the server. The advantages and disadvantages of the system in each of these cases are discussed below. Additionally, FreeBSD is a member of the family of operating systems derived from (or modeled after) UNIX. Therefore, it is important to understand how FreeBSD (and UNIX in general) compares to other types of operating systems and where FreeBSD fits into the family of UNIX-like systems.

FreeBSD as a desktop OS

In this course work, the term workstation refers to a computer at which the user solves his daily tasks: edits text, programs, does Web design (plays games...). Sometimes the term is used in more in the narrow sense, implying that the above functions are performed on high-performance computers or systems that are constantly connected to the network. In this case, low-performance or isolated systems are called desktop computers. However, the level computing power is constantly growing, and performance assessment changes accordingly. As for connecting to the network, you need to take into account the huge popularity of dial-up network connections in systems of the lower market segment. Based on this, we will use the term “workstation” to refer to end-user computers.

A computer's ability to act as a workstation depends on two main factors.

Convenient user interface . Modern users got used to having convenient means working with a computer. The key one is the user graphical interface. In FreeBSD, the graphical interface is represented by the X Window System environment (abbreviated as X environment). Its core is quite primitive compared to other similar interfaces, so a number of add-ons have been added to it, such as a window manager (manages window frames) and a set of controls (make it easier for the programmer to display menus, dialog boxes etc.). This modular approach makes X very flexible in terms of interface programming, but there is a downside: the resulting inconsistency between applications often confuses users.

Application Availability. The workstation runs user applications: text editors, processing programs spreadsheets, email clients, compilers, graphic editors and even games. If the operating system cannot offer the user the necessary set of application programs, then it is not suitable for installation on a workstation. The list of applications available on FreeBSD is large, although not as large as we would like. In particular, the popular Microsoft package Office has not been ported to FreeBSD. There are alternatives, such as the OpenOffice.org package, but they are not 100% file compatible. Generally speaking, in some categories (eg games) there is a lack of applications for FreeBSD, while in others there are more than enough.

FreeBSD is quite suitable as a workstation operating system, although in a particular situation the choice depends on the specific needs of the user. FreeBSD's advantages include low cost, ability to run on older hardware, stability, a flexible user interface, and close similarities to other flavors of UNIX. The disadvantages include a less consistent user interface than in Windows or Mac OS, which is somewhat unusual for users of the above systems. As for the availability of application programs, it all depends on the circumstances. If the user is forced to work with applications such as Microsoft Office, which are not available on FreeBSD, they will have to turn to a different operating system. If the user is not tied to specific file formats, then he can choose FreeBSD.

It is worth noting that if you need to install a UNIX-like operating system on a workstation and at the same time intend to run Microsoft Office or another application package that is not available in FreeBSD, then Mac OS X is suitable as a compromise option. This system is based on the Mach microkernel and the whole a number of FreeBSD components. Of course, Mac OS X is not FreeBSD, but thanks to numerous "borrowings" from FreeBSD and other flavors of UNIX, it is much more familiar to UNIX administrators than Windows systems or more. early versions Mac OS. Mac OS X supports many application packages, including Microsoft Office.

If the system is expected to work a large number of users, then you need to pay special attention to the issues of configuring graphical shells. These skins have improved greatly since the mid-90s and are still updated regularly.


FreeBSD as a server OS

Servers are computers with network cards that process requests from other computers. It is servers that ensure the most efficient functioning of networks. Below are examples of servers.

File server allows other computers to read and write server files file system. These servers can be used for distribution freely available files(for example, FreeBSD components), and also as a centralized storage for local network files.

Web server. In a certain sense, it is a type of file server. Typically used to deliver files to a Web client called a browser.