⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3.t

📁 早期freebsd实现
💻 T
📖 第 1 页 / 共 5 页
字号:
.PPBoth the HP300 and SPARC ports feature the ability to run binariesbuilt for the native operating system (HP-UX or SunOS) by emulatingtheir system calls.Building an HP300 kernel with the HPUXCOMPAT and COMPAT_OHPUX optionsor a SPARC kernel with the COMPAT_SUNOS option will enable this feature(on by default in the generic kernel provided in the root filesystem image).Though this native operating system compatibility was provided by thedevelopers as needed for their purposes and is by no means complete,it is complete enough to run several non-trivial applications includingthose that require HP-UX or SunOS shared libraries.For example, the vendor supplied X11 server and windowing environmentcan be used on both the HP300 and SPARC..PPIt is important to remember that merely copying over a native binaryand executing it (or executing it directly across NFS) does not implythat it will run.All but the most trivial of applications are likely to require accessto auxiliary files that do not exist under \*(4B (e.g..Pn /etc/ld.so.cache )or have a slightly different format (e.g..Pn /etc/passwd ).However, by using system call tracing andthrough creative use of symlinks,many problems can be tracked down and corrected..PPThe DECstation port also has code for ULTRIX emulation(kernel option ULTRIXCOMPAT, not compiled into the generic kernel)but it was used primarily for initially bootstrapping the port andhas not been used since.Hence, some work may be required to make it generally useful..Sh 3 "Changes to the utilities".PPWe have been tracking the IEEE Std1003.2 shell and utility workand have included prototypes of many of the proposed utilitiesbased on draft 12 of the POSIX.2 Shell and Utilities document.Because most of the traditional utilities have been replacedwith implementations conformant to the POSIX standards,you should realize that the utility software may not be as stable,reliable or well documented as in traditional Berkeley releases.In particular, almost the entire manual suite has been rewritten toreflect the POSIX defined interfaces, and in some instancesit does not correctly reflect the current state of the software.It is also worth noting that, in rewriting this software, we have generallybeen rewarded with significant performance improvements.Most of the libraries and header files have been convertedto be compliant with ANSI C.The shipped compiler (gcc) is a superset of ANSI C,but supports traditional C as a command-line option.The system libraries and utilities all compilewith either ANSI or traditional C..Sh 4 "Make and Makefiles".PPThis release uses a completely new version of the.Xr makeprogram derived from the.Xr pmakeprogram developed by the Sprite project at Berkeley.It supports existing makefiles, although certain incorrect makefilesmay fail.The makefiles for the \*(4B sources make extensive use of the newfacilities, especially conditionals and file inclusion, and are thuscompletely incompatible with older versions of.Xr make(but nearly all the makefiles are now trivial!).The standard include files for.Xr makeare in.Pn /usr/share/mk .There is a.Pn bsd.READMEfile in.Pn /usr/src/share/mk ..PPAnother global change supported by the new.Xr makeis designed to allow multiple architectures to share a copy of the sources.If a subdirectory named.Pn objis present in the current directory,.Xr makedescends into that directory and creates all object and other files there.We use this by building a directory hierarchy in.Pn /var/objthat parallels.Pn /usr/src .We then create the.Pn objsubdirectories in.Pn /usr/srcas symbolic links to the corresponding directories in.Pn /var/obj .(This step is automated.The command ``make obj'' in.Pn /usr/srcbuilds both the local symlink and the shadow directory,using.Pn /usr/obj ,that may be a symbolic link, as the root of the shadow tree.The use of.Pn /usr/objis for historic reasons only, and the system make configuration files in.Pn /usr/share/mkcan trivially be modified to use.Pn /var/objinstead.)We have one.Pn /var/objhierarchy on the local system, and another on eachsystem that shares the source filesystem.All the sources in.Pn /usr/srcexcept for.Pn /usr/src/contriband portions of.Pn /usr/src/oldhave been converted to use the new make and.Pn objsubdirectories;this change allows compilation for multiplearchitectures from the same source tree(that may be mounted read-only)..Sh 4 "Kerberos".PPThe Kerberos authentication server from MIT (version 4)is included in this release.See.Xr kerberos (1)for a general, if MIT-specific, introduction.If it is configured,.Xr login (1),.Xr passwd (1),.Xr rlogin (1)and.Xr rsh (1)will all begin to use it automatically.The file.Pn /etc/kerberosIV/READMEdescribes the configuration.Each system needs the file.Pn /etc/kerberosIV/krb.confto set its realm and local servers,and a private key stored in.Pn /etc/kerberosIV/srvtab(see.Xr ext_srvtab (8)).The Kerberos server should be set up on a single, physically secure,server machine.Users and hosts may be added to the server database manually with.Xr kdb_edit (8),or users on authorized hosts can add themselves and a Kerberospassword after verification of their ``local'' (passwd-file) passwordusing the.Xr register (1)program..PPNote that by default the password-changing program.Xr passwd (1)changes the Kerberos password, that must exist.The.Li \-loption to.Xr passwd (1)changes the ``local'' password if one exists..PPNote that Version 5 of Kerberos will be released soon;Version 4 should probably be replaced at that time..Sh 4 "Timezone support".PPThe timezone conversion code in the C library uses data files installed in.Pn /usr/share/zoneinfoto convert from ``GMT'' to various timezones.  The data file for the defaulttimezone for the system should be copied to.Pn /etc/localtime .Other timezones can be selected by setting the TZ environment variable..PPThe data files initially installed in.Pn /usr/share/zoneinfoinclude corrections for leap seconds since the beginning of 1970.Thus, they assume that thekernel will increment the time at a constant rate during a leap second;that is, time just keeps on ticking.  The conversion routines will thenname a leap second 23:59:60.  For purists, this effectively means thatthe kernel maintains TAI (International Atomic Time) rather than UTC(Coordinated Universal Time, aka GMT)..PPFor systems that run current NTP (Network Time Protocol) implementationsor that wish to conform to the letter of the POSIX.1 law, it is possibleto rebuild the timezone data files so that leap seconds are not counted.(NTP causes the time to jump over a leap second, and POSIX effectivelyrequires the clock to be reset by hand when a leap second occurs.In this mode, the kernel effectively runs UTC rather than TAI.).PPThe data files without leap second informationare constructed from the source directory,.Pn /usr/src/share/zoneinfo .Change the variable REDO in Makefilefrom ``right'' to ``posix'', and then do.DSmake obj	(if necessary)makemake install.DE.PPYou will then need to copy the correct default zone file to.Pn /etc/localtime ,as the old one would still have used leap seconds, and because the Makefileinstalls a default.Pn /etc/localtimeeach time ``make install'' is done..PPIt is possible to install both sets of timezone data files.  This resultsin subdirectories.Pn /usr/share/zoneinfo/rightand.Pn /usr/share/zoneinfo/posix .Each contain a complete set of zone files.See.Pn /usr/src/share/zoneinfo/Makefilefor details..Sh 4 "Additions and changes to the libraries".PPNotable additions to the libraries include functions to traverse afilesystem hierarchy, database interfaces to btree and hashing functions,a new, faster implementation of stdio and a radix and merge sortfunctions..PPThe.Xr fts (3)functions will do either physical or logical traversal ofa file hierarchy as well as handle essentially infinite depthfilesystems and filesystems with cycles.All the utilities in \*(4B which traverse file hierarchieshave been converted to use.Xr fts (3).The conversion has always resulted in a significant performancegain, often of four or five to one in system time..PPThe.Xr dbopen (3)functions are intended to be a family of database access methods.Currently, they consist of.Xr hash (3),an extensible, dynamic hashing scheme,.Xr btree (3),a sorted, balanced tree structure (B+tree's), and.Xr recno (3),a flat-file interface for fixed or variable length recordsreferenced by logical record number.Each of the access methods stores associated key/data pairs anduses the same record oriented interface for access..PPThe.Xr qsort (3)function has been rewritten for additional performance.In addition, three new types of sorting functions,.Xr heapsort (3),.Xr mergesort (3)and.Xr radixsort (3)have been added to the system.The.Xr mergesortfunction is optimized for data with pre-existing order,in which case it usually significantly outperforms.Xr qsort .The.Xr radixsort (3)functions are variants of most-significant-byte radix sorting.They take time linear to the number of bytes to besorted, usually significantly outperforming.Xr qsorton data that can be sorted in this fashion.An implementation of the POSIX 1003.2 standard.Xr sort (1),based on.Xr radixsort ,is included in.Pn /usr/src/contrib/sort ..PPSome additional comments about the \*(4B C library:.IP \(buThe floating point support in the C library has been replacedand is now accurate..IP \(buThe C functions specified by both ANSI C, POSIX 1003.1 and1003.2 are now part of the C library.This includes support for file name matching, shell globbingand both basic and extended regular expressions..IP \(buANSI C multibyte and wide character support has been integrated.The rune functionality from the Bell Labs' Plan 9 system is providedas well..IP \(buThe.Xr termcap (3)functions have been generalized and replaced with a generalpurpose interface named.Xr getcap (3)..IP \(buThe.Xr stdio (3)routines have been replaced, and are usually much faster.In addition, the.Xr funopen (3)interface permits applications to provide their own I/O streamfunction support..PPThe.Xr curses (3)library has been largely rewritten.Important additional features include support for scrolling and.Xr termios (3)..PPAn application front-end editing library, named libedit, has beenadded to the system..PPA superset implementation of the SunOS kernel memory interface library,libkvm, has been integrated into the system..PP.Sh 4 "Additions and changes to other utilities".PPThere are many new utilities, offering many new capabilities,in \*(4B.Skimming through the section 1 and section 8 manual pages is sureto be useful.The additions to the utility suite include greatly enhanced versions ofprograms that display system status information, implementations ofvarious traditional tools described in the IEEE Std1003.2 standard,new tools not previous available on Berkeley UNIX systems,and many others.Also, with only a very few exceptions, all the utilities from\*(Ps that included proprietary source code have been replaced,and their \*(4B counterparts are freely redistributable.Normally, this replacement resulted in significant performanceimprovements and the increase of the limits imposed on data bythe utility as well..PPA summary of specific additions and changes are as follows:.TSlfC l.amd	An auto-mounter implementation.ar	Replacement of the historic archive format with a new one.awk	Replaced by gawk; see /usr/src/old/awk for the historic version.bdes	Utility implementing DES modes of operation described in FIPS PUB 81.calendar	Addition of an interface for system calendars.cap_mkdb	Utility for building hashed versions of termcap style databases.cc	Replacement of pcc with gcc suite.chflags	A utility for setting the per-file user and system flags.chfn	An editor based replacement for changing user information.chpass	An editor based replacement for changing user information.chsh	An editor based replacement for changing user information.cksum	The POSIX 1003.2 checksum utility; compatible with sum.column	A columnar text formatting utility.cp	POSIX 1003.2 compatible, able to copy special files.csh	Freely redistributable and 8-bit clean.date	User specified formats added.dd	New EBCDIC conversion tables, major performance improvements.dev_mkdb	Hashed interface to devices.dm	Dungeon master.find	Several new options and primaries, major performance improvements.fstat	Utility displaying information on files open on the system.ftpd	Connection logging added.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -