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

📄 3.t

📁 早期freebsd实现
💻 T
📖 第 1 页 / 共 5 页
字号:
.FEWe also include support for ISO Connection-Oriented Network Service,X.25, TP-0.The session and presentation layers are provided outsidethe kernel using the ISO Development Environment by Marshall Rose,that is available via anonymous FTP(but is not included on the distribution tape).Included in this development environment are filetransfer and management (FTAM), virtual terminals (VT),a directory services implementation (X.500),and miscellaneous other utilities..PPKernel support for the ISO OSI protocols is enabled with the ISO optionin the kernel configuration file.The.Xr iso (4)manual page describes the protocols and addressing;see also.Xr clnp (4),.Xr tp (4)and.Xr cltp (4).The OSI equivalent to ARP is ESIS (End System to Intermediate System RoutingProtocol); running this protocol is mandatory, however one can manually addtranslations for machines that do not participate by use of the.Xr route (8)command.Additional information is provided in the manual page describing.Xr esis (4)..PPThe command.Xr route (8)has a new syntax and several new capabilities:it can install routes with a specified destination and mask,and can change route characteristics such as hop count, packet sizeand window size..PPSeveral important enhancements have been added to the TCP/IPprotocols including TCP header prediction andserial line IP (SLIP) with header compression.The routing implementation has been completely rewrittento use a hierarchical routing tree with a mask per routeto support the arbitrary levels of routing found in the ISO protocols.The routing table also stores and caches route characteristicsto speed the adaptation of the throughput and congestion avoidancealgorithms..PPThe format of the.I sockaddrstructure (the structure used to describe a generic network address with anaddress family and family-specific data)has changed from previous releases,as have the address family-specific versions of this structure.The.I sa_familyfamily field has been split into a length,.Pn sa_len ,and a family,.Pn sa_family .System calls that pass a.I sockaddrstructure into the kernel (e.g..Fn sendtoand.Fn connect )have a separate parameter that specifies the .I sockaddrlength, and thus it is not necessary to fill in the.I sa_lenfield for those system calls.System calls that pass a.I sockaddrstructure back from the kernel (e.g. .Fn recvfromand.Fn accept )receive a completely filled-in.I sockaddrstructure, thus the length field is valid.Because this would not work for old binaries,the new library uses a different system call number.Thus, most networking programs compiled under \*(4B are incompatiblewith older systems..PPAlthough this change is mostly source and binary compatiblewith old programs, there are three exceptions.Programs with statically initialized.I sockaddrstructures(usually the Internet form, a.I sockaddr_in )are not compatible.Generally, such programs should be changed to fill in the structureat run time, as C allows no way to initialize a structure withoutassuming the order and number of fields.Also, programs with use structures to describe a network packet formatthat contain embedded.I sockaddrstructures also require change; a definition of an.I osockaddrstructure is provided for this purpose.Finally, programs that use the.Sm SIOCGIFCONFioctl to get a complete list of interface addressesneed to check the.I sa_lenfield when iterating through the array of addresses returned,as not all the structures returned have the same length(this variance in length is nearly guaranteed by the presence of link-layeraddress structures)..Sh 4 "Additions and changes to filesystems".PPThe \*(4B distribution contains most of the interfacesspecified in the IEEE Std1003.1 system interface standard.Filesystem additions include IEEE Std1003.1 FIFOs,byte-range file locking, and saved user and group identifiers..PPA new virtual filesystem interface has been added to thekernel to support multiple filesystems.In comparison with other interfaces,the Berkeley interface has been structured for more efficient supportof filesystems that maintain state (such as the local filesystem).The interface has been extended with support for stackablefilesystems done at UCLA.These extensions allow for filesystems to be layered on top of eachother and allow new vnode operations to be added without requiringchanges to existing filesystem implementations.For example,the umap filesystem (see.Xr mount_umap (8))is used to mount a sub-tree of an existing filesystemthat uses a different set of uids and gids than the local system.Such a filesystem could be mounted from a remote site via NFS or itcould be a filesystem on removable media brought from some foreignlocation that uses a different password file..PPOther new filesystems that may be stacked include the loopback filesystem.Xr mount_lofs (8),the kernel filesystem.Xr mount_kernfs (8),and the portal filesystem.Xr mount_portal (8)..PPThe buffer cache in the kernel is now organized as a file block cacherather than a device block cache.As a consequence, cached blocks from a fileand from the corresponding block device would no longer be kept consistent.The block device thus has little remaining value.Three changes have been made for these reasons:.IP 1)block devices may not be opened while they are mounted,and may not be mounted while open, so that the two versions of cachedfile blocks cannot be created,.IP 2)filesystem checks of the root now use the raw deviceto access the root filesystem, and.IP 3)the root filesystem is initially mounted read-onlyso that nothing can be written back to disk during or after change tothe raw filesystem by.Xr fsck ..LPThe root filesystem may be made writable while in single-user modewith the command:.DS.ft CWmount \-uw /.DEThe mount command has an option to update the flags on a mounted filesystem,including the ability to upgrade a filesystem from read-only to read-writeor downgrade it from read-write to read-only..PPIn addition to the local ``fast filesystem'',we have added an implementation of the network filesystem (NFS)that fully interoperates with the NFS shipped by Sun and its licensees.Because our NFS implementation was implementedby Rick Macklem of the University of Guelphusing only the publicly available NFS specification,it does not require a license from Sun to use in source or binary form.By default it runs over UDP to be compatible with Sun's implementation.However, it can be configured on a per-mount basis to run over TCP.Using TCP allows it to be used quickly and efficiently throughgateways and over long-haul networks.Using an extended protocol, it supports Leases to allow a limitedcallback mechanism that greatly reduces the network traffic necessaryto maintain cache consistency between the server and its clients.Its use will be familiar to users of other implementations of NFS.See the manual pages.Xr mount (8),.Xr mountd (8),.Xr fstab (5),.Xr exports (5),.Xr netgroup (5),.Xr nfsd (8),.Xr nfsiod (8),and.Xr nfssvc (8).and the document ``The 4.4BSD NFS Implementation'' (SMM:6)for further information.The format of.Pn /etc/fstabhas changed from previous \*(Bs releasesto a blank-separated format to allow colons in pathnames..PPA new local filesystem, the log-structured filesystem (LFS),has been added to the system.It provides near disk-speed output and fast crash recovery.This work is based, in part, on the LFS filesystem createdfor the Sprite operating system at Berkeley.While the kernel implementation is almost complete,only some of the utilities to support thefilesystem have been written,so we do not recommend it for production use.See.Xr newlfs (8),.Xr mount_lfs (8)and.Xr lfs_cleanerd (8)for more information.For a in-depth description of the implementation and performancecharacteristics of log-structured filesystems in general,and this one in particular, see Dr. Margo Seltzer's doctoral thesis,available from the University of California Computer Science Department..PPWe have also added a memory-based filesystem that runs inpageable memory, allowing large temporary filesystems withoutrequiring dedicated physical memory..PPThe local ``fast filesystem'' has been enhanced to do clustering that allows large pieces of files to beallocated contiguously resulting in near doublingof filesystem throughput.The filesystem interface has been extended to allowfiles and filesystems to grow to 2^63 bytes in size.The quota system has been rewritten to support bothuser and group quotas (simultaneously if desired).Quota expiration is based on time rather thanthe previous metric of number of logins over quota.This change makes quotas more useful on fileserversonto which users seldom login..PPThe system security has been greatly enhanced by theaddition of additional file flags that permit a file to bemarked as immutable or append only.Once set, these flags can only be cleared by the super-userwhen the system is running in insecure mode (normally, single-user).In addition to the immutable and append-only flags,the filesystem supports a new user-settable flag ``nodump''.(File flags are set using the.Xr chflags (1)utility.)When set on a file,.Xr dump (8)will omit the file from incremental backupsbut retain them on full backups.See the ``-h'' flag to .Xr dump (8)for details on how to change this default.The ``nodump'' flag is usually set on core dumps,system crash dumps, and object files generated by the compiler.Note that the flag is not preserved when files are copiedso that installing an object file will cause it to be preserved..PPThe filesystem format used in \*(4B has several additions.Directory entries have an additional field,.Pn d_type ,that identifies the type of the entry(normally found in the.Pn st_modefield of the.Pn statstructure).This field is particularly useful for identifyingdirectories without the need to use.Xr stat (2)..PPShort (less than sixty byte) symbolic links are now storedin the inode itself rather than in a separate data block.This saves disk space and makes access of symbolic links faster.Short symbolic links are not given a special type,so a user-level application is unaware of their special treatment.Unlike pre-\*(4B systems, symbolic links donot have an owner, group, access mode, times, etc.Instead, these attributes are taken from the directory that contains the link.The only attributes returned from an.Xr lstat (2)that refer to the symbolic link itself are the file type (S_IFLNK),size, blocks, and link count (always 1)..PPAn implementation of an auto-mounter daemon,.Xr amd ,was contributed by Jan-Simon Pendry of theImperial College of Science, Technology & Medicine.See the document ``AMD \- The 4.4BSD Automounter'' (SMM:13)for further information..PPThe directory.Pn /dev/fdcontains special files.Pn 0through.Pn 63that, when opened, duplicate the corresponding file descriptor.The names.Pn /dev/stdin ,.Pn /dev/stdoutand.Pn /dev/stderrrefer to file descriptors 0, 1 and 2.See.Xr fd (4)and.Xr mount_fdesc (8)for more information..Sh 4 "POSIX terminal driver changes".PPThe \*(4B system uses the IEEE P1003.1 (POSIX.1) terminal interfacerather than the previous \*(Bs terminal interface.The terminal driver is similar to the System V terminal driverwith the addition of the necessary extensions to get thefunctionality previously available in the \*(Ps terminal driver.Both the old.Xr ioctlcalls and old options to.Xr stty (1)are emulated.This emulation is expected to be unavailable in many vendors releases,so conversion to the new interface is encouraged..PP\*(4B also adds the IEEE Std1003.1 job control interface,that is similar to the \*(Ps job control interface,but adds a security model that was missing in the\*(Ps job control implementation.A new system call,.Fn setsid ,creates a job-control session consisting of a single processgroup with one member, the caller, that becomes a session leader.Only a session leader may acquire a controlling terminal.This is done explicitly via a.Sm TIOCSCTTY.Fn ioctlcall, not implicitly by an.Fn opencall.The call fails if the terminal is in use.Programs that allocate controlling terminals (or pseudo-terminals)require change to work in this environment.The versions of.Xr xtermprovided in the X11R5 release includes the necessary changes.New library routines are available for allocating and initializingpseudo-terminals and other terminals as controlling terminal; see.Pn /usr/src/lib/libutil/pty.cand.Pn /usr/src/lib/libutil/login_tty.c ..PPThe POSIX job control model formalizes the previous conventionsused in setting up a process group.Unfortunately, this requires that changes be made in a defined orderand with some synchronization that were not necessary in the past.Older job control shells (csh, ksh) will generally not operate correctlywith the new system..PPMost of the other kernel interfaces have been changed to correspondwith the POSIX.1 interface, although that work is not complete.See the relevant manual pages and the IEEE POSIX standard..Sh 4 "Native operating system compatibility"

⌨️ 快捷键说明

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