1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312
|
\documentclass[a4paper, notitlepage]{report}
\usepackage[latin1]{inputenc} % Accept european-encoded (latin1) characters.
\usepackage{a4wide} % Wide paper -- W.Hennings: this is bad practice
\usepackage{url}
\urlstyle{sf}
% For Swedish reports
\usepackage[english]{babel}
%\frenchspacing
% For encapsulated postscript figures
%
% Use:
%
% \includegraphics{width=10cm, height=10cm}{fig.eps}
%
% where width and height are optional
\usepackage{graphicx} % For eps figures
\usepackage{epsfig} % Alternative package
% To get figures, tables, etc. where you want them.
%
% Use:
%
% \begin{figure}[H]
% ...
%
%\usepackage{here}
\setcounter{tocdepth}{4}
\setcounter{secnumdepth}{4}
% Nicer headers and footers
%
% \fancyhead[L/C/R]{} to change headers
% \fancyfoot[L/C/R]{} to change footers
\usepackage{fancyhdr}
\fancyhead[L]{Linux Versus AIX, HP-UX, Tru64 UNIX, Solaris}
\fancyhead[R]{by Csar da Silva}
%W.Hennings: following line is bad practice and gives error message under MikTeX:
%\footrulewidth 0.5pt % Insert a line above the footer
\pagestyle{fancy}
%
% Exchange text in encapsulated postscript figures with LaTeX text
%
% Before the image, insert arbitrary many
% (Don't worry, it _will_ look good when you convert to postscript)
%
% \psfrag{original text}{substituted text}
%
\usepackage{psfrag}
%
% For nicer captions
%
% Valid options (between []) are:
%
% Indentation: hang, center, centerlast, nooneline
% Size: scriptsize, small, normalsize, large, Large
% Style: up, it, sl, sc, md, bf, rm, sf, tt
%
%\usepackage[hang,small,bf]{caption}
%
% Want to change font?
%
% Uncomment your choice, if all uncommented, Computer Modern Roman is
% used. Note that some of these don't seem to work properly
%
%\usepackage{pspalatino}
%\usepackage{palatino}
\usepackage{times}
%\usepackage{charter}
%\usepackage{utopia}
%\usepackage{pifont}
%\usepackage{chancery}
%\usepackage{bookman}
%\usepackage{avant}
%\usepackage{helvet}
%\usepackage{zapfchan}
%\usepackage{courier}
%\usepackage{newcent}
%
% Some optional packages:
%
%
% Index section
%
% Put a \index{keyword} at the word in the text, a \printindex where
% you want the index printed, and run "makeindex <reportname>.idx
% after LaTeX-compiling (and compile a second time)
%
\usepackage{makeidx} %Index-section
\makeindex
%
% Fancier enumeration
% You get a new \begin{enumerate}[XXX] where you can specify XXX to be
% text {i,I,a,A,1}, for example \begin{enumerate}[Uppg. a)] to get a
% Uppg. a)/b)/c) list.
%
\usepackage{enumerate}
\begin{document}
\title{Linux \\ VS.\\ AIX, HP--UX, Tru64 UNIX, Solaris}
\author{ By \\ \\ {\Large Csar da silva} \\ (\emph{na98csa@student.hig.se}) \\
\\
Instructor: Andreas Larsson \\
\\
UNIVERSITY OF GVLE}
\maketitle
\begin{abstract}
There has been a lot of talk in the press that Linux is not ready for the enterprise server market where the demand for high availability, performance and security are the main issues. This report will look at what the latest Linux kernel doesn't have in comparison to the main Unix actors within the enterprise server market and finally conclude if Linux is ready for the enterprise server market or what features Linux have to implement to compete with the other Unix clones to get into the enterprise server market. This is a comparative report who got its information mainly from the original UNIX supplier's homepage, books, articles and from people doing technical support. The information is put together, sorted out, and compared to see which features Linux is lacking in comparison to other Unix's and and if it has more functions then the other operating systems, and finally got to the conclusion that Linux is not yet ready for the enterprise market. To penetrate the enterprise server market it has to implement support for more amount of memory, more high--availability functions and more security functions. It could not be verified if Linux has more features than any of the compared operating systems due to the lack of information. \\ \\
This is a second paragraph just to see how the indentation for the abstract environment works.
It is not at all clear what the indentation should be.
Keywords: {\bf Linux, operating system, AIX, HP-UX, True64 UNIX, Solaris, enterprise}
\end{abstract}
\pagenumbering{Roman}
\newpage
\clearpage
\begin{center}
\vspace*{12pt}
\vfill
\section*{Thanks}
Thanks to my wife for her patience, the Linux kernel developers (especially those mentioned in the appendix), Jan Strage, Ian P. Springer, and Joel Eriksson for their help.
\end{center}
\vfill
\newpage
\clearpage
\tableofcontents % Always compile twice if you have changed much
\newpage
\clearpage
\setlength{\parindent}{0pt}
\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
\section{OPEN PUBLICATION LICENSE}
\subsection{REQUIREMENTS ON BOTH UNMODIFIED AND MODIFIED VERSIONS}
The Open Publication works may be reproduced and distributed in whole or in part, in any medium physical or electronic, provided that the terms of this license are adhered to, and that this license or an incorporation of it by reference (with any options elected by the author(s) and/or publisher) is displayed in the reproduction.
Proper form for an incorporation by reference is as follows:
\quote{Copyright \copyright \ 2001 by Csar da Silva. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later (the latest version is presently available at \url{http://www.opencontent.org/openpub/}).}
The reference must be immediately followed with any options elected by the author(s) and/or publisher of the document (see section VI).
Commercial redistribution of Open Publication-licensed material is permitted.
Any publication in standard (paper) book form shall require the citation of the original publisher and author. The publisher and author's names shall appear on all outer surfaces of the book. On all outer surfaces of the book the original publishers name shall be as large as the title of the work and cited as possessive with respect to the title.
\subsection{COPYRIGHT}
The copyright to each Open Publication is owned by its author(s) or designee.
\subsection{SCOPE OF LICENSE}
The following license terms apply to all Open Publication works, unless otherwise explicitly stated in the document.
Mere aggregation of Open Publication works or a portion of an Open Publication work with other works or programs on the same media shall not cause this license to apply to those other works. The aggregate work shall contain a notice specifying the inclusion of the Open Publication material and appropriate copyright notice.
\begin{description}
\item{SEVERABILITY.} If any part of this license is found to be unenforceable in any jurisdiction, the remaining portions of the license remain in force.
\item{NO WARRANTY.} Open Publication works are licensed and provided "as is" without warranty of any kind, express or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose or a warranty of non-infringement.
\end{description}
\subsection{REQUIREMENTS ON MODIFIED WORKS}
All modified versions of documents covered by this license, including translations, anthologies, compilations and partial documents, must meet the following requirements:
\begin{enumerate}
\item The modified version must be labeled as such.
\item The person making the modifications must be identified and the modifications dated.
\item Acknowledgement of the original author and publisher if applicable must be retained according to normal academic citation practices.
\item The location of the original unmodified document must be identified.
\item The original author's (or authors') name(s) may not be used to assert or imply endorsement of the resulting document without the original author's (or authors') permission.
\end{enumerate}
\subsection{GOOD-PRACTICE RECOMMENDATIONS }
In addition to the requirements of this license, it is requested from and strongly recommended of redistributors that:
\begin{enumerate}
\item If you are distributing Open Publication works on hardcopy or CD-ROM, you provide email notification to the authors of your intent to redistribute at least thirty days before your manuscript or media freeze, to give the authors time to provide updated documents. This notification should describe modifications, if any, made to the document.
\item All substantive modifications (including deletions) be either clearly marked up in the document or else described in an attachment to the document.
\end{enumerate}
Finally, while it is not mandatory under this license, it is considered good form to offer a free copy of any hardcopy and CD-ROM expression of an Open Publication-licensed work to its author(s).
\subsection{LICENSE OPTIONS}
The author(s) and/or publisher of an Open Publication-licensed document may elect certain options by appending language to the reference to or copy of the license. These options are considered part of the license instance and must be included with the license (or its incorporation by reference) in derived works.
A. To prohibit distribution of substantively modified versions without the explicit permission of the author(s). "Substantive modification" is defined as a change to the semantic content of the document, and excludes mere changes in format or typographical corrections.
To accomplish this, add the phrase `Distribution of substantively modified versions of this document is prohibited without the explicit permission of the copyright holder.' to the license reference or copy.
B. To prohibit any publication of this work or derivative works in whole or in part in standard (paper) book form for commercial purposes is prohibited unless prior permission is obtained from the copyright holder.
To accomplish this, add the phrase 'Distribution of the work or derivative of the work in any standard (paper) book form is prohibited unless prior permission is obtained from the copyright holder.' to the license reference or copy.
\newpage
\section{CHANGES}
Here are the changes made to the documentation after the thesis had been handed in.
\begin{itemize}
\item Corrected the reference point of ACL on HP-UX from 30 to 44 (see page \pageref{change1}).
\item Added the following supported file systems to HP-UX: CDFS, HFS, LOFS, ISO9660, Rockridge, and High Sierra (see page \pageref{change2}).
\item Added reference and marks in table for HP-UX NFS v2 \& v3 support (see page \pageref{change3}).
\item Added support for LVM for HP-UX (see page \pageref{change4}).
\item Splitted up Bibliography in sections (see the bibliography on page \pageref{biblio}.
\item Added BSD Process Accounting to kernel specific features table and a explanation (see page \pageref{procacc} and \pageref{change5}).
\item Changed ``Result analys'' to: \begin{quote}``Linux has support for a more kinds of file systems and architectures than any other operating system in this thesis. But it lacks high-availability and security features(like Live upgrade, dynamic memory/processor resilience, HSM, ACL, IPSec...).''\end{quote} See page \pageref{resultanalys}.
\item Added text to ``Conclusions'':\begin{quote}``For Linux to get into the enterprise server market it has to include support for more memory, high-availability and security features, to make it more competitive against the other operating systems. The features Linux lacks of right now are:\begin{itemize}
\item Dynamic processor/memory resilience.
\item Dynamic page sizing.
\item Live upgrade.
\item ACL
\item Hierarchical storage management.
\item CacheFS
\item IPSec''
\end{itemize}\end{quote}
See page \pageref{conclusions}.
\item Removed item ``Compare the different operating systems network features.'' from the section Conclusions (see page \pageref{conclusions}).
\item Added REALIZATION chapter with the following text:\begin{quote}``Most of the work has been done by reading various different documentation,asking technical support, and identifying if the mentioned functions were implemented in the kernel. The functions was then inserted into a table to finally get to a result.''\end{quote} See page \pageref{realization}.
\item Added section IMPLEMENTATION to the REALIZATION chapter with the following text:\begin{quote}``The implementation of the missing functions are beyond the scope of this thesis. They are left to the developers of the Linux kernel.''\end{quote}. See page \pageref{implementation}
\item Changed the text \begin{quote}``Many combinations are possible but I have only seen a few referred to.''\end{quote} on page \pageref{change10} to \begin{quote}``Many other combinations are possible.''\end{quote}
\item Added \begin{quote}``There are more kernel options in the Linux kernel then those mentioned in this thesis, but due to the lack of missing information if those functions are available or not on the other operating systems and if they are implemented in the kernel, they are not mentioned in this thesis.
This is also true for some functions that the other operating systems have, but that couldn't be confirmed if they existed in the Linux kernel.
This would lead to a incorrect and unfair analys of the functions in the kernels.''\end{quote} to section ``DELIMINATION OF THE PROBLEM AREA''. See page \pageref{delimination}.
\item Added a picture to the NUMA section to show what SMP and NUMA is.
\end{itemize}
\newpage
\pagenumbering{arabic}
\chapter{INTRODUCTION}
Linux is a free clone of the operating system Unix, created by Linus Torvald, originally developed as a hobby project. It was first developed for 32-bit x86-based PCs\footnote{386 or higher.}. These days it also runs on various other computer architectures. Here is a list of the supported architectures that Linux runs on\cite{24}:
\begin{itemize}
\item Compaq Alpha AXP
\item Sun
\item SPARC
\item UltraSPARC
\item Motorola 68000
\item PowerPC
\item ARM
\item Hitachi SuperH
\item IBM S/390
\item MIPS
\item HP PA-RISC
\item Intel IA-64
\item DEC VAX
\item AMD x86-64\footnote{Port is currently in progress.}
\end{itemize}
The popularity of Linux among home users is increasing rapidly, and contributed to a wider acceptance of UNIX among home users\cite{3}. Linux is also beginning to get into the embedded/PDA market \cite{2}. Linux is having more difficulty in being established on the enterprise server market, where it is mostly used for Internet related tasks\cite{3}.
This document is going to encounter what features the Linux kernel is lacking in comparation to other Unix kernel.
\section{PROBLEM DEFINITION}
The major obstacle Linux is having is in getting into the enterprise server market. Whenever Linux gets into a corporation it's only used for Internet related assignments, and not in the "heart" of the corporation.\cite{4}
Historically, large corporations have steered clear of free software due to the unfounded assumption that anything free can't be worthwhile and also because Linux has a reputation of being unstable, lack of performance, support, and to not provide for the high degree of security that the enterprises requires about redundancy and high availability in comparison to other UNIX operating systems and Microsoft Windows NT/200 operating systems. This myth are somewhat dispelled in reference.\cite{5}
\section{AIM}
This report will look at what the other Unix systems used on the enterprise server market, have support for in the kernel that Linux doesn't have. The UNIX operating systems that are going to be measure up against Linux latest kernel are:
\begin{center}
\begin{itemize}
\item AIX\footnote{AIX is copyrighted by IBM.}
\item True64 UNIX\footnote{Tru64 UNIX is copyrighted by Compaq.}
\item Solaris\footnote{Solaris is copyrighted by Sun Microsystems.}
\item HP-UX\footnote{HP-UX is copyrighted by Hewlett Packard.}
\end{itemize}
\end{center}
The latest official, not modified version of every operating system is utilized. Ultimately resolve what features Linux needs to implement in the kernel, in comparison to the Unix operating system referred to above, so that it can be established and used in the enterprise market or in the government agencies.
The report might be used as a guide to the enterprises or governments that are planning on adapting Linux or to give a indication to the Linux kernel developers on what features Linux would have to implement in the kernel in comparison to the above mentioned operating system to get an better acceptance and be more widely used in the enterprise/government market.
\section{QUESTIONS AT ISSUE}
\begin{itemize}
\item What features doesn't Linux have in the kernel that other Unix kernels have?
\item Does any of the other Unix operating system have more features than Linux?
\end{itemize}
\section{EXPECTED RESULT}
The expected result is that Linux is ready for the enterprise market, because it probably has all the features that all the other UNIX system already have.
\chapter{THEORETICAL BACKGROUND}
\section{KERNEL/OPERATING SYSTEM}
A kernel is merely a computer program that acts as a mediator through which the user interacts with the computer and its components and peripheral devices (processor, processes, files, disks, terminals, printers, plotters, etc.). A UNIX operating system consists of a kernel and some system programs. There are also some application programs for doing work. The kernel is the heart of the operating system\footnote{In fact, it is often mistakenly considered to be the operating system itself, but it is not. An operating system provides many more services than a plain kernel.}. It keeps track of files on the disk, starts programs and runs them concurrently, assigns memory and other resources to various processes, receives packets from and sends packets to the network, and so on. The kernel does very little by itself, but it provides tools with which all services can be built. It also prevents anyone from accessing the hardware directly, forcing everyone to use the tools it provides. This way the kernel provides some protection for users from each other. The tools provided by the kernel are used via system calls. When loaded, the module code resides in the kernel's address space and executes entirely within the context of the kernel. \cite{15}
Everything that the kernel support does not have to be in memory all the time. Now days most of the kernels are modular. It means that some system functions are loaded into memory when needed.A kernel module is simply an object file containing routines and/or data to load into a running kernel. \cite{15}
The system programs use the tools provided by the kernel to implement the various services required from an operating system. System programs, and all other programs, run `on top of the kernel', in what is called the user mode. The difference between system and application programs is one of intent: applications are intended for getting useful things done (or for playing, if it happens to be a game), whereas system programs are needed to get the system working. A word processor is an application; telnet is a system program. The difference is often somewhat blurry. \cite{15}
An operating system can also contain compilers and their corresponding libraries (GCC and the C library in particular under Linux), although not all programming languages need be part of the operating system. Documentation, and sometimes even games, can also be part of it. Traditionally, the operating system has been defined by the contents of the installation disks; with Linux it is not as clear since it is spread all over the FTP sites of the world or bundled with different distributions. \cite{15}
\begin{figure}[h]
\begin{center}
%\epsfig{file=os.eps, height=4cm, width=4cm}
**Missing**
\end{center}
\caption{Block diagram of an operating system.}
\label{fig:OperatingSystem}
\end{figure}
\section{HISTORY OF UNIX}
Dennis Ritchie and Ken Thompson at Bell Laboratories developed UNIX on a PDP-7 in the late 1960s; it was first called UNIX in 1970. After 1975, UNIX developed along two separate branches leading to Berkeley (BSD) UNIX and System V UNIX. Nowadays, System V UNIX is available on most computers but different to popular belief, there is no such thing as a "standard" UNIX version. Although the basic commands are available in most UNIX implementations, hardware vendors like to add non-standard options and an identical item commands to tailor their UNIX to their machines. Standardization is, however, being undertaken by the Open Software Foundation (OSF) and, separately, by Unix International; the first precede, OSF/1, is running on the new DEC an Alpha computer. \cite{6}
Since the mid-1980s approximately, UNIX has evolved into the operating system of choice for most machines (probably because it is cheap for a hardware vendor to adopt it), which means that users in a multi-vendor computer environment no longer have to learn a new operating system whenever they get a new computer (now they only have to familiarize themselves with the system-specific extensions).\cite{6}
UNIX does have some strong points: it is fairly portable, flexible (i.e., easy to change, adapt and extend) and contains several powerful utilities. Also, it supports multiple users and multi-tasking. Nevertheless, UNIX is still very much an operating system for computer programmers; in skilled hands, it is very powerful, but to the novice end-user it is sometimes a nightmare (system-specific extensions, inconsistent syntax). Fortunately, on the modern graphics workstations more and more tools become available which make life easier.\cite{6}
\section{UNIX PRODUCT OVERVIEW}
\begin{description}
\item[AIX]\footnote{AIX is copyrighted by IBM.} was the first major second-generation UNIX product to ship after Sun and HP established its UNIX beachheads in the 1980s.\cite{6} AIX 5L is the first version of AIX to support platforms other than IBM's Power-based hardware. This version runs also on systems based on Intel's upcoming 64-bit Itanium (IA-64) processor, putting IBM in a strong position to take an early lead on IA-64 with a production-grade UNIX system available on the day of shipment. It now also has the capability to run Linux programs, which are compiled with their "AIX Toolbox for Linux" package.\cite{7}
\item[HP-UX]\footnote{HP-UX is copyrighted by Hewlett Packard.} -- HP has long been a leading supplier of commercial UNIX solutions, succeeding in part by emphasizing business-oriented factors such as quality, investment protection, consulting abilities, and support. In the 80s, HP was one of the first major vendors to predict the market potential of an improve and robust UNIX operating system. HP seeks to position HP-UX as the preferred enterprise UNIX for next-generation commodity servers based on IA-64. Due in part to its focus on the needs of business users, HP has a history of introducing advanced UNIX functions conservatively in HP-UX, optimizing instead for criteria such as stability and investment protection. But with HP-UX 11i announced in July 2000, HP clearly showed its intensions about pushing HP-UX technically, including a burst of competitive tactical features in the newest release. \cite{8}
\item[SOLARIS 8]\footnote{Solaris is copyrighted by Sun Microsystems.} -- Sun originally made UNIX fashionable. After establishing itself as a leading supplier of high-performance workstations during the 1980s and early 1990s, Sun shifted its strategic goal to becoming a first-tier vendor of enterprise servers.\cite{6}
Sun announced the Solaris 8 release on January 26, 2000. Sun also announced the free access to the Solaris source and end-user binary. The Solaris 8 Operating Environment is available for both the SPARC(tm) and Intel platforms.\cite{9}
\item[TRU64 UNIX]\footnote{Tru64 UNIX is copyrighted by Compaq.} derives from a long and sometimes contentious relationship between UNIX culture and Digital Equipment Corporation, which Compaq purchased in early 1998. Unix was born and bred on Digital hardware in the 1970s. AT\&T and universities mostly drove UNIX development, but Digital always maintained a UNIX group to develop and support drivers as well as to test new designs on UNIX. Digital eventually released ULTRIX, which was UNIX improved by clearer documentation, enhancements specific to Digital hardware, and support services. As the industry began to use UNIX more, Digital along with other vendors, funded efforts such as the X Window System, the Open Software Foundation (OSF) initiative. Tru64 UNIX became the first in the industry to move to 64 bits, and also played an early role in the creation of Linux by donating resources and equipment so that Linux had a native Alpha port by 1994.\cite{6}
The latest Tru64 UNIX v5.1 was released in the fall of 2000. Today, Compaq's Alpha UNIX business is focused on five strategic markets: Business Intelligence, High Performance Technical Computing, Telco and Internet Applications, and Enterprise Applications.\cite{10}
\item[LINUX] -- Linus Torvalds, a Finnish student, first developed Linux\footnote{Linux is a trademark by Linus Torvalds.} in 1991. He developed a minimal Unix kernel and posted a message to an Internet newsgroup, asking if anyone would be interested in helping him to develop it. First tens, then hundreds of individuals began dedicating their free time to developing Linux. Now the number of volunteers has grown into the thousands. Individuals volunteer their time to perform such tasks as kernel debugging, quality control, and writing documentation.
A Linux distribution includes the kernel and user utilities from the GNU system, developed by the Free Software Foundation since 1982, which makes it a complete operating system. This tools have been in development for about a decade before the Linux development started. The utilities/tools allows Linux distributions to have a complete set of tools that can be expected of an UNIX operating system.
There are various distributions that are free to download from the Internet or that you can buy for a small amount of money.
The result is a commercial operating system that rivals, or even exceeds, commercial releases of Unix available today. Its stability and breadth of features has captured the attention of network administrators who have deployed Linux for file, print and Web servers.
Linux is one of the most popular UNIX clones among home users, which has contributed to a wider acceptance and knowledge of UNIX among end users, where it's usage is increasing rapidly. Linux is also starting to get its foot into the embedded and corporation market.\cite{24}
The latest stable release branch is version 2.4, which was released on the 4:th of January 2001, which includes many improved enhancements related to the previous versions, the most notable improvement is support for the multitude of printers, digital cameras, scanners, keyboards, mice, network cards, modems, Zip drives and other devices that plug into the universal serial bus (USB) port, SMP, and 3-D accelerated cards. The new kernel is already included in various Linux distributions (SuSe, Linux Mandrake, Red Hat\ldots.\cite{12}
\end{description}
\section{PREVIOUS RESEARCH}
There is no known research of this kind about Linux. The latest kernel version 2.4.x branch, was released on the 4:th of January 2001\cite{12}. If any similar research before has been done, it would be with an older branch of the kernel, which means that the research is not up to date and hence not the same as this report.
There is a research by D.H. Brown Associates, Inc that compares AIX 4.3.3, HP-UX 11i, Solaris 8, Tru64 UNIX 5.1 and UNIXWARE 7.1.1 to each other, Linux is never compared in this studies.\cite{13}
\section{IMPORTANT THEORIES}\label{importanttheories}
\subsection{KERNEL SPECIFIC FEATURES}
\begin{description}
\item[KERNEL THREADS] \label{kernel-threads}-- A thread (as defined by Maurice Bach's ``The Design of the UNIX Operating System'') is an independent flow of control within a process, composed of a context (including register set and a program counter) and a sequence of instructions to execute. The traditional flow of control within a program has been a process with a single context of registers, following a single path through the code. This is referred to as the ``process-base'' or ``single-threaded model''. For an application in a single-threaded model to handle multiple tasks, it would have to break those tasks up into multiple processes, coordinate with signal handlers to provide some concurrency, or simply deal with those tasks serially (one after the other).\cite{32}
In this case it is the kernel itself and not a user-space process that is threaded. This allows for independent tasks in the kernel to be run synchronously instead of being forced to use asynchronous multiplexing between activities.\cite{15}
\item[HOT SWAP] \label{hotswap}-- Allows changing peripheral while the computer is running. This means that there is no need to stop the system while hardware maintenance is done (i.e. changing a faulty hard disk).\cite{22}
\item[SYSV INTERPROCESS COMMUNICATION (IPC)] \label{ipc} is a set of programming interface that allow a programmer to create and manage individual program process that can run concurrently in an operating system. This allows a program to handle many user requests at the same time. Since a single user request may result in multiple processes running in the operating system on the user's behalf, the processes need to communicate with other. The IPC interfaces make this possible. Each IPC method has its own advantages and limitations so it is not unusual for a single program to use all of the IPC methods. IPC methods include: \cite{15}
\begin{itemize}
\item pipe and named pipe
\item message queueing
\item semaphore
\item shared memory
\item sockets
\end{itemize}
\item[DYNAMIC PROCESSOR RESILIENCE] \label{dynprocres} -- The operating system isolates faulty CPUs. In the event of a non-fatal error that allows the system to continue processing, the system discontinues the usage of the failed CPU. If the system crashes because of the faulty CPU, the system will restart and isolate the faulty CPU.
\item[DYNAMIC MEMORY RESILIENCE]\label{dynmemres} allow the operating system to isolate faulty memory areas that suffer from single-bit errors, so that the software wont use any of unreliable memory are.\cite{13}
\item[DYNAMIC PAGE SIZING]\label{dynpagesize} -- UNIX operating systems normally uses fixed--size pages to perform I/O operations. But some application may benefit from variable page sizes. For example, programs that uses many small files (such as e-mail servers) may operate more efficiently with small pages, while I/O--intensive programs using large blocks transfers may run better with larger page sizes.\cite{13}
\item[ALTERNATE I/O PATHING]\label{altiopath} allows the operating system to re-route the I/O of devices, such as disk or network adapters, to a backup device, in case of failure.\cite{13}
\item[LIVE UPGRADE]\label{liveupg} allows installation of operating system image to occur simultaneously while the system is being use.
\item[BSD Process Accounting] \label{procacc}allow for a user-space program to record detailed information about any particular process, how much memory and CPU cycles it utilized, the owner, when it began and ended, etc.
\end{description}
\subsection{DISTRIBUTED SYSTEMS}
The normal usage of distributed systems is to archive high-performance systems, load-balancing\footnote{The main system distributes the system load between the different CPUs belonging to the system.} and high-availability\footnote{Systems that no matter what, have to run 24 hour a day and 7 days a week.} systems or any combination of them.\cite{15}
\begin{description}
\item[SYMMETRIC MULTI-PROCESSING MODEL (SMP)] \label{smp} -- In a symmetric multiprocessing model (often abbreviated as SMP) all the processors share identical copy of the same operating system, memory, I/O resources, and the copies of the operating system communicate with one another as needed.
Since all processors in an SMP server must be able to access all system resources simultaneously, operating systems are deeply involved in the quality of an SMP implementation. Indeed, enabling a kernel to effectively manage large numbers of processors has traditionally presented an extraordinary and tedious challenge for operating-system developers.\cite{15}
There is no generally appropriate way to anticipate how well an application will scale on an SMP system under real--world conditions, but the TCP-C (Transaction Processing Performance Council) benchmark is the most widely accepted method to measure SMP systems. TCP-C are vendor-neutral and subjected to rigorous auditing procedures. The test stresses a number of system components that are frequently exercised in commercial-server applications.\cite{28}
But as you can read from the TCP-C testes, biggest is not always best, because they don't scale well. And all vendors seldom sell machines with their maximum amount of possible processors (look at the vendors offerings).\cite{28}
\item[NON-UNIFORM MEMORY ACCESS (NUMA)] \label{numa} -- On a multi processor system the processors normally share the same bus to the memory and I/O devices. This means that all CPUs in the system are subjected to the same latency and bandwidth restrictions with respect to accessing the system's memory and I/O channels. Uniform Memory Access (UMA) is a term sometimes used to describe this system architecture. One way to address this bottleneck is to design a system built from SMP blocks (each with a limited number of CPUs, memory arrays and I/O ports) and add a second-level bus or switch to connect the blocks. Non-Uniform Memory Access (NUMA) is the term used to describe this type of system architecture because it results in a bandwidth and latency difference, depending on whether a particular CPU accesses memory and I/O resources locally (in the same building block where the CPU resides) or remotely (in another building block).\cite{14}
\end{description}
%\clearpage
%\newpage
%\begin{figure}[h]
%\begin{center}
%\epsfig{file=numa.ps, height=14cm, width=8cm,angle=270}
%\end{center}
%\caption{Picture of SMP systems in a NUMA enviroment.}
%\label{fig:NUMA}
%\end{figure}
\subsection{DISTRIBUTED FILE SYSTEMS}
Distributed file system stores files on one or more computers called servers, and makes them accessible to other computers called clients, where they appear as normal files. There are several advantages to using file servers: the files are more widely available since many computers can access the servers, and sharing the files from a single location is easier than distributing copies of files to individual clients. Backups and safety of the information are easier to arrange since only the servers need to be backed up. The servers can provide large storage space, which might be costly or impractical to supply to every client. The usefulness of a distributed file system becomes clear when considering a group of employees sharing documents. However, more is possible. For example, sharing application software, and printers are an equally good candidate. In both cases system administration becomes easier\cite{15}.
The protocols that we are going to get in touch with and that makes use of the functionality of an distributed filesystem are:
\begin{description}
\item[NETWORK FILE SYSTEM] \label{nfs} was developed by Sun Microsystems and introduced to the market 1984. The most common used version of NFS are version 2 and 3.\cite{15}
NFS version 3 contains several features to improve performance, reduce server load, and reduce network traffic. Since NFS version 3 is faster for I/O writes, and uses fewer operations over the network, it will use the network more efficient. Higher throughput may make the network busier. NFS version 3 maintains the stateless server design and simple crash recovery of version 2 along with its approach to build a distributed file service from cooperating protocols.\cite{19}
\item[CODA FILE SYSTEM] \label{coda} is an experimental file system, with its origin in AFS2\footnote{AFS is marketed, maintained, and extended by Transarc Corporation. AFS is based on a distributed file system originally developed at the Information Technology Center at Carnegie-Mellon University that was called the Andrew File System.}, developed in the group of M. Satyanarayanan at Carnegie Mellon University since 1987.\cite{15}
\item[SERVER MESSAGE BLOCK] \label{smb} (commonly abbreviated as SMB) protocol. This protocol is sometimes also referred to as the Common Internet File System (CIFS), LanManager or NetBIOS protocol. IBM and Microsoft developed it.\cite{15}
\item[APPLETALK]\label{appletalk} is local area network communication protocol originally created for Apple computers. It allows Macintosh computers to communicate, share resources through the network. \cite{30}
\item[NETWARE] \label{netware} made by Novell. Initially very successful in installing its products in large and small office local area networks (LANs), Novell has redesigned (or at least re-featured) NetWare to work successfully as part of larger and heterogeneous networks, including the Internet.\cite{18}
\end{description}
\subsection{FILE SYSTEMS}
Almost every operating system has its own filesystem (the mechanism for storage and access to the data and programs on the storage).\cite{15}
The support of various file systems allows the system to be used for reading/writing to media in an environment with different other operating systems, without the usage of distributed filesystem method.
Here is a short presentation of some\footnote{There are to many to mention them all in this thesis.} of the file systems \cite{24}:
\begin{description}
\item[VFAT] -- Windows.
\item[EXT]-- Used by older Linux. There is a newer improved version called EXT2.
\item[ISO 9660] -- A filesystem standard for CD's.
\item[NTFS] -- NT.
\item[HPFS] -- OS/2.
\item[UFS] -- used by System V; Coherent; Xenix; BSD; and derivatives like SunOS, FreeBSD, NetBSD, and NeXTStep.
\item[HFS] -- The older Macintosh Hierarchical File System. The newer filesystem is called HFS+.
\item[AFFS] -- Amiga Fast File System.
\item[Memory File System] \label{mfs} -- The file--system resides completely in virtual memory.
\end{description}
The techniques described below can be stacked in a number of ways to maximize performance and reliability, though at the cost of added complexity.
\begin{description}
\item[REDUNDANT ARRAY OF INDEPENDENT DISKS (RAID)] \label{raid} is a way of storing the same data in different places (thus, redundantly) on multiple hard disk . By placing data on multiple disks, I/O operations can overlap in a balanced way, improving performance. Since multiple disks increases the mean time between failure (MTBF), storing data redundantly also increases fault-tolerance.\cite{15}
A RAID appears to the operating system to be a single logical hard disk. RAID employs the technique of striping , which involves partitioning each driver's storage space into units ranging from a sector (512 bytes) up to several megabytes. The stripes of all the disks are interleaved and addressed in order.\cite{15}
In a single-user system where large records, such as medical or other scientific images, are stored, the stripes are typically set up to be small (perhaps 512 bytes) so that a single record spans all disks and can be accessed quickly by reading all disks at the same time.\cite{15}
In a multi-user system, better performance requires establishing a stripe wide enough to hold the typical or maximum size record. This allows overlapped disk I/O across drives. There exists two methods on implementing RAID:\cite{15}
\begin{description}
\item[Software RAID] -- Implemented on the kernel. Slow but cheap. This is the one used in this thesis for comparation.
\item[Hardware RAID] -- Implemented in the hardware and use on SAN's and almost every SCSI controller has support for it. In comparation to software RAID, hardware RAID is more expensive but also much faster, efficient and has more functions: remote copy, flashcopy\ldots
\end{description}
There are at least nine types of RAID plus a non-redundant array (RAID-0): \cite{31}
\begin{description}
\item[RAID-0]-- This technique has striping but no redundancy of data. It offers the best performance but no fault-tolerance.
\item[RAID-1]-- This type is also known as disk mirroring and consists of at least two drives that duplicate the storage of data. There is no striping. Read performance is improved since either disk can be read at the same time. Write performance is the same as for single disk storage. RAID-1 provides the best performance and the best fault-tolerance in a multi-user system.
\item[RAID-2]-- This type uses striping across disks with some disks storing error checking and correcting (ECC) information. It has no advantage over RAID-3.\footnote{RAID-2 and -3 requires spindle synchronization in order to achieve good performance. Very few commodity drives support that today,therefore these RAID levels are almost never used.}
\item[RAID-3]-- This type uses striping and dedicates one drive to storing parity information. The embedded error checking (ECC) information is used to detect errors. Data recovery is accomplished by calculating the exclusive OR (XOR) of the information recorded on the other drives. Since an I/O operation addresses all drives at the same time, RAID-3 cannot overlap I/O. For this reason, RAID-3 is best for single-user systems with long record applications.
\item[RAID-4]-- This type uses large stripes, which means you can read records from any single drive. This allows you to take advantage of overlapped I/O for read operations. Since all write operations have to update the parity drive, no I/O overlapping is possible. RAID-4 offers no advantage over RAID-5.
\item[RAID-5]-- This type includes a rotating parity array, thus addressing the write limitation in RAID-4. Thus, all read and write operations can be overlapped. RAID-5 stores parity information but not redundant data (but parity information can be used to reconstruct data). RAID-5 requires at least three and usually five disks for the array. It's best for multi-user systems in which performance is not critical or which do few write operations.
\end{description}
There are also hybrids available based on RAID 0 or 1 and one other level. Many other combinations are possible\label{change10}. These are more complex than the above mentioned RAID levels.
RAID 0/1 combines striping with duplication which gives very high transfers combined with fast seeks as well as redundancy. The disadvantage is high disk consumption as well as the above mentioned complexity.
RAID 1/5 combines the speed and redundancy benefits of RAID5 with the fast seek of RAID1. Redundancy is improved compared to RAID 0/1 but disk consumption is still substantial. Implementing such a system would involve typically more than 6 drives, perhaps even several controllers or SCSI channels.
\item[CACHEFS] \label{cachefs} improves the efficiency of the client--side NFS access by the use of a caching mechanism.\cite{13}
\item[AUTOFS] \label{autofs} allows an operating system to mount remote FS file systems automatically.\cite{13}
\item[JOURNALING FILE SYSTEM] \label{jfs} keeps a journal of the activity on your hard disk, so that if your computer crashed for some reason, it will not need to run the file system check procedure. This means a faster start up of a crashed system. Examples of journaling file system are ReiserFS, XFS, JFS and ext3.\cite{16}
\item[LOGICAL VOLUME MANAGER (LVM)] \label{lvm} provides an abstraction of the physical disks that makes the handling of larger file systems and disk arrays easier to administer. It does this by grouping sets of disks (physical volumes) into a pool (volume group). The volume group can be in turn be carved up into virtual partitions (logical volumes) that behave just like the ordinary disk block devices, except that (unlike disk partitions) they can be dynamically grown, shrunk and moved about without rebooting the system or entering into maintenance/stand-alone mode. A file system (or a swap space, or a raw device) sits on top of a logical volume. LVM utilities usually simplify adding, moving and removing hard drives, by abstracting away the file system mount points (/, /usr, /opt, etc) from the hard drive devices (/dev/hda1, /dev/sdb2, etc.). \cite{17}
\item[ACCESS CONTROL LIST (ACL)] \label{acl} -- Each file and directory has an access list, specifying which users and the type of access they have to it.\cite{15}
\item[HIERARCHICAL STORAGE MANAGEMENT (HSM)] \label{hsm} systems transparently move files between disk and secondary storage (such as tape), thus providing a large "virtual" disk farm. \cite{15}
\end{description}
\subsection{NETWORK}
\begin{description}
\item[IP V4] \label{ipv4}-- Internet Protocol version 4 is the protocol used on the Internet today. Works on the network layer on the OSI\footnote{A network architecture based on a proposal developed by the International Standard Organization (ISO). Its full name is ISO OSI (Open Systems Interconnection) Reference Model } model \cite{18} and is described in RFC\footnote{Technical reports called Request For Comments abbreviated as RFC are stored on-line and can be fetched by anyone interested in them at he following url \url{http://dir.yahoo.com/Computers_and_Internet/Standards/RFCs/}. } 791.
\item[IP V6]\label{ipv6}-- A new version of IP (see previous section), support for a near-infinite number of IP addresses, a number so large that it approaches the number of molecules on the planet, solves a variety of problems (specially with security) with the IP v4 and is more flexible and efficient as well. IP v6 is described in RFC 1550. \cite{18}
\item[VIRTUAL IP ADDRESSES] allows having a backup network card in case of the one in use fails to function. Then the backup car will be assigned the IP address of the original network card, and the user will not notice anything, except for a delay in response.
\item[SIMPLE NETWORK MANAGEMENT PROTOCOL (SNMP)]\label{snmp} -- A protocol that is described in RFC 1448 and is a standard in the UNIX environment.SNMP is not actually a protocol: it's a client server application that runs on the UDP (User Datagram Protocol) service of the TCP/IP protocol suite. It was developed to be an efficient means of sending network management information over UDP, using Ports 161(SNMP) and 162 (SNMPTRAP).\cite{15}
\item[DECNET]\label{decnet} was designed by Digital as a way to interconnect their range of products. The specifications for DECnet Phase IV are freely available. As with TCP/IP there are a number of higher-level protocols layered on top the basic DECnet protocol to provide services to applications.\cite{30}
\item[ATTACHED RESOURCE COMPUTER NETWORK (ARCNET)] \label{arcnet} is a network type created before by Datapoint in the end of 70's which works in a way similar to popular Ethernet networks but which is also different in some very important ways. First of all, you can get ARCnet cards in at least two speeds: 2.5 Mbps (slower than Ethernet) and 100 Mbps (faster than normal Ethernet). In fact, there are others as well, but these are less common. The different hardware types are not compatible, so you cannot wire a 100 Mbps card to a 2.5 Mbps card.\cite{30}
\item[ASYNCHRONOUS TRANSFER MODE (ATM)] \label{atm} is a dedicated-connection switching technology that organizes digital data into 53-byte cell units and transmits them over a physical medium using digital signal technology. Individually, a cell is processed asynchronously relative to other related cells and is queued before being multiplexed over the transmission path.\cite{18}
Because ATM is designed to be easily implemented by hardware (rather than software), faster processing and switch speeds are possible. The prespecified bit rates are either 155.520 Mbps or 622.080 Mbps. Speeds on ATM networks can reach 10 Gbps. Along with Synchronous Optical Network (SONET) and several other technologies, ATM is a key component of broadband ISDN (BISDN).\cite{18}
\item[FIBER DISTRIBUTED DATA INTERFACE (FDDI)] \label{fddi} is a standard for data transmission on fiber optic lines in a local area network (LAN) that can extend in range up to 200 km (124 miles). The FDDI protocol is based on the token ring protocol. In addition to being large geographically, an FDDI local area network can support thousands of users. \cite{18}
An FDDI network contains two token rings, one for possible backup in case the primary ring fails. The primary ring offers up to 100 Mbps capacity. If the secondary ring is not needed for backup, it can also carry data, extending capacity to 200 Mbps. The single ring can extend the maximum distance; a dual ring can extend 100 km (62 miles). \cite{18}
FDDI is a product of American National Standards Committee X3-T9 and conforms to the Open Systems Interconnection (OSI ) model of functional layering. It can be used to interconnect LANs using other protocols. FDDI-II is a version of FDDI that adds the capability to add circuit-switched service to the network so that voice signals can also be handled.\cite{18}
\item[ETHERNET] \label{ethernet} is the most widely-installed local area network (LAN) technology. Specified in a standard, IEEE 802.3, Ethernet was originally developed by Xerox and then developed further by Xerox, DEC, and Intel. An Ethernet LAN typically uses coaxial cable or special grades of twisted pair wires. The most commonly installed Ethernet systems are called 10BASE-T and provide transmission speeds up to 10 Mbps. Devices are connected to the cable and compete for access using a Carrier Sense Multiple Access with Collision Detection (CSMA/CD) protocol. \cite{18}
Fast Ethernet or 100BASE-T provides transmission speeds up to 100 megabits per second and is typically used for LAN backbone systems, supporting workstations with 10BASE-T cards. Gigabit Ethernet provides an even higher level of backbone support at 1000 megabits per second (1 gigabit or 1 billion bits per second). \cite{18}
\item[TOKEN RING] \label{tokenring} network is a local area network (LAN) in which all computers are connected in a ring or star topology and a binary digit - or token-passing scheme is used in order to prevent the collision of data between two computers that want to send messages at the same time. The token ring protocol is the second most widely-used protocol on local area networks after Ethernet . The IBM Token Ring protocol led to a standard version, specified as IEEE 802.5. Both protocols are used and are very similar. The IEEE 802.5 token ring technology provides for data transfer rates of either 4 or 16 megabits per second.
\item[BONDING/TRUNKING] \label{bonding}-- This is called Etherchannel by Cisco, Sun Trunking by Sun, Port Trunking by D-Link, and Bonding in Linux. If you have two Ethernet connections to some other computer, you can make them behave like one to double the speed of the connection.\cite{20}
\item[TRAFFIC CONTROL]\label{tfc} provides administrators more control over who uses their bandwidth. Consider a Service Provider, who wishes to control which visitors to a web site are more important than others (free versus paying customers) and should get a relatively faster and better service. Before traffic control, this would have needed very expensive equipment.
For example, depending on the set-up, it could be at the IP, TCP, and UDP etc i.e. control could be provided either by application (FTP gets less bandwidth than HTTP) or per IP address or ranges or a mixture of all these parameters.\cite{21}
\item[INTERNET PROTOCOL SECURITY]\label{ipsec} (IPsec) is a developing standard for security at the network or packet processing layer of network communication.A big advantage of IPsec is that security arrangements can be handled without requiring changes to individual user computers.\cite{13}
\item[SIMULTANEOUS IPV4/IPV6 STACKS ON THE SAME NETWORK]\label{ipv4ipv6stack} -- Allows the usage of IPv4 and IPv6 on the same network, allowing both protocols to be used by the server at the same time.\cite{13}
\item[IPV6 GATEWAY FACILITIES]\label{ipv6gateway} allows the routing of packets from IPv4 networks to IPv6 networks, and vice-versa.\cite{15}
\item[RSVP]\label{rsvp}
With RSVP, people who want to receive a particular Internet ``program'' (think of a television program broadcast over the Internet) can reserve bandwidth through the Internet in advance of the program and be able to receive it at a higher data rate and in a more dependable data flow than usual.\cite{15}
\item[INTEGRATED SERVICES]\label{intserv} (INTSERV) defines how applications services describe their bandwidth and latency requirements, how this information can be made available to routers (typically via RSVP), and how the appropriate quality of service can be tested and validated. Unlike DiffServ (see below), IntServ routers must classify packets based on several IP packet header fields and maintain state information for each flow.\cite{13}
\item[DIFFERENTIATED SERVICES] \label{diffserv}(DIFFSERV or DS) is a protocol for specifying and controlling network traffic by class so that certain types of traffic get precedence - for example, voice traffic, which requires a relatively uninterrupted flow of data, might get precedence over other kinds of traffic.\cite{13}
\item[IP MULTIPLEXING / ``ALIASING'']\label{aliasing} allows a single system to be seen as multiple numeric IP addresses, even on the same network-interface. Not to be confused with IP Multicasting.\cite{13}
\item[IP MULTICAST SERVER]\label{ipmulticast} allows simultaneous transmition of IP packets to multiple hosts, which enables ``subscription''messaging for audio, video, software, or data streams.\cite{15}
\item[TCP SELECTIVE ACKNOWLEDGEMENT]\label{sack} (SACK) allows TCP to recover from multiple losses within transmission windows, providing superior performance in lossy networks, and traffic crossing multiple networks.\cite{13}
\item[ATM IP SWITCHING]\label{atmipswitching}
Provide the ability to run IP protocol over the ATM protocol.\cite{15}
\item[MULTILINK PPP]\label{multilinkppp} allows two PPP (Point-to-Point protocol) to be used as one, to deliver double throughput.\cite{13}
\item[TCP LARGE WINDOWS]\label{rfc1323} (RFC 1323) allows the usage of windows that exceed the normal 64 KB limit to improve performance over high-bandwidth networks such as ATM or high-delay networks such as satellite links.\cite{15}
\item[TCP/IP GRATUITOUS ARP]\label{rfc2002} (RFC 2002)
Notifies the members of the network that the server associated with an IP address has changed.\cite{13}
\item[PATH MTU DISCOVERY]\label{rfc1191} (RFC 1191) -- Router doesn't break up packets that are too-large.\cite{13}
\item[PATH MTU DISCOVERY OVER UDP]\label{pathmtudiscoverudp} allows use of Path MTU Discovery (see above) over Universal Data Packet (UDP) connections, rather than the typical Internet Protocol (IP).\cite{13}
\item[OPEN SHORTEST PATH FIRST]\label{rfc1533} (OSPF -- RFC 1533) replaces the Routing Information Protocol with a better and faster routing. \cite{15}
\item[IP MULTIPATH ROUTING] \label{ipmultipathrouting} allows applications to specify multiple paths to a destination on an IP network.\cite{13}
\end{description}
%\section{PERSPECTIVE AND CHOICE OF THEORY}
\section{DELIMINATION OF THE PROBLEM AREA}\label{delimination}
This study will compare the latest Linux kernel to the following operating systems:
\begin{itemize}
\item AIX 5L version 5.1\footnote{AIX is copyrighted by IBM.}
\item True64 UNIX 5.1\footnote{Tru64 UNIX is copyrighted by Compaq.}
\item Solaris 8\footnote{Solaris is copyrighted by Sun Microsystems.}
\item HP-UX 11i\footnote{HP-UX is copyrighted by Hewlett Packard.}
\end{itemize}
The latest release of each operating system will be used in the comparation. Some features that are not stated anywhere that they belong to the kernel are included, since other operating systems have implemented that function in the kernel, or that function is an essential operating system function according to an operating system reference book, like for example the reference book \cite{15} in the bibliography. The main functions function handled by the kernel are:
\begin{itemize}
\item device
\item memory
\item filesystem
\end{itemize}
There are more kernel options in the Linux kernel then those mentioned in this thesis, but due to the lack of missing information if those functions are available or not on the other operating systems and if they are implemented in the kernel, they are not mentioned in this thesis.
This is also true for some functions that the other operating systems have, but that couldn't be confirmed if they existed in the Linux kernel.
This would lead to a incorrect and unfair analys of the functions in the kernels.
\chapter{METHOD}
\section{CHOICE OF METHOD}
The information was empirical accumulate and kernel specific functions where sorted out from the rest of other functions. The kernel features where explained, with the help of a descriptive method and then compared to the Linux kernel using a comparative method.
\section{DESCRIPTION OF METHOD}
This study compares five leading UNIX operating systems - IBM AIX 5L v5.1, Hewlett-Packard HP-UX 11i, Sun Solaris 8, Compaq Tru64 UNIX 5.1, and Linux 2.4.5 based on their functional capabilities implemented in the kernel as of May 27, 2001.
The information for this thesis was gathered from various sources. The main sources are books, articles, technical specifications, press releases, and technical representatives from the corresponding company (in the Linux case those representatives are available only through a mailing list called ``Linux kernel development list'').
A comparative method compares two or more things to each other and draws conclusions based on the result of the comparison.
The following steps where taken in the creation of this thesis:
\begin{enumerate}
\item Search for technical papers on the Internet at various supplier's homepage, and by asking technical personal.
\item Sort out features that are not in the kernel.
\item Make a short description of each feature (See section \ref{importanttheories}).
\item Create tables with all kernel features and operating systems (see section \ref{resulttable}).
\item Create a summary of features that Linux is lacking by looking at the tables.
\item Write down the result (see section \ref{resultanalys}).
\end{enumerate}
To arrive at a complete profile of an operating-system product, users should consider a number of factors in addition to those addressed by this thesis. They might be:
\begin{description}
\item[Application portfolio] An operating system is only useful as the amount of applications available for it. The suitability of an application portfolio for a given user depends on that user's specific requirements.
\item[Quality] As the operating system is a technical product, it may be shipped with a number of defects, which are independent of its relative technical richness.
\item[Vendor support] As a high-end system has many options/functions, operating systems introduce a high burden on request for support. The ability of vendors to meet those support requirements may vary.
\item[Vendor experience] Vendors offering multiple operating systems may have different levels of experience within their respective product lines, depending on when they entered the market and with what level of commitment.
\item[Skills availability] This factors applies both to the skills available within a user's organization and in the market as a whole.
\item[Hardware/system capabilities] Since an operating system will only perform as well as its underlying hardware, users must remain aware of factors such as processor performance and the SMP ranges available on host platforms.
\item[Cost] This factor depends not only on operating-system software prices and associated client license fees, but also on any necessary add-on packages, the price and price/performance of underlying hardware, and a wide variety of hard-to-measure "soft costs" related to ongoing management and training.
\end{description}
\chapter{REALIZATION}\label{realization}
Most of the work has been done by reading various different documentation, asking technical support, and identifying if the mentioned functions were implemented in the kernel. The functions was then inserted into a table to finally get to a result.
\section{IMPLEMENTATION}\label{implementation}
The implementation of the missing functions are beyond the scope of this thesis. They are left to the developers of the Linux kernel.
\chapter{RESULT}
\section{TABLES}\label{resulttable}
Cells with
\begin{description}
\item[empty] = The author could not verify if the operating system supports that function. The feature will be considered as missing due to the fact that looking for information about something that does not exist is almost impossible to find.
\item[\textbullet] = Operating system does support that function. See reference inside the brackets for more information.
\item[-] = Operating system does not support the function or it is offer as an external program. See reference inside the brackets for more information
\end{description}
\subsection{TABLE WITH KERNEL SPECIFIC FUNCTIONS}
\begin{tabular}{|p{0.9in} |p{0.9in} |p{0.9in} |p{0.9in} |p{0.9in} |p{0.9in} | } \hline
\textbf{Feature} &\textbf{Linux} &\textbf{Solaris} &\textbf{AIX} &\textbf{Tru64 UNIX }&\textbf{HP-UX}\\ \hline
Supported Architectures & i386, alpha, cris, sparc, sparc64, m68k, ppc, arm, sh4, s390, mips, HP parisc, ia64, DEC VAX and AMD x86--64\cite{24} & sparc and i386 \cite{9} & ppc and ia64 \cite{7} & alpha \cite{10} & parisc and ia64 \cite{33} \\ \hline
Maximum physical Memory tested and supported in \textbf{Gigabytes} & 64\cite{41} & 128 \cite{13} &96 \cite{40}& 256 \cite{13} & 256 \cite{13} \\ \hline
Maximum supported and tested size of file system in \textbf{Terabytes}& 4\cite{38}& 1 \cite{13}&1\cite{7} & 16 \cite{10}& 2 \cite{13} \\ \hline
\end{tabular}
\begin{tabular}{|p{0.9in} |p{0.9in} |p{0.9in} |p{0.9in} |p{0.9in} |p{0.9in} | } \hline
\textbf{Feature} &\textbf{Linux} & \textbf{Solaris} & \textbf{AIX} &\textbf{Tru64 UNIX}&\textbf{HP-UX}\\ \hline
SMP \{\ref{smp}\} &64 \cite{37} & 128 \cite{9} &24 \cite{40} & 32 \cite{26} & 64 \cite{50} \\ \hline
NUMA \{\ref{numa}\} &\textbullet \cite{56}&\textbullet \cite{43} &\textbullet \cite{45} &\textbullet \cite{44} &\textbullet \cite{100} \\ \hline
Cryptographic hardware support &\textbullet \cite{57} &\textbullet \cite{13}&\textbullet \cite{13}&\textbullet \cite{13} &\textbullet \cite{13} \\ \hline
Kernel threads \{\ref{kernel-threads}\} &\textbullet \cite{24} &\textbullet \cite{13} &\textbullet \cite{13} &\textbullet\cite{10}&-- \cite{13} \\ \hline
Hot--swap \{\ref{hotswap}\} & \textbullet \cite{31} &\textbullet \cite{13} &\textbullet \cite{13} &\textbullet \cite{13}&\textbullet \cite{33} \\ \hline
SysV IPC \{\ref{ipc}\} &\textbullet \cite{52}&\textbullet \cite{13} &\textbullet \cite{13} &\textbullet \cite{10} &\textbullet \cite{13} \\ \hline
Dynamic Processor Resilience \{\ref{dynprocres}\} &--\ref{a1} &\textbullet \cite{13}&\textbullet \cite{13}&\textbullet \cite{13}&\textbullet \cite{13}\\ \hline
Dynamic Memory Resilience \{\ref{dynmemres}\}&--\cite{11}&\textbullet \cite{13}&\textbullet \cite{13}&\textbullet \cite{13}&\textbullet \cite{13}\\ \hline
Dynamic Page Sizing \{\ref{dynpagesize}\}&--\ref{a1} &-- \cite{13} &-- \cite{13} &\textbullet \cite{13}&\textbullet \cite{13} \\ \hline
Live Upgrade \{\ref{liveupg}\}&--\ref{a1}&\textbullet \cite{13}&\textbullet \cite{13}& &\textbullet \cite{60} \\ \hline
Alternative I/O Pathing \{\ref{altiopath}\}& &\textbullet \cite{13} &-- \cite{13}&\textbullet \cite{13}&\textbullet \cite{13} \\ \hline
BSD Process Accounting \label{change5} \ref{procacc}&\textbullet \cite{54} &\textbullet \cite{13} &\textbullet \cite{13} &\textbullet \cite{13} &\textbullet \cite{13} \\ \hline
\end{tabular}
\subsection{TABLE WITH FILE SYSTEM SPECIFIC FUNCTIONS}
\begin{tabular}{|p{0.9in} |p{0.9in} |p{0.9in} |p{0.9in} |p{0.9in} |p{0.9in} | } \hline
\textbf{Feature} &\textbf{Linux} &\textbf{Solaris} &\textbf{AIX} &\textbf{Tru64 UNIX}&\textbf{HP-UX}\\ \hline
Maximum tested and supported file size in \textbf{Terabytes} &2 GB \cite{38} & 1 \cite{13} &64 \cite{13}&10 \cite{26}& 2 \cite{13} \\ \hline
ACL \{\ref{acl}\} &--\cite{38} &\textbullet \cite{42} &\textbullet \cite{68} &\textbullet \cite{10}&\textbullet \cite{51}\label{change1} \\ \hline
RAID \{\ref{raid}\} support &\textbullet \cite{31} & &\textbullet \cite{7} &\textbullet \cite{10}&\textbullet \cite{33}\\ \hline
Journaling File System \{\ref{jfs}\} & \textbullet \cite{54} &\textbullet \cite{13} & \textbullet \cite{7} &\textbullet \cite{10}& \textbullet \cite{3}\\ \hline
Logical Volume Manager \{\ref{lvm}\} &\textbullet \cite{59}&\textbullet \cite{13} &\textbullet \cite{7}&\textbullet \cite{10}& \textbullet \cite{113} \label{change4} \\ \hline
HSM \{\ref{hsm}\} &-- \ref{a1} & &-- \cite{7} & &\textbullet \cite{61}\\ \hline
Memory File System \{\ref{mfs}\} &\textbullet \cite{55} &\textbullet \cite{13} &\textbullet \cite{13}&\textbullet \cite{101}& \textbullet \cite{13}\\ \hline
CacheFS \{\ref{cachefs}\} &-- \cite{23} &\textbullet \cite{13} &\textbullet \cite{13}&-- \cite{13}& \textbullet \cite{13}\\ \hline
AutoFS \{\ref{autofs}\} &\textbullet \cite{54} &\textbullet \cite{13} &\textbullet \cite{13}&\textbullet \cite{13}& \textbullet \cite{13}\\ \hline
\end{tabular}
\begin{tabular}{|p{0.9in} |p{0.9in} |p{0.9in} |p{0.9in} |p{0.9in} |p{0.9in} | } \hline
\textbf{Feature} &\textbf{Linux} &\textbf{Solaris} &\textbf{AIX} &\textbf{Tru64 UNIX}&\textbf{HP-UX}\\ \hline
Supported file systems & ISO9660, Rockridge, Ext2, VFAT, FATCVF, UFS, FFS, HPFS, NTFS, AFFS,ADFS, BFS, CRAMFS, PROC, ROMFS, SYSV--FS, UDF, UMDOS \cite{24} &DFS \cite{13} UDF, UFS \cite{25} &DFS \cite{13} &CFS \cite{13}, XCDR, DVDFS,\cite{10}, FFM , DFS, EFS, FDFS, PROCFS, SYSV, UFS, MFS, ISO9660 \cite{101}&UFS \cite{33} CIFS \cite{29}, CDFS \cite{106}, HFS \cite{107}, LOFS \cite{108}, DOS \cite{109}, ISO9660, Rockridge, High Sierra, \cite{110} CDFS \cite{112} \label{change2}\\ \hline
\end{tabular}
\subsection{TABLE WITH NETWORK SPECIFIC FUNCTIONS}
\begin{tabular}{|p{0.9in} |p{0.9in} |p{0.9in} |p{0.9in} |p{0.9in} |p{0.9in} | } \hline
\textbf{Feature} &\textbf{Linux} &\textbf{Solaris} &\textbf{AIX} &\textbf{Tru64 UNIX}&\textbf{HP-UX} \\ \hline
Support for IP v4 and v6 \ref{ipv6}\} &\textbullet \cite{39} &\textbullet \cite{9} &\textbullet \cite{40} &\textbullet \cite{103} &\textbullet \cite{62} \\ \hline
Traffic Control \{\ref{tfc}\} &\textbullet \cite{39} & \textbullet \cite{13} &\textbullet \cite{40} &\textbullet \cite{13} &\textbullet \cite{29} \\ \hline
Bonding \{\ref{bonding}\} & \textbullet \cite{21} &\textbullet \cite{13} &\textbullet \cite{13} &\textbullet \cite{13}&\textbullet \cite{13} \\ \hline
\mbox{NFS v2} \{\ref{nfs}\} &\textbullet \cite{39} &\textbullet \cite{9} &\textbullet \cite{40}&\textbullet \cite{101} &\textbullet \cite{111} \label{change3} \\ \hline
\mbox{NFS v3} \{\ref{nfs}\} &\textbullet \cite{39} &\textbullet \cite{101} &\textbullet \cite{40}&\textbullet \cite{101} &\textbullet \cite{111} \\ \hline
SNMP \{\ref{snmp}\} &\textbullet &\textbullet \cite{9} &\textbullet \cite{40} & &\textbullet \cite{64} \\ \hline
SMB \{\ref{smb}\} &\textbullet \cite{39} &\textbullet \cite{13} &\textbullet \cite{13} &\textbullet \cite{13} &\textbullet \cite{13} \\ \hline
AppleTalk \{\ref{appletalk}\} &\textbullet \cite{39} &-- \cite{9} &-- \cite{40} & &-- \cite{63} \\ \hline
NetWare \{\ref{netware}\} &\textbullet \cite{39} &\textbullet \cite{13}&-- \cite{40} &\textbullet \cite{13} &-- \cite{67} \\ \hline
DECnet \{\ref{decnet}\} &\textbullet \cite{39} &-- \cite{9} &-- \cite{40} &\textbullet \cite{104} &\textbullet \cite{65} \\ \hline
ARCnet \{\ref{arcnet}\} &\textbullet \cite{39}& &-- \cite{40}& &\textbullet \cite{66}\\ \hline
ATM \{\ref{atm}\} &\textbullet \cite{39} &\textbullet \cite{13} &\textbullet \cite{40} &\textbullet \cite{13} &\textbullet \cite{46} \\ \hline
FDDI \{\ref{fddi}\} &\textbullet \cite{39} & &\textbullet \cite{40} & &\textbullet \cite{46} \\ \hline
Ethernet \{\ref{ethernet}\} &\textbullet \cite{39} &\textbullet \cite{13} &\textbullet \cite{40} &\textbullet \cite{13} &\textbullet \cite{46} \\ \hline
Token Ring \{\ref{tokenring}\} &\textbullet \cite{39} &\textbullet \cite{25}&\textbullet \cite{40} &\textbullet \cite{105} &\textbullet \cite{46} \\ \hline
IPSEc \{\ref{ipsec}\} &-- \cite{48}&\textbullet \cite{13} &\textbullet \cite{13} &\textbullet \cite{13} &\textbullet \cite{13} \\ \hline
Simultaneous IPv4/IPv6 stacks on the same network \{\ref{ipv4ipv6stack}\} &\textbullet \cite{39} &\textbullet \cite{13} &\textbullet \cite{13} &\textbullet \cite{13}&\textbullet \cite{13} \\ \hline
IPv6 Gateway facilities \{\ref{ipv6gateway}\} &\textbullet \cite{39} &\textbullet \cite{13} &\textbullet \cite{13} &\textbullet \cite{13}&\textbullet \cite{13} \\ \hline
RSVP \{\ref{rsvp}\} &\textbullet \cite{54} &\textbullet \cite{13} &\textbullet \cite{13} &\textbullet \cite{13}&\textbullet \cite{13} \\ \hline
Integrated Services(IntServ) \{\ref{intserv}\} &\textbullet \cite{21} &-- \cite{13} &\textbullet \cite{13} &-- \cite{13}&-- \cite{13} \\ \hline
\end{tabular}
\begin{tabular}{|p{0.9in} |p{0.9in} |p{0.9in} |p{0.9in} |p{0.9in} |p{0.9in} | } \hline
\textbf{Feature} &\textbf{Linux} &\textbf{Solaris} &\textbf{AIX} &\textbf{Tru64 UNIX}&\textbf{HP-UX} \\ \hline
Differentiated Services \{\ref{diffserv}\} & \textbullet \cite{21}&-- \cite{13} &\textbullet \cite{13} &-- \cite{13}&\textbullet \cite{13} \\ \hline
IP Multiplexing / ``aliasing'' \{\ref{aliasing}\} &\textbullet \cite{39} &\textbullet \cite{13} &\textbullet \cite{13} &\textbullet \cite{13}&\textbullet \cite{13} \\ \hline
\mbox{IP Multicast} Server \{\ref{ipmulticast}\} &\textbullet \cite{39} &\textbullet \cite{13} &\textbullet \cite{13} &\textbullet \cite{13}&\textbullet \cite{13} \\ \hline
TCP selective acknowledgement (SACK) \{\ref{sack}\} &\textbullet \ref{a1} &\textbullet \cite{13} &\textbullet \cite{13} &\textbullet \cite{13}&\textbullet \cite{13} \\ \hline
ATM IP switching \{\ref{atmipswitching}\} & &\textbullet \cite{13} &\textbullet \cite{13} &\textbullet \cite{13}&\textbullet \cite{13} \\ \hline
Multilink PPP \{\ref{multilinkppp}\} &\textbullet \ref{a1} &\textbullet \cite{13} &\textbullet \cite{13} &-- \cite{13}&-- \cite{13} \\ \hline
TCP Large Windows (RFC 1323) \{\ref{rfc1323}\} &\textbullet \cite{53} &\textbullet \cite{13} &\textbullet \cite{13} &\textbullet \cite{13}&\textbullet \cite{13} \\ \hline
TCP/IP Gratuitous ARP (RFC 2002) \{\ref{rfc2002}\} & &\textbullet \cite{13} &\textbullet \cite{13} &\textbullet \cite{13}&\textbullet \cite{13} \\ \hline
\mbox{Path MTU} Discovery (RFC 1191) \{\ref{rfc1191}\} &\textbullet \ref{a1} &\textbullet \cite{13} &\textbullet \cite{13} &\textbullet \cite{13}&\textbullet \cite{13} \\ \hline
\mbox{Path MTU} Discovery over UDP \{\ref{pathmtudiscoverudp}\} & &\textbullet \cite{13} &\textbullet \cite{13} &\textbullet \cite{13}&\textbullet \cite{13} \\ \hline
\mbox{Open Shortest} \mbox{Path First} (\mbox{OSPF--RFC} 1533) \{\ref{rfc1533}\} &\textbullet \cite{21} &\textbullet \cite{13} &\textbullet \cite{13} &\textbullet \cite{13}&\textbullet \cite{13} \\ \hline
\mbox{IP Multipath} Routing \{\ref{ipmultipathrouting}\} &\textbullet \ref{a1} &\textbullet \cite{13} &\textbullet \cite{13} &\textbullet \cite{13}&\textbullet \cite{13} \\ \hline
\end{tabular}
\newpage
\section{RESULT ANALYSIS}\label{resultanalys}
Linux has support for a more kinds of file systems and architectures than any other operating system in this thesis. But it lacks high-availability and security features(like Live upgrade, dynamic memory/processor resilience, HSM, ACL, IPSec...).
\chapter{DISCUSSION}
The reader maybe is asking why this thesis just looks at the features of the kernel? The explanation is that one can tell much about an operating system by just looking at the kernel, for example how well developed it is.
There was some difficulties in finding information from the suppliers documentation that confirmed which functions where implemented in the kernel. To overcome this difficulty, some technicians from the various companies were asked. Another difficult task was finding information about features that was not implemented in the operating system. Partial because vendors don't announce the features their operating system is missing in comparation to other.
Most of the missing features in Linux do already exist for Linux as patches, but they are not yet implemented in the official kernel. For example IPSec (see reference \cite{48}), Dynamic Memory Resilience (see appendix \ref{a8}), live update (see appendix \ref{a2})...
Now that Linux is getting a greater deal of press, as is the interest for it to in the enterprise market. Here are some quotes from different magazines. The September 1998 Software Magazine cover story\cite{36} reveals just how far Linux has managed to infiltrate corporate America and how it is not about to go away:
\begin{quote}
``Tim Payne, director of database marketing at Oracle, says many of his company's corporate customers have made large investments in Linux. When Oracle announced in July that it would be offering 24x7 support for Oracle8 on Linux, he says 300 customers called the next day asking about availability. 'It's reliable, it's proven, it runs on commodity Intel boxes, and it's a really low-cost alternative to NT,' says Payne. 'The fact that you are going to be able to get enterprise quality support from Oracle to deploy on the Linux platform will help customers adopt Linux.''
\end{quote}
Nicholas Petreley, editor-in-chief of NC World and columnist for InfoWorld and NT World Japan provides an explanation for the rise of Linux and FreeBSD in IT departments \cite{35}:
\begin{quote}
``Yesterday's college students learned their UNIX expertise on Linux and FreeBSD. Today they're working in IT departments, and many of them are openly hostile to both Microsoft and Windows NT. As a result, Linux, BSD, Solaris, and other forms of UNIX are finding their way into IT departments, both overtly and on the sly.''
\end{quote}
\begin{quote}
``For example, are you sure that's an NT server you're connecting to at work? IS employees in many corporations have secretly installed UNIX servers that provide native NT services. Why take such a risk? Linux and FreeBSD are free, as is SAMBA, the software that provides NT services. So the IS department saves money. And managers are unlikely to find out UNIX is behind the scenes because fewer people will complain about server downtime.''
\end{quote}
\begin{quote}
``Fewer people will complain because the servers are more stable than Windows NT. Linux, FreeBSD, and BSDI UNIX outperform Windows NT by a wide margin on limited hardware, and under some circumstances can perform as well or better than NT on the best hardware. Once behind in scalability features, UNIX on Intel is catching up and may soon surpass NT in the number of processors it can use, and how it uses them.''
\end{quote}
Now that Linux has infiltrated the enterprise market, and the demand for the usage of Linux on enterprise market is increasing, the development of features to Linux that the enterprises are looking for on more expensive alternatives will increase. Specially with the increase of support Linux is getting from the main players on the enterprise market like Compaq, IBM, Hewlett--Packard...
\section{METHOD EVALUATION}
The chosen methods where the most appropriate for each task of the report.
\section{RECEIVED RESULTS VERSUS EXPECTED RESULT}
The received result shows that on contrary to the expected result that Linux is not yet ready to take over the enterprise market, due to the lack of features that the enterprise market expect to see on a high--end system.
\chapter{CONCLUSIONS}\label{conclusions}
For Linux to get into the enterprise server market it has to include support for more memory, high-availability and security features, to make it more competitive against the other operating systems. Linux lacks the following features:
\begin{itemize}
\item Dynamic processor/memory resilience.
\item Dynamic page sizing.
\item Live upgrade.
\item ACL
\item Hierarchical storage management.
\item CacheFS
\item IPSec
\end{itemize}
It could not be verified in this thesis if Linux has more features than any other of the compared operating systems due to the lack of information.
\section{PROPOSAL FOR FURTHER RESEARCH}
\begin{itemize}
\item Available programs..
\item Make a survey on companies asking them what hardware support or features they want to see implemented in Linux.
\item Available support.
\item Cost versus performance.
\end{itemize}
\chapter{Bibliography}
%---------------------------------------------%
% %
% References %
% %
%---------------------------------------------%
\clearpage \addcontentsline{toc}{section}{References}
\begin{thebibliography}{99}\label{biblio}
%\bibliographystyle{unsrt}
%\bibliography{mybib} \label{biblio}
%\setcounter{page}{0}
\pagenumbering{Roman}
\thispagestyle{fancy}
\subsubsection*{Books}
\bibitem{1} Matt Welsh and Phil Hughes and David Bandel and Boris Beletsky and Sean Dreilinger and Robert Kiesling and Evan Liebovitch and Henry Pierce, \textit{Linux installation and getting started}, Specialized Systems Consultants Inc, Seattle, \url{http://www.ibiblio.org/pub/Linux/docs/LDP/install-guide/!INDEX.html} (available 2001--05--19), 1998.
\bibitem{6} VI Peter H. Salus, \textit{A Quarter Century of UNIX}, Addison-Wesley Publishing Company Inc, ISBN: 0-201-54777-5, 1994.
\bibitem{15} Peter Galvin and Avi Silberschatz, \textit{Operating system concepts, 5th edition}, ISBN 0-471-36414-2, John Wiley and Sons Inc., 605 Third Avenue, New York, 1999.
\bibitem{18} Andrew S. Tanebaum, \textit{Computer Networks, 3rd edition}, ISBN 0-13-394248-1, Prentice-Hall International, Inc., Upper Saddle River, New Jersey 07458, 1996.
\bibitem{30} Valentino Berti, \textit{Datakommunikation}, Liber AB, 113 98 Stockholm, ISBN 91-47-03564-1, 1999.
\subsubsection*{White Papers}
\bibitem{21} Bert Hubert and Gregory Maxwell and Remco van Mook and Martijn van Oosterhout and Paul B Schroeder and Jasper Spaans, \textit{Linux 2.4 Advanced Routing HOWTO}, \url{http://www.ds9a.nl/2.4Networking/HOWTO//cvs/2.4routing/output/2.4routing.html} (available 2001--05--23), 2001.
\bibitem{7} \textit{AIX 5L Technical Preview, AIX Product Marketing}, IBM corporation, \url{http://www-1.ibm.com/servers/aix/pdf/AIX50dr3ms.pdf} (available on 17:th of May 2001), 2000.
\bibitem{34} \textit{AIX-- Announcement Supplemental Information}, IBM, 2001--04--17.
\bibitem{8} \textit{HP Renews Focus on UNIX for Web Application Infrastructures}, D.H. Brown Associates Inc. 2000.
\bibitem{29} \textit{HP 9000 -- A-Class Servers: A500/A400 System Architecture and Design Guide}, Hewlett-Packard, 2000.
\bibitem{60} \textit{Updating to HP-UX 11i}, Hewlett--Packard, \url{http://docs.hp.com/cgi-bin/onlinedocs.py?mpn=B2355-90703&service=hpux&path=../B2355-90703/00/00/19&title=HP-UX%2011i%20Installation%20and%20Update%20Guide}
\bibitem{33} \textit{HP--UX reference documents}, Hewlett--Packard,\url{http://devresource.hp.com/STK/toc_ref_details.html} (available 2001-05-24), 2001.
\bibitem{46} \textit{HP-UX 11i Operating Environments}, Hewlett--Packard, \url{http://docs.hp.com/hpux/onlinedocs/os/11i/oe_presentation_Dec1_external.pdf} (available 2001--05--25), 2000.
\bibitem{50} \textit{hp 9000 superdome specifications}, Hewlett--Packard, \url{http://www.hp.com/products1/unixservers/highend/superdome/specifications.html} (available 2001--05--27).
\bibitem{61} \textit{Onlinejsf product details and specifications}, Hewlett--Packard,\url{http://www.software.hp.com/cgi-bin/swdepot_parser.cgi/cgi/displayProductInfo.pl?productNumber=B3929CA} (available 2001--05--27).
\bibitem{62} \textit{IPv6 early release overview}, Hewlett--Packard,\url{http://www.software.hp.com/cgi-bin/swdepot_parser.cgi/cgi/displayProductInfo.pl?productNumber=T1305AA} (available 2001--05--27).
\bibitem{100} \textit{HP MPI User's guide -- Message latency and bandwidth}, Hewlett--Packard, \url{http://docs.hp.com/cgi-bin/fsearch/framedisplay?top=/hpux/onlinedocs/B6060-96002/B6060-96002_top.html&con=/hpux/onlinedocs/B6060-96002/00/00/25-con.html&toc=/hpux/onlinedocs/B6060-96002/00/00/25-toc.html&searchterms=numa&queryid=20010528-032930} {available 2001--05--28}.
\bibitem{9} \textit{Solaris 8 press release}, Sun Microsystems Inc, \url{http://www.sun.com/smi/Press/sunflash/2000-01/sunflash.20000126.2.html} (avaible 2001-05-19), 2001.
\bibitem{20} \textit{Sun trunking overview}, Sun Micro--systems, \url{http://www.sun.com/products-n-solutions/hw/networking/connectivity/suntrunking/trunking.html}.
\bibitem{42} \textit{Trusted Solaris 8 Operating Environment -- A Technical Overview}, White Paper, Sun Microsystems Inc, \url{http://www.sun.com/software/white-papers/wp-ts8/} (available 2001--05--25).
\bibitem{43} \textit{Sun Enterprise 10000 Key Technologies}, Sun Microsystems Inc, \url{http://www.sun.com/servers/highend/10000/tech.html} (available (2001--05--25).
\bibitem{25} \textit{What's new in the Solaris 8 Operating Environment}, Sun Microsystems, January 2000.
\bibitem{19} \textit{Tru64 UNIX Operating System Version 5.1 Product Description}, Internal reference: SPD 70.70.03, Compaq Computer Corporation, 2000.
\bibitem{10} \textit{Tru64 UNIX Product overview}, Compaq, \url{http://www.tru64unix.compaq.com/unix/index.html} (available online on 2001-05-18), 2001.
\bibitem{26} \textit{ True64 UNIX on AlphaServer Product Overview}, Compaq Computer Corporation, \url{http://www.tru64unix.compaq.com/unix/v5.htm} (available 2001-05-19), 2001.
\bibitem{13} \textit{2001 UNIX function review}, D.H Brown Associates, Inc, 2001.
\bibitem{14} R. P. LaRowe Jr. and J. T. Wilkes and C. S. Ellis, \textit{Exploiting operating system support for dynamic page placement on a NUMA shared memory multiprocessor}, Proceedings of the 3rd ACM SIGPLAN Symposium on Principles \& Practice of Parallel Programming, SIGPLAN Notices volume 26 number 7 page 122-132, \url{http://citeseer.nj.nec.com/larowe91exploiting.html}, April 1991
\bibitem{16} Adam Sweeney and Doug Doucette and Wei Hu and Curtis Anderson and Mike Nishimoto and Geoff Peck, \textit{Scalability in the XFS File System}, Silicon Graphics, \url{http://linux-xfs.sgi.com/projects/xfs/papers/xfs_usenix/index.html}, 1996
\bibitem{17} Heinz Mauelshagen, \textit{Mauelshagen's LVM (Logical Volume Manager) howto}, Linux source documentation, 1999
\bibitem{22} Johannes Erdfelt, \textit{Hot-Swap white paper}, \url{http://johannes.erdfelt.com/hotswap.txt}, 2000.
\bibitem{31} Jakob stergaard, \textit{The Software--RAID HOWTO}, \url{http://www.linuxdoc.org/HOWTO/Software-RAID-HOWTO.html} (available 2001-05-22), 2000.
\bibitem{32} Scott Norton and Mark DiPasquale, \textit{Thread Time - The Multithreaded Programming Guide}, Prentice Hall, ISBN 0-13-190067-6, 1996.
\bibitem{37} David Mentr,\textit{Linux SMP HOWTO}, Linux documentation project,\url{http://www.linuxdoc.org/HOWTO/SMP-HOWTO.html}, October 2000.
\bibitem{38} Rmy Card and Theodore Ts'o and Stephen Tweedie,\textit{Design and implementation of Second Extended Filesystem}, Proceedings of the Firts Dutch International Symposium, ISBN 90-367-0385-9, \url{http://e2fsprogs.sourceforge.net/ext2intro.html} (available 2001--05--24).
\bibitem{39} Joshua Drake, \textit{Linux Networking HOWTO}, \url{http://www.linuxports.com/howto/networking/} (available 2001-05-24), 2000.
\bibitem{11} Harald Milz, \textit{Linux High Availability HOWTO}, \url{http://www.ibiblio.org/pub/Linux/ALPHA/linux-ha/High-Availability-HOWTO.html} (available 2001--05--25), 1998--12--22.
\bibitem{23} Stein Gjoen, \textit{Multi Disk System Tuning HOWTO},\url{http://www.linuxdoc.org/HOWTO/Multi-Disk-HOWTO.html} (available 2001-05--26), 2000-07--24.
\bibitem{44} \textit{Visual Threads Documentation}, Compaq Inc, \url{http://www.compaq.com/products/software/visualthreads/documentation.html} (available 2001--05--25).
\subsubsection*{Source documentation and man pages}
\bibitem{101} See Solaris 8 man page for \verb|mount_nfs| (1M).
\bibitem{102} See Tru64 UNIX man page for \verb|mount| (8).
\bibitem{103} See Tru64 UNIX man page for \verb|inet| (7).
\bibitem{104} See Tru64 UNIX man pages for \verb|X| (7).
\bibitem{105} See Tru64 UNIX man pages for \verb|network_manual_setup| (7).
\bibitem{51} See HP-UX 11i man pages for \verb|acl| (2).
\bibitem{64} See HP-UX 11i man pages for \verb|snmpd| (1M).
\bibitem{65} See HP-UX 11i man pages for \verb|X| (7).
\bibitem{66} See HP-UX 11i man pages for \verb|bootpd|.
\bibitem{106} See HP-UX 11i man pages for \verb|mount_cdfs| (1M).
\bibitem{111} See HP-UX 11i man pages for \verb|mount_nfs| (1M).
\bibitem{107} See HP-UX 11i man pages for \verb|mount_hfs| (1M).
\bibitem{108} See HP-UX 11i man pages for \verb|mount_lofs| (1M).
\bibitem{113} See HP-UX 11i man pages for \verb|mount_lvm| (1M).
\bibitem{112} See HP-UX 11i man pages for \verb|mount_cdfs| (1M).
\bibitem{109} See HP-UX 11i man pages for \verb|dosif| (4).
\bibitem{110} See HP-UX 11i man pages for \verb|pfs| (4).
\bibitem{52} See Linux man pages for \verb|ipc| (5).
\bibitem{53} See kernel source document \verb|linux/Documentation/network/ip-sysctl.txt|.
\bibitem{54} See kernel source document \verb|linux/Documentation/Configure.help|.
\bibitem{55} See kernel source document \verb|linux/Documentation/ramdisk.txt|.
\bibitem{56} See kernel source document \verb|linux/Documentation/vm/numa.html|.
\bibitem{57} See kernel source document \verb|linux/Documentation/devices.txt|.
\bibitem{59} See kernel source document \verb|linux/Documentation/LVM-HOWTO.htm|.
\urlstyle{rm}
\def\UrlFont{\bfseries}
\subsubsection*{Articles from the press (bold urls now!)}
\bibitem{2} Richard Shim, \textit{Linux makes a move into handhelds}, C--Net, \url{http://news.cnet.com/news/0-1006-200-5827919.html} (available 2001--05--19), 2001.
\bibitem{4} Mats Lvgren, \textit{Linux sparkar ut NT och UNIX frn bank}, Computer Sweden, \url{http://nyheter.idg.se/display.asp?ID=010504-CS31}, 2001.
\bibitem{5} Jon Tillman, \textit{The New Linux Myth Dispeller}, \url{http://www.eruditum.org/linux/myths/myth-dispeller.html}, 2000.
\bibitem{12} Mary Jo Foley, \textit{At long last Linux 2.4 has arrived}, ZDNet news, \url{http://www.zdnet.com/zdnn/stories/news/0,4586,2671106,00.html} (available 2001-05-19), January 5 2001.
\bibitem{24} Robert Kiesling, \textit{Linux FAQ, Revision 1.4}, \url{http://www.linuxdoc.org/FAQ/Linux-FAQ/index.html} (available 2001--05--21), 2001.
\bibitem{27} Mary Jo Foley, \textit{Linus: Partying hard over Linux 2.4}, ZDNet news, \url{http://www.zdnet.com/zdnn/stories/news/0,4586,2671714,00.html} (available 2001-05-19), January 5 2001.
\bibitem{35} Nicholas Petreley,\textit{The new UNIX alters NT's orbit: The re-emergence of UNIX threatens to modify the future direction of NT}, NC World, April 1998.
\bibitem{36} Ann Harrison,\textit{In LINUX We\ldots}, Software Magazine, Cover Story, September 1998.
\bibitem{41} Henry Baltazar. \textit{Operating System - Linux 2.4 Kernel}, ZDNet UK, \url{http://www.zdnet.co.uk/reviews/rstories/0,3040,e7108096,00.html}, 27 January 2001.
\bibitem{45} Jaikumar Vijayan, \textit{High-end Systems Vendors offer performance programs}, ComputerWorld, 1999--22--11.
\bibitem{58} Press release, \textit{Veritas delivers hsm version 3.1 to bring improved data availability to enterprise applications}, \url{http://www.veritas.com/us/aboutus/pressroom/1998/98-08-18-0.html} (available 2001--05-21), 1998.
\subsubsection{Technical persons/resources}
\bibitem{40} Jan Strage, IT Architect, IBM Sweden.
\bibitem{49} \textit{Linux kernel development list}, \url{http://vger.kernel.org} or \url{http://www.tux.org/lkml/#s3-4} (available 2001--05--27).
\subsubsection{Websites}
\bibitem{68} Heimo Haub, \textit{Aspects of Access Management in Heterogeneous Distributed Object Systems},Graz University of Technology, \url{http://www.dinopolis.org/documentation/misc/theses/hhaub/node60.html}
\bibitem{3} Harald Alvestrand, \textit{The Linux Counter Project}, The Linux Counter Project, \url{http://counter.li.org/} (available 2001--05--21), 2001.
\bibitem{28} Transaction Processing Performance Council, \url{http://www.tpc.org} (available 2001-05-21).
\bibitem{48} FreeSwan homepage,\url{http://www.freeswan.org/} (available 2001--05--25).
\bibitem{63} Columbia Appletalk, \url{http://www.cs.mu.oz.au/appletalk/cap.html} (available 2001--05--27).
\bibitem{67} Novell, \url{http://www.novell.com/} (available 2001--05--27).
\end{thebibliography}
\appendix
\chapter{MESSAGE REPLIES FROM THE KERNEL DEVELOPMEN LIST} \label{kernlist}
Here are the letter I've got from the developers of the kernel, that where posted on the ``Linux kernel development list''. Please see reference \cite{49} for more information.
\section{Jeff Garzik 26 May 2001 22:27:09}\label{a1}
\begin{verbatim}Date: Sat, 26 May 2001 22:27:09 -0400
From: Jeff Garzik <jgarzik@mandrakesoft.com>
Organization:MandrakeSoft
To: cesar.da.silva@cyberdude.com
Cc:linux-kernel@vger.kernel.org
Subject:Re: Please help me fill in the blank
Cesar Da Silva wrote:
> The features that I'm wondering about are:
> * Dynamic Processor Resilience
is this fault tolerance? I think if a CPU croaks, you are dead.
There are patches for hot swap cpu support, but I haven't seen any CPU
fault tolerance patches that can handle a dead processor
> * Dynamic Memory Resilience
RAM fault tolerance? There was a patch a long time ago which detected
bad ram, and would mark those memory clusters as unuseable at boot.
However that is clearly not dynamic.
If your memory croaks, your kernel will experience random corruptions
> * Dynamic Page Sizing
no
> * Live Upgrade
LOBOS will let one Linux kernel boot another,but that requires a boot
step, so it is not a live upgrade. so, no, afaik
> * Alternative I/O Pathing
be less vague
> * HSM
patches exist, I believe
> * TCP selective acknowledgement (SACK)
yes
> * Service Location Protocol (SLP)
don't know
> * ATM IP switching
yes, I believe
> * SOCKS 5 support
yes, via userspace apps/libs
> * Multilink PPP
yes
> * TCP/IP Gratuitous ARP (RFC 2002)
not sure
> * Path MTU Discovery (RFC 1191)
yes
> * Path MTU Discovery over UDP
not sure, but I think so
> * IP Multipath Routing
yes
> The questions I have about the features above are:
> * Are any of the above features implemented in the
> kernel? If yes, where can I read (url-link to the
> article, paper... please) about it?
\end{verbatim}
\section{Jonathan Morton 27 May 2001}\label{a2}
\begin{verbatim}
Datum:Sun, 27 May 2001 03:50:28 +0100
To:jgarzik@mandrakesoft.com, cesar.da.silva@cyberdude.com
From:Jonathan Morton <chromi@cyberspace.org>
Subject:Re: Please help me fill in the blanks.
Cc:linux-kernel@vger.kernel.org
>> * Live Upgrade
>
>LOBOS will let one Linux kernel boot another, but that requires a boot
>step, so it is not a live upgrade. so, no, afaik
If you build nearly everything (except, obviously what you need to boot) as
modules, you can unload modules, build new versions, and reload them. So,
you could say that partial support for "live upgrades" is included.
It works, too - I unloaded my OV511 driver a few weeks ago, copied the
source for the new one in, built it, and re-inserted it. Same goes for the
DRM module a couple of weeks before that. Now, the machine in question
gets rebooted fairly often in any case, but those were things I *didn't*
have to reboot for.
--------------------------------------------------------------
from: Jonathan "Chromatix" Morton
mail: chromi@cyberspace.org (not for attachments)
big-mail: chromatix@penguinpowered.com
uni-mail: j.d.morton@lancaster.ac.uk
The key to knowledge is not to rely on people to teach you it.
Get VNC Server for Macintosh from http://www.chromatix.uklinux.net/vnc/
-----BEGIN GEEK CODE BLOCK-----
Version 3.12
GCS$/E/S dpu(!) s:- a20 C+++ UL++ P L+++ E W+ N- o? K? w--- O-- M++$ V? PS
PE- Y+ PGP++ t- 5- X- R !tv b++ DI+++ D G e+ h+ r++ y+(*)
-----END GEEK CODE BLOCK-----
\end{verbatim}
\section{Jeff Garzik 26 May 2001 22:55:04}\label{a3}
\begin{verbatim}
Date: Sat, 26 May 2001 22:55:04 -0400
From: Jeff Garzik <jgarzik@mandrakesoft.com>
Organization: MandrakeSoft
To: chromi@cyberspace.org
Cc: cesar.da.silva@cyberdude.com, linux-kernel@vger.kernel.org
mne: Re: Please help me fill in the blanks.
Jonathan Morton wrote:
>
> >> * Live Upgrade
> >
> >LOBOS will let one Linux kernel boot another, but that requires a
boot
> >step, so it is not a live upgrade. so, no, afaik
>
> If you build nearly everything (except, obviously what you need to
boot) as
> modules, you can unload modules, build new versions, and reload them.
So,
> you could say that partial support for "live upgrades" is included.
I stand corrected, though I clearly know better:
Modules are unloaded/reloaded all the time during my driver development
:)
--
Jeff Garzik | Disbelief, that's why you fail.
Building 1024 |
MandrakeSoft |
\end{verbatim}
\section{Dan Hollis 26 May 2001}\label{a4}
\begin{verbatim}
Date: Sat, 26 May 2001 21:25:28 -0700 (PDT)
From: Dan Hollis <goemon@anime.net>
To: thunderlight1@yahoo.com
Subject: Re: Please help me fill in the blanks.
On Sun, 27 May 2001, Cesar Da Silva wrote:
> * Live Upgrade
implemented
> * TCP selective acknowledgement (SACK)
implemented
> * SOCKS 5 support
implemented
> * Multilink PPP
implemented
> * Path MTU Discovery (RFC 1191)
implemented
> * IP Multipath Routing
implemented
\end{verbatim}
\section{James Sutherland 27 May 2001}\label{a5}
\begin{verbatim}
Date: Sun, 27 May 2001 09:17:15 +0100 (BST)
From: James Sutherland <jas88@cam.ac.uk>
To: jgarzik@mandrakesoft.com
Cc: cesar.da.silva@cyberdude.com, linux-kernel@vger.kernel.org
Subject: Re: Please help me fill in the blanks.
On Sat, 26 May 2001, Jeff Garzik wrote:
> Cesar Da Silva wrote:
> > The features that I'm wondering about are:
> > * Dynamic Processor Resilience
>
> is this fault tolerance? I think if a CPU croaks, you are dead.
>
> There are patches for hot swap cpu support, but I haven't seen any
CPU
> fault tolerance patches that can handle a dead processor
The S/390 has this; presumably it applies to Linux as well as the other
supported OSs?
> > * Dynamic Memory Resilience
>
> RAM fault tolerance? There was a patch a long time ago which
detected
> bad ram, and would mark those memory clusters as unuseable at boot.
> However that is clearly not dynamic.
>
> If your memory croaks, your kernel will experience random corruptions
ECC can be supported by the hardware; no support for mapping out duff
banks on x86, but again S/390 may differ?
> > * Live Upgrade
>
> LOBOS will let one Linux kernel boot another, but that requires a
boot
> step, so it is not a live upgrade. so, no, afaik
Live SOFTWARE upgrade, or live HARDWARE upgrade? If the latter, things
like hotswap PCI, USB... and again the S/390?
> > * Service Location Protocol (SLP)
>
> don't know
Yes, I think so - mars_nwe surely needs this?
> > * TCP/IP Gratuitous ARP (RFC 2002)
>
> not sure
Isn't that how LVS clusters handle IP takeovers?
> > * Path MTU Discovery (RFC 1191)
>
> yes
With one or two RFC violations, yes.
Basically, most of those features relating to hardware resilience
should
be usable with Linux on an S/390 - they are hardware features, though,
AFAICS?
James.
\end{verbatim}
\section{Ingo Oeser 27 May 2001}\label{a6}
\begin{verbatim}
Date: Sun, 27 May 2001 10:27:07 +0200
From: Ingo Oeser <ingo.oeser@informatik.tu-chemnitz.de>
To: jgarzik@mandrakesoft.com
Cc: cesar.da.silva@cyberdude.com, linux-kernel@vger.kernel.org
Subject: Re: Please help me fill in the blanks.
On Sat, May 26, 2001 at 10:27:09PM -0400, Jeff Garzik wrote:
> > * Service Location Protocol (SLP)
www.openslp.org
Regards
Ingo Oeser
--
To the systems programmer,
users and applications serve only to provide a test load.
\end{verbatim}
\section{Dominik Kubla 27 May 2001}\label{a7}
\begin{verbatim}
Date: Sun, 27 May 2001 10:57:10 +0200
From: Dominik Kubla <dominik.kubla@uni-mainz.de>
To: jgarzik@mandrakesoft.com
Cc: cesar.da.silva@cyberdude.com, linux-kernel@vger.kernel.org
Subject: Re: Please help me fill in the blanks.
On Sat, May 26, 2001 at 10:27:09PM -0400, Jeff Garzik wrote:
>
> > * Service Location Protocol (SLP)
>
> don't know
Userspace: http://www.openslp.org/
> > * TCP/IP Gratuitous ARP (RFC 2002)
>
> not sure
Userspace. Also no tool comes to my mind, arping should be easily
modified
to do this.
Dominik
--
A lovely thing to see: Kobayashi Issa
through the paper window's holes (1763-1828)
the galaxy. [taken from: David Brin - Sundiver]
\end{verbatim}
\section{Ville Herva 27 May 2001}\label{a8}
\begin{verbatim}
Date: Sun, 27 May 2001 20:21:19 +0300
From: Ville Herva <vherva@mail.niksula.cs.hut.fi>
To: jgarzik@mandrakesoft.com
Cc: cesar.da.silva@cyberdude.com, linux-kernel@vger.kernel.org
Subject: Re: Please help me fill in the blanks.
> > * Dynamic Memory Resilience
>
> RAM fault tolerance? There was a patch a long time ago which
detected
> bad ram, and would mark those memory clusters as unuseable at boot.
> However that is clearly not dynamic.
If you are referring to Badram patch by Rick van Rein
(http://rick.vanrein.org/linux/badram/), it doesn't detect the bad ram,
memtest86 does that part (and does it well) -- you enter then enter the
badram clusters as boot param. But I have to say badram patch works
marvellously (thanks, Rick.) Shame it didn't find its way to standard
kernel.
\end{verbatim}
\end{document}
% LocalWords: Tru Cesar da silva Andreas Larsson VLE UX Torvald AXP UltraSPARC
% LocalWords: PowerPC SuperH IA AMD NT FreeBSD OSF Itanium Torvalds filesystem
|