GPL 和 Free • Linux 操作系统遵从 GNU 公共许可证( GNU Public License ,简称 GPL )的规 定。 • Linux 对外的一个重要的特点就 是” Free” ,自由和免费。
Acegene IT Co. Ltd. 5
What is Linux? • Linux is an operating system with the following attributes: – Multi-user – Multi-tasking – Virtual memory system – X-Windows – Compatible with the IEEE POSIX.1 standard – Non-proprietary source code – Source code is available
Acegene IT Co. Ltd. 6
Is Linux the same as UNIX? • The command set is similar • They work the same • They look the same • Linux cannot use the UNIX trademark • Linux is essentially UNIX
Acegene IT Co. Ltd. 7
Is Linux a real OS? • Yes, absolutely • Linux is used – In mission critical applications – Around the world • There are many flavors of Linux available – We call them: Distributions
Acegene IT Co. Ltd. 8
Linux 发行 版本的概念 • 大多数的 Linux 操作系统的发行版本都使用标准 的 Linux 内核,但有时候也会稍微加以修改,这 个操作系统现在的规模已经变得相当庞大了,因 此许多人更愿意购买一张它的 CD-ROM 光盘。 每一种发行版本彼此之间都稍微有一些差异,这 些差异主要表现在它们各自的安装程序包上,还 表现在安全性与可用性等方面侧重点的不同。把 系统内核、附带的工具程序及应用软件包等等打 包在一起,这样组成的一个 Linux 操作系统的集 合体就是我们说的某一种发行版本。
Acegene IT Co. Ltd. 9
谁使用 Linux 操作系 统 • Linux 正在逐渐赢得普通用户的青睐。但是它仍 然不是一个适用于普通大众的操作系统。对那些 习惯了当今鼠标界面操作系统的人们来说, 学习 仍是很困难的。需要学习一大套从未接触过的命 令,还需要学习与长期形成的概念不相同的那些 对待与处理事情的方法。对那些具有 UNIX 操作 系统使用经验的人们来说, Linux 可是容易多了 。 • 专业用户、系统管理员和计算机开发人员通常都 会比一般的用户更容易掌握 Linux 操作系统。但 就是对这些人来说,这方面的学习与实践也需要 有足够的耐心与专心。
Acegene IT Co. Ltd. 10
Enterprise vs. Retail • Retail distributions – Faster release cycles (4-6 months) – Geared for home/productivity users – Shorter support lifetimes – Examples: RHL9, SuSE Linux 9 • Enterprise level distributions – Slower release cycles (12-18 months) – Longer support lifetimes (3-5 years) – Examples: RHEL3/4, SLES9 – Adds performance and scalability enhancements Acegene IT Co. Ltd. 11 Linux Distribution Overview • The core parts of a Linux system are: – Linux kernel – User space utilities and applications • The kernel and user space programs together make up the complete operating system Linux Kernel • Core component of the operating system – Configurable and tunable – Provides main OS functions • I/O, disk, network, etc. • CPU Scheduling • Memory management • uname -r shows the kernel version #number: uname -r 2.4.9-e.25 Kernel concepts • Linux is based on a modular non- microkernel architecture – All device drivers share the same memory with the kernel – Device drivers are modular and can be loaded/unloaded dynamically • Linux is multi-tasking • Linux is a virtual-memory OS • Most kernel parameters can be modified on the fly Acegene IT Co. Ltd. 14 Software Packages • All components of the operating system are delivered via RPM packages – Kernel – System utilities – Applications • Both Red Hat and SLES8 distributions use the RPM Package Manager (RPM) – Originally named “Red Hat Package Manager” Linux Updates • Apply the recommended updates by the distribution vendor: – Most vendors provide automatic updates • Red Hat Network supplies updates automatically – up2date • SuSE uses – YaST2 (Yet Another Setup Tool 2) – you (YaST Online Update) Linux Enterprise Features • Linux enterprise features support : – Performance – Scalability – Reliability Symmetric Multiprocessing • Fully multiprocessor capable (SMP) – RHEL3: 16 processors – SLES8: 32 processors – Uniprocessor configuration supported on both • Intel Hyperthreading (HT) enabled on IA-32 – Physical-to-logical CPU affinity scheduling
Acegene IT Co. Ltd. 18
Improved Memory Utilization • Use more than 4GB of RAM on IA-32 – RHEL 2.1: max 16GB supported – RHEL3: max 64GB supported – SLES8: up to 64GB supported – Some older drivers not capable of accessing more than 4GB of RAM • May perform “bounce buffering” to compensate • Usually not a concern for enterprise-class drivers • Kernel memory used more efficiently than before • Run more processes without swapping
Acegene IT Co. Ltd. 19
Virtual Memory • Each process has a private address space – Keeps private data in memory secure – Prevents inter-process data corruption – Contiguous view of memory • Demand-based paging – Pages are “swapped” out when low on RAM – Pages are “swapped” in when accessed again • Allows the system to use more memory than any single space can address
Acegene IT Co. Ltd. 20
Virtual Filesystem (VFS) • Linux supports multiple file systems – OS is file system independent – Multiple file systems can be used simultaneously • Cross-platform compatibility • Performance • VFS provides a single filesystem interface Filesystems • Important ones to know: – ext2/3 - Red Hat default (ext3) – reiserfs - SLES8 default – NFS - Network Filesystem – Procfs - kernel virtual filesystem – ISO 9660 (CD-ROM) – OCFS - Oracle Cluster Filesystem • ext2/3 and reiserfs are the most common • Use OCFS instead of raw devices in RAC
Acegene IT Co. Ltd. 22
Filesystem Cache • Buffers all filesystem I/O – All filesystem I/O is copied to/from cache buffers – By default, writes are not immediately flushed • Hardware I/O is deferred – Reads benefit from previous accesses as well as automatic read-ahead • May not need to perform a real hardware I/O • Made up of page cache and buffer cache – Page cache tends to be more heavily used • Reduced automatically when low on RAM
Acegene IT Co. Ltd. 23
Raw Devices • Have traditionally been considered the high performance solution – Bypasses the filesystem buffer cache – Moves larger buffers than file system I/Os • Requires more experienced administration
Write
Read Process Disk file
Acegene IT Co. Ltd. 24
Modular Drivers • Loadable kernel modules (LKM) • Can be unloaded/reloaded without rebooting • Modules provide: – Device drivers – File system drivers – System calls – Network drivers – Executable interpreters – Terminal device (TTY) drivers Acegene IT Co. Ltd. 25 I/O Modes • Disk I/O can be performed in several different modes – Asynchronous vs. synchronous – Direct vs. buffered
Linux Clusters • Scalable Shared Storage – SCSI, SAN (FibreChannel), Firewire (devel.) • Must use raw devices or OCFS – Network Attached Storage (NFS) – LVM and software RAID (“md”) not cluster-aware • Linux includes cluster management software
Acegene IT Co. Ltd. 28
Linux Kernel Enhancements • Performance – Asynchronous I/O – Eliminate kernel locks – Large SGA: > 4 GB – Support more Oracle users • Stability – Graceful degradation under load • Manageability – (Remote) Crash Dump Facility – Configuration scripts
Acegene IT Co. Ltd. 29
Kernel Asynchronous I/O • Allows each process to submit hundreds of I/O requests at a time • Kernel aio is more efficient than user aio – user aio spawns a thread for each I/O request • Not available in older distributions – On Linux, Oracle is shipped with AIO off – Must relink oracle binary to enable it
Acegene IT Co. Ltd. 30
Scalable I/O subsystem • Older kernels used a single global lock for the entire I/O subsystem (“io_request_lock”) • Newer kernels support per-device locking – Requires driver support – Most enterprise-class drivers have already been modified • Qlogic • LSI/Dell Megaraid • HP/Compaq Acegene IT Co. Ltd. 31 Summary • Linux is – An open-source fully featured operating system – Being adopted in the enterprise arena today