FreeBSD kernel profile generic format is simple, and each line includes a keyword and several parameters. The detailed list of options related to the platform and the device can be found in the Notes file in the same directory, and the platform-independent options can be obtained in / usr / src / sys / conf / notes.
The following is a detailed introduction to the all line parameters as an example.
Machine i386 # machine architecture can only be one of Alpha, AMD64, I386, IA64, PC98, PowerPC or SPARC64
CPU I486_CPU # CPU type, preferably only specify the CPU used
CPU I586_CPU
CPU I686_CPU
Ident Generic # kernel name, display at startup
#HINT "generic.hints" # will be used to configure the device-driven option static compile into the kernel
MakeOptions debug = -g # Reserved debugging information
#options sched_ule # Scheduler, ULED design for SMP, 4BSD is a traditional scheduler
Options SCHED_4BSD
Options preemption # sewer schedule
Options PAE # supports more than 4GB virtual addresses
Options inet # ipv4 support
Options inet6 # ipv6 support
Options FFS # most basic hard disk file system
Options SoftUpdates # Enable Soft Updates support in the kernel, increase the disk write speed, need to be enabled on each disk
Options ufs_acl # Enable access control list in the kernel
Options ufs_dirhash # A disk operation accelerated on a large directory by using additional memory
Options MD_ROOT # Opens the support of the root device based on memory-based virtual disks
Options nfsclient # network file system
Options NFSServer
Options NFS_ROOT
Options MSDOSFS # MS-DOS file system
Options CD9660 # ISO 9660 file system for CD-ROM
Options procfs # process file system, high releases are generally no longer needed
Options pseudofs # is used to support process file systems
Options gemo_gpt # provides the ability to use a large number of partitions on the disk
Options compat_43 # Make the system compatible with 4.3BSD, it is recommended to keep
Options compat_freebsd4 # Supports compiled programs under the old version of FreeBSD
Options compat_freebsd5
Options SCSI_DELAY = 5000 # 在 时间 时时 前 前 s前 设备前 设备
Options Ktrace # Opens the kernel process tracking, mainly for debugging
Options sysvshm # provides SYSTEM V Sharing Memory (SHM) support
Options sysvmsg # Support System V Message Options Sysvsem # Support SYSTEM V Sample
Options _kposix_priority_scheduling
# Posix real-time extension, some of the applications in Ports
Options KBD_INSTALL_CDEV
# 有关 与 related to the keyboard, install a CDEV in / DEV
Options AHC_REG_PRETTY_PRINT
# Give easy-to-read register values for help debugging
Options AHD_REG_PRETTY_PRINT
Options adaptive_giant # kernel global lock (giant)
Device APIC # Enables the ability to use I / O APIC as an interrupt sending device
Device Eisa # Supports EISA Bus
Device PCI # Supports PCI bus
Device FDC # supports floppy drive
Device ATA # Supports PCI ATA / ATAPI Devices
Device Atadisk # ATAPI Disk Drive
Device Ataraid # ATA RAID driver
Device Atapicd # Atapi Corom Drive
Device Atapifd # ATAPI Disk Drive
Device Atapist # ATAPI Tape Drive
Options ATA_STATIC_ID # Use its static number to the controller
Device AHB # SCSI controller
Device AHC
Device AHD
Device AMD
Device ISP
Device ISPFW
Device MPT
#Device ncr
Device SYM
Device TRM
Device Adv
DEVICE ADW
Device aha
DEVICE AIC
Device BT
Device NCV
Device NSP
DEVICE STG
Device scbus # SCSI peripheral
Device ch
Device DA
Device sa
DEVICE CD
Device Pass
Device SES
Device AMR # RAID Controller
Device Arcmsr
Device ASR
Device Ciss
Device DPT
Device HPTMV
Device IIR
DEVICE IPS
Device Mly
Device TWA
Device aac
Device AACP
Device IDA
Device MLX
Device PST
Device TWE
Device Atkbdc # AT Keyboard Input and PS / 2 Pointer Device I / O Service Device Atcbd # AT Keyboard Access Service
Device PSM # ps / 2 mouse driver
Device VGA # vga graphics driver
Device Splash # Shun Splash screen when it is started, and it is also used for screensaver
Device SC # default console driver
#Device VT # Compatible with VT220 console driver
#options xserver
#options fat_cursor
Device AGP # AGP graphics driver
Device NPX # floating point arithmetic unit interface, must be retained
#Device APM # Advanced Power Management Support
Device Pmtimer # Power Management Event
Device CBB # PCMCIA support
Device PCCard
Device Cardbus
Device SiO # serial port support
Device PPC # isa-bus parallel port support
Device PPBUS # Parallel Bus Support
Device LPT #Contag printer support
Device PLIP # Drive of a parallel network interface
Device PPI # otical use I / O and IEEE 1284 I / O
#Device VPO # ionga zip driver support
#Device puc # PUC supported "dumb" serial or parallel PCI card
Device DE # dec / intel DC21x4x network card
Device EM # Intel Pro / 1000 Adapter Gigabit Ethernet Card
Device IXGB # Intel Pro / 10Gbe Ethernet Card
Device TXP # 3COM 3CR990
Device VX # 3com 3c590, 3c595
Device MMIBUS # MII Bus Support (generally used in PCI 10/100 Ethernet card)
Device BFE # Using the MII Bus Controller Drive
Device BGE
DEVICE DC
Device FXP
Device LGE
Device NGE
Device NVE
DEVICE PCN
Device RE
Device RL
DEVICE SF
Device sis
Device SK
Device Stee
Device Ti
Device TL
Device TX
Device VGE
DEVICE VR
Device WB
Device XL
Device CS # ISA Ethernet card driver
Device ED
Device EX
DEVICE EP
Device Fedevice IE
DEVICE LNC
Device SN
Device XE
Device Le
Device WLAN # wireless network card support
Device an
Device AWI
Device RAL
Device Wi
#Device WL
Device loop # Enable TCP / IP loopback program
Device MEM # storage device
Device IO # Allows the process to get I / O privileges
Device random # Enable random number generator
Device Ether # Supports Ethernet Agreement
Device SL # SLIP support
DEVICE PPP # 内 核 PPP Support
Device tun # User mode PPP use
Device Pty # analog login port
Device MD # internal storage device
Device GIF # IP tunnel capabilities
Device Faith # Capture packets and forward to IP translation service
Device BPF # pack filter, allowing the network card to be placed in a mixed mode
Device ubci # USB device support
Device ohci
Device EHCI
Device USB
Device udbp
Device Ugen
Device UHID
Device UKBD
Device ULPT
Device umas
Device ums
Device ural
Device urio
Device USCANNER
Device aue
Device Axe
Device CDCE
Device Cue
Device Kue
Device rue
Device FireWire # FireWare device support
Device SBP
Device FWE
Finally, it is complemented, and the / var / run / dmesg.boot file contains hardware information.
Reference: The FreeBSD Documentation Project
The main part of the operating system is the kernel, responsible for process management, memory management, and I / O operations many core transactions. FreeBSD system is no exception.
Although FreeBSD can be dynamically modified, it is much more, but you want to get a very your own operating system, build a special system for your needs, but also need to reconfigure and compile the kernel. Also, establishing a custom kernel is also a test that each FreeBSD user must experience, and bring a lot of benefits to users through this test.
All source code for FreeBSD is installed in directory / usr / src / sys, which contains numerous subdirectories, which contain different parts of the kernel. Among them, the most important files for custom kernels are the generic files in Arch / Conf (Arch represents Alpha, AMD64, I386, IA64, PC98, PowerPC, and SPARC64). All of these directorys are all related to a particular platform, while the code in other directories is independent of the machine. Note that compile kernels can only be performed with root, and it is best to back up the configuration file to avoid errors or reconfigure after updating the code. FreeBSD provides two ways to compile the kernel.
method 1:
CD / SYS / I386 / CONF; enter the directory where the configuration file is located, or the directory where other configuration files are located
/ usr / sbin / config generic; generated kernel source code
Cd ../compile/Gener; enter the compiled kernel source code
Make depend; compiled kernel
Make
Make install; install new kernel
Method 2 (requires a complete source code):
CD / USR / SRC; enter the source code directory
Make buildkernel kernconf = generic; compiled kernel
Make installkernel kernconf = generic; install new kernel
The method 1 should be used to recompile the kernel unless the re-build core is used as part of the Make BuildWorld process. And by default, all kernel modules will be connected at the same time. If you only need the module required by the network, you should edit the modules_Override variable in the /etc/make.conf file before the connection, and its content is the desired module. List.
The new kernel will be copied to the / boot / kernel / kernel file, while the old kernel is moved to file /Boot/kernel.old/kernel, and the new kernel boot system is used.
Before deeply understanding the configuration file (next writing, a little longer ...), it is necessary to see the wrong processing method for the error. There may be five problems in a total of custom kernels, respectively:
Config failed, which means that the kernel description error, the Config program displays the wrong line number, which can be solved by comparison with other information.
Make failed, and it is also a kernel description error, which is generally solved by General and other information. If you do not find an error, you can send the configuration file to the FREEBSD a general problem message list.
The kernel installation failed, which is likely to have a deep problem, and it is recommended to understand the information to FreeBSD.
The kernel cannot be started, or the device cannot be identified, and the old kernel can be restored. When the FreeBSD starts the loader countdown, the unload, boot /bootkernel.old/kernel is OK. Old/kernel.
Nuclear work, but PS does not work, this is likely to install a different kernel that has been installed with the system built-in tool, which should recompile a system consistent with the kernel version.
Reference: The FreeBSD Documentation Project
Published on @
June 18, 2006 9:27 PM |
Comments (0)
Windows operating system
August 12, 1981
IBM introduces a personal computer containing Microsoft's 16-bit job system MS-DOS 1.0, which is the first operating system in which MS came out, mainly interacting through the way of command line. MS-DOS is my first contact operating system, it is still small, and it is more than about 3.0.
November 1985
Microsoft launched Windows 1.0, priced at $ 100, which is the first GUI operating system released by Microsoft, but the evaluation is not high :-(
December 9, 1987
Microsoft released Windows 2.0, the price is still $ 100. Although it borrowed a lot of Mac OS, it still did not get people's affirmation.
May 22, 1990
Microsoft launched Windows 3.0, has made a large change in many aspects such as interface, humanity and memory management, and finally got the user's recognition! And, MS released a multi-language at the end of 1991
Windows 3.0 versions, the promotion of Windows has played greatly in non-English countries. On March 18, 1992, Microsoft released Windows version 3.1, and its sales broke through millions of protocols within 2 months! This version has added a lot of support for multimedia, etc. In 1993, Microsoft released Windows NT 3.1 and announced the market of enterprise server operating system. This version is jointly developed with IBM on OS / 2. The Chinese version of WINDOWS 3.2 in 1994 was released. Many people in China started with Windows from this release, I am one of them :-) August 24, 1995
This is a moment of Microsoft to the dominant position. In this month, MS launched a Windows 95 that makes the world. Under the powerful promotion of MS, Win 95 broke through millions of protrudins within 4 days! Starting from this operating system, Windows completely abandoned the complete dependence on DOS, and started the "Wintel" monopoly era of the world! In August 1996, NT4.0 was launched, this is a step in MS server OS until there are many companies still use it. In November of the same year, Windows CE 1.0 is released, this is an OS for embedded systems. So far, Microsoft's empire is clear. On June 25, 1998 (just 3 days before I am 14-year-old birthday) Windows 98, there is still a lot of operating systems used by users. This OS, which is developed on 95, has improved hardware standard support. For example, MMX and AGP. Other features include support, multi-displays, web TV support, and integrated Internet Explorer, which are integrated into the Windows graphics user interface, called Active Desktop.
. Plus 98 SE, 98 SE, June 10, 1999, Microsoft's personal desktop monopoly has been formed! PS This OS is considered to be a best platform for playing games for a long time until XP's launch :) I have also fallen here for a long time ... September 14, 2000 this day Microsoft launched Window Me, which can be considered a 9X series end version, but very unstable, received a lot of criticism, I have never used it: P 2000, mainly for commercial users, WINDOW 2000, including New NTFS file system, EFS file encryption, enhanced hardware support, etc., to the server market that has been monopolized by UNIX system, rigging from IBM, HP, Sun, HP, rushing from IBM, HP, SUN . Win 2K contains 4 versions: (1) Windows 2000 Professional, for workstation and laptops. Its original name is Windows NT 5.0 Workstation. The maximum can support dual processors, with a minimum of 64MB of memory, support 2GB of memory. (2) Windows 2000 Server, the server version, the server of small businesses. Its original name is Windows NT 5.0 Server. Up to 4 processors can support 128MB of memory, up to 4GB of memory is supported. (3) Windows 2000 Advanced Server, UEF, with large-scale businesses. Its original name is Windows NT 5.0 Server Enterprise Edition. Up to 8 processors can support 128MB of memory, up to 8GB of memory. (4) Windows 2000 Datacenter Server, the data center server version, facing the highest level of scalability, usability and reliability of large-scale enterprises or national institutions. The maximum can support 32 processors, with a minimum of 256MB of memory, support up to 64GB of memory. October 25, 2001 WINDOWS XP released. Windows XP is Microsoft to synthesize all users to synthesize an operating system. It has increased compared to the previous Windows desktop system, and the cost of paying this is lost to DOS-based support. Since Microsoft puts a lot of software integrated into the operating system, XP has been violently criticized. These software include firewall, media player, instant messaging software (Windows Messenger), as well as the close combination of Microsoft Pasport services, which is considered to be safe risks and potential threat to individual privacy . The increase in these characteristics is considered to be the continuation of Microsoft's continuation of its traditional monopoly behavior. Windows XP, or Window XP is a new window operating system that Microsoft is released. Windows XP was officially released on August 24, 2001 (RTM, Release to Manufacturing). Its retail version is listed on October 25, 2001. Windows XP The original code is whistler. The letter XP represents the "Experience" of the English word. The external version of Windows XP is 2002, the internal version is 5.1 (ie Windows NT 5.1), the official version of Build is 5.1.2600.
Microsoft initially released two versions: Windows XP Professional and Windows XP Home Edition, later issued a Media Center Edition and Tablet PC Editon. In addition to all functions of the home version, Windows XP Professional Pro has added new network certifications for commercial users, and the two-processor support, which supports 2GB of memory. Mainly used for workstations, high-end personal computers and laptops. Windows XP Home Edition home version of consumer object is a home user, used in a general personal computer and laptop. Only single processors; minimum support for 64MB of memory (certain features will be lost under 64MB of memory conditions), which supports 1GB of memory. In April 2003, Windows Server 2003 was released; the active directory, group policies, and management, disk management, etc. The function of server is improved, and the perfection of .NET technology further expands the application range of the server. Windows Server 2003 has four versions: Windows Server 2003 Web Server Version (STANDITION), Windows Server 2003 Enterprise Edition, and Windows Server 2003 Data Center (Datacenter Edition). Web Edition is mainly designed for web hosting, while Datacenter is used in extremely high-end systems. Standards and enterprise versions are between the middle. Windows Server 2003 is currently Microsoft's latest server operating system. At first, the product is called "Windows .Net Server", it is changed to "Windows .Net Server 2003", it is finally changed to "Windows Server 2003", released on March 28, 2003, and listed on the same year . Windows Server 2003 has multiple versions such as Web, standard editions, enterprise and data center versions. 200X Yue Y-Yue Z Niwack will release the latest operating system Vista, now there is a beta2 beta version to download, but the hardware requirements are high, I can only say 886 to it. However, it is a piece of water on the Internet!
Although FreeBSD provides users with a lot of tools, they want to complete the task, often need to install more applications. To this end, FreeBSD provides PORTS technology installed from source code and Packages technology that directly install binary code. There are already more than 10,000 third-party applications for you.
Let's take a look at the Ports installation. By default, all ports are located in the / usr / ports directory, made by Makefile (specify how the program should be compiled and installed in the system), DISTINFO (for file check), PKG-DESCR (Description of the software Wait, PKG-PLIST (list of all files that will be installed), PKG-Message, and a files directory (including patches that need to be used and installed).
Note that the port only contains how to compile the source code instead of a true source code. The source code needs to be obtained from the online or CD and may be released to any format (usually the TAR or Gzip compression format). Also, only root can install Ports, and it is best to go to vuxml.freebsd.org before installation to see if there is a security issue associated with the port. After entering the relevant directory, you can start installing port using the board command. Ports will first find if the corresponding source code is available under / usr / ports / distfiles, otherwise follow the source code on the web as indicated in Makefile. Finally, the system will start compiling the source code.
The command line will be returned after the completion of the compilation, and you can install Port using the make install command. It is best to remove the temporary work directory using Make Clean after the installation is complete, and the disk space is released and avoids errors when upgrading Port. (You can also use the make install clean command to complete the above three separate steps at once, PortsLean -d used to clean the entire temporary file space)
The installed port can be deleted with the "PKG_DELETE PORT name", and PKG_Version -v can list the Ports information that provides updated versions. Portupgrade is used to upgrade the port, the -a parameter indicates that all installed ports, -i means that the -R can be confirmed before the upgrade, and -r can specify the port to be upgraded, and -p indicates that the compiled Package is upgraded.
Let's take a look at the installation of the package. You can use the "pkg_add -r package name" command for installation, where parameters -R are used from the remote host to obtain Package, if there is a local installation package, the parameter can be omitted.
Note: All packages can be downloaded from ftp://ftp.freebsd.org/pub/freebsd/ports/packages/ download by FTP
In addition, PKG_INFO can be used to list all installed software package lists and descriptions, PKG_Version to compare the local Package version is consistent with the versions in the ports directory, and the pkg_delete pkg name deletes a installed software. By the way, all installed package information is saved in the / var / db / pkg directory.
Reference: The FreeBSD Documentation Project
FreeBSD is a multitasking operating system, that is, multiple programs can be executed. A program in execution is a process.
Each process has a unique identifier that is temporarily allocated by the system, called process ID (can be assigned from 1 to 99999), or PID. Most of the processes have a parent process, that is, the process used to start the process. However, there is a process called InIT in the system, and its PID is always 1, which is automatically launched by the kernel when FreeBSD starts.
For example, the user performs instruction ls in the shell, and the process corresponding to the LS is the child process of the shell, and the shell is the parent process of the LS.
In FreeBSD, you can use the PS and TOP instructions to view the status of the process in the current system. Among them, the PS will display the state of the process that has the process with the control terminal, including the PID, the terminal, status, occupied CPU time, and commands that start it. The parameters commonly used by PS include: a showing all running processes, u Displays the user and occupied memory to which the process belongs, X shows the background process, WW shows the complete command line.
Attachment: In the process, some is part of the terminal, need to interact with the user to complete its function. The other part is not required to interact with the user, called the daemon deamon (usually add D after the name). And TOP displays all running processes, including PID, user running the process, running thread, priority, maximum memory requirements, currently occupying memory, process status, occupying CPU time and percentage, and command to run the process, etc. . Also, the process will refresh once every 2 seconds, which can be modified by options s. At the beginning of this command, the current total number of processes, process statistics, CPU statistics, memory information, and exchange partitions are displayed.
Communication between the processes can use the mechanism of signals. Different signals have different meanings according to different numbers, some of which have special meanings, and others can be interpreted by the application. Typically, users can only send information to their own processes, and information sent by others may be rejected by KILL. But root can send various signals to each process.
In some cases, FreeBSD can send a signal to the application, such as segment illegal signal (SIGSEGV), and alarm signal (SIGALRM). The signals that can be used to terminate have Sigterm and Sigkill, the former can be determined by the process to determine whether the end is ended, and the process of receiving the latter must be terminated immediately.
You can use the / bin / kill directive in FreeBSD to send the signal, and its syntax is:
Kill -s signal PID
Commonly used signals include HUP, INT, Quit, ABRT, KILL, ALRM, TERM, and the like.
Let's take a look at the shell. The shell is the command line interface, which is the result of the command and then execute it. FreeBSD contains several shells, such as SH, TCSH, etc., which can choose to use what shell (default is CSH). A large feature of the shell is to automatically replenish the file name (enter the first few letters of the command or file name, press the Tab key, if you can't automatically do not complete the ring).
Another feature of the shell is to use environment variables, mainly including user (current username), Path (default path name), Display (network name of the X11 display), Shell (current shell name), TERM (user terminal Name), TERMCAP (Terminal Separates of Various Terminal Functions), OSTYPE (Operating System Type), MachType (CPU Architecture), Editor (preferred text editor), Pager (preferred text page Scheduler ) And MANPATH (online manual path), etc. The instructions for setting variables under CSH are:
STENV variable name
The command to display environment variable is:
Echo $ variable name
Reference: The FreeBSD Documentation Project