2nd

26
PRINCIPLE OF OPERATING SYSTEM Jelqui T. Chico BSIT-31A

description

OS

Transcript of 2nd

Page 1: 2nd

PRINCIPLE OF OPERATING SYSTEM

Jelqui T. Chico BSIT-31A

Page 2: 2nd

TITLE

Page 3: 2nd

HISTORY In December 1994, NetBSD co-founder Theo de Raadt was asked to resign from his position as a senior developer and member of the NetBSD core team. The reason for this is not wholly clear, although there are claims that it was due to personality clashes within the NetBSD project and on its mailing lists.In October 1995, de Raadt founded OpenBSD, a new project forked from NetBSD 1.0. The initial release, OpenBSD 1.2, was made in July 1996, followed in October of the same year by OpenBSD 2.0.Since then, the project has followed a schedule of a release every six months, each of which is maintained and supported for one year. The latest release, OpenBSD 5.3, appeared on 1 May 2013.On 25 July 2007, OpenBSD developer Bob Beck announced the formation of the OpenBSD Foundation, a Canadian not-for-profit corporation formed to "act as a single point of contact for persons and organizations requiring a legal entity to deal with when they wish to support OpenBSD.Just how widely OpenBSD is used is hard to ascertain: its developers neither publish nor collect usage statistics, and there are few other sources of information. In September 2005, the nascent BSD Certification Group performed a usage survey which revealed that 32.8% of BSD users (1420 of 4330 respondents) were using OpenBSD, placing it second of the four major BSD variants, behind FreeBSD with 77% and ahead of NetBSD with 16.3%.

Page 4: 2nd

Bar chart showing the proportion of users of each BSD variant from a 2005 BSD usage survey. Each participant was permitted to indicate multiple BSD variants.

Page 5: 2nd

OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution (BSD), a Unix derivative developed at the University of California, Berkeley. It was forked from NetBSD by project leader Theo de Raadt in late 1995. As well as the operating system, the OpenBSD Project has produced portable versions of numerous subsystems, most notably PF, OpenSSH and OpenNTPD, which are very widely available as packages in other operating systems.

Page 6: 2nd

VERSIONS The OpenBSD project produces a FREE, multi-platform 4.4BSD-based UNIX-like operating system. Our efforts emphasize portability, standardization, correctness, proactive security and integrated cryptography. OpenBSD is freely available from our FTP sites, and also available in an inexpensive 3-CD set. The current release is OpenBSD 5.3 which was released May 1, 2013. As well, pre-orders for the upcoming OpenBSD 5.4 release are enabled at our order site. OpenBSD is developed entirely by volunteers. The project pays for the development environment and developer events by selling CDs through a collection of stores and by accepting donations from organizations and individuals. These finances ensure that OpenBSD will continue to exist, and will remain free for everyone to use and reuse as they see fit. T-shirts and posters are available as well.

Page 7: 2nd

VERSIONS Date Version 1995 Oct. OpenBSD 1.0 1996 Oct. OpenBSD 2.0 1997 June OpenBSD 2.1 1997 Dec. OpenBSD 2.2 1998 May OpenBSD 2.3 1998 Dec. OpenBSD 2.4 1999 May OpenBSD 2.5 1999 Dec. OpenBSD 2.6 2000 June OpenBSD 2.7 2000 Dec. OpenBSD 2.8 2001 June OpenBSD 2.9 2001 Dec. OpenBSD 3.0 2002 May OpenBSD 3.1 2002 Nov. OpenBSD 3.2 2003 May OpenBSD 3.3 2003 Nov. OpenBSD 3.4 2004 May OpenBSD 3.5

Page 8: 2nd

VERSIONS 2004 Nov. OpenBSD 3.6 2005 May OpenBSD 3.7 2005 Nov. OpenBSD 3.8 2006 May OpenBSD 3.9 2006 Nov. OpenBSD 4.0, improved hardware support,

updated software 2007 May OpenBSD 4.1 2007 Nov. OpenBSD 4.2, more device drivers, more

supported platforms 2008 May OpenBSD 4.3 2008 Nov. OpenBSD 4.4 2009 May OpenBSD 4.5

Page 9: 2nd

FEATURES OpenBSD is a Unix-like BSD-based operating system renowned for

its security. This security means it can be very unforgiving of even slightly ill-

behaved programs - both applications running on OpenBSD, and virtual machines OpenBSD is running on.

(Running Windows applications on OpenBSD at all is a ridiculous idea in security terms, but it's interesting and has hack value and will make Wine better and more robust.)

Status Wine 1.1.39 now successfully compiles on OpenBSD. Runs with a

few hacks from their port.Rough plan look at any tweaks for freshports, see if those help, file a Wine

bug and submit patches as needed Once it's compiling: kick it a lot, see what works

Page 10: 2nd

FEATURES KaiBlin notes: "Basically, the best way to get a new, uncommon POSIX OS

supported in Wine is to get somebody familiar with (programming on) the OS to work on Wine, or at least closely with the Wine developers. That's how FreeBSD was fixed to better support Wine's needs some time ago. This required a couple of patches to the FreeBSD kernel, IIRC, so if the OpenBSD kernel lacks a feature Wine needs, you might have to spend time talking to the OpenBSD team to get features added."

One might be able to implement these missing system calls in a loadable kernel module ... it's unlikely the OpenBSD folks would just put new stuff in their kernel for Wine without checking that code thoroughly.

Bugs (and not-yet-filed bugs) All open OpenBSD bugs http://bugs.winehq.org/show_bug.cgi?id=16649 http://bugs.winehq.org/show_bug.cgi?id=16666 http://bugs.winehq.org/show_bug.cgi?id=16687 http://bugs.winehq.org/show_bug.cgi?id=16689 http://bugs.winehq.org/show_bug.cgi?id=16734 http://bugs.winehq.org/show_bug.cgi?id=17896 http://bugs.winehq.org/show_bug.cgi?id=21895 http://bugs.winehq.org/show_bug.cgi?id=21896

Page 11: 2nd

FEATURESAvoid virtual machines It's unlikely to be useful to report Wine bugs from OpenBSD in a

virtual machine. (Though, VMWare Workstation seems to work decently well with OpenBSD 4.6. Virtualbox craps out.)

OpenBSD doesn't work properly in many virtual machines, because it puts quite a lot of strain on the quality of the emulation.

So only file bugs that you've seen manifest on a physical PC.

Page 12: 2nd

FEATURES Build Instructions This is all on OpenBSD 4.6, YMMV, IANAL, etc.: # export

PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/4.8/packages/i386/ # pkg_add autoconf-2.65 bison git gnutls sane-backends jpeg

openldap-client lcms gsm m4 mpg123 png libxml libxslt # curl -L -o flex-2.5.35.tar.gz

http://prdownloads.sourceforge.net/flex/flex-2.5.35.tar.gz?download

# tar -xvzf flex-2.5.35.tar.gz # cd flex-2.5.35 # ./configure && make && make install $ git clone git://source.winehq.org/git/wine.git ~/wine-git $ cd ~/wine-git/ $ export CFLAGS="-I/usr/local/include -I/usr/local/include/libpng" $ export LDFLAGS="-lm -lz -lcrypto -L/usr/local/lib" $ export X_EXTRA_LIBS="-lXau -lXdmcp" $ export CPPFLAGS="-I/usr/local/include" $ export FLEX=/usr/local/bin/flex

Page 13: 2nd

FEATURES Apply some OpenBSD patches:

http://www.openbsd.org/cgi-bin/cvsweb/ports/emulators/wine/patches/

And finally configure/build. $ ./configure && make

You'll still get compiler warnings. Some are Wine bugs, some are OpenBSD bugs, but they're not that big of a deal. I'm currently looking into most of these. (AustinEnglish)

Before running any apps, you'll need to run (as root/sudo)

# sysctl machdep.userldt = 1 Or for a more permanent fix, add to /etc/sysctl.conf.

Page 14: 2nd

FEATURESContributingIf you'd like to help with Wine on OpenBSD, the best things to do are:

Fix the outstanding Wine bugs (see the list above). Most of these aren't fixed because no one knows both Wine and OpenBSD well enough to fix them properly.

Fix bugs on OpenBSD's end (many packages needed are either missing or broken in ports).

For those of you not as coding inclined, but with access to an OpenBSD box: Run a nightly build on OpenBSD. This helps us to catch

regressions faster. Make sure there are no new compiler bugs/warnings introduced. If any are, report it to wine-devel or bugzilla immediately.

Page 15: 2nd

TWO SOURCES In production and development, open source as a development

model promotes a) universal access via free license to a product's design or blueprint, and b) universal redistribution of that design or blueprint, including subsequent improvements to it by anyone.[1] Before the phrase open source became widely adopted, developers and producers used a variety of terms for the concept; open source gained hold with the rise of the Internet, and the attendant need for massive retooling of the computing source code.[2] Opening the source code enabled a self-enhancing diversity of production models, communication paths, and interactive communities.[3] The open-source software movement arose to clarify the environment that the new copyright, licensing, domain, and consumer issues created.[citation needed]

Generally, open source refers to a computer program in which the source code is available to the general public for use and/or modification from its original design. Open source code is typically created as a collaborative effort in which programmers improve upon the code and share the changes within the community. Open source sprouted in the technological community as a response to proprietary software owned by corporations.

Page 16: 2nd

TWO SOURCES Two main types of open source software may be free and non-free

(shared source). The open-source model includes the concept of concurrent yet

different agendas and differing approaches in production, in contrast with more centralized models of development such as those typically used in commercial software companies.[page needed] A main principle and practice of open-source software development is peer production by bartering and collaboration, with the end-product, source-material, "blueprints", and documentation available at no cost to the public. This model is also used for the development of open-source-appropriate technologies,solar photovoltaic technology and open-source drug discovery.

Page 17: 2nd

INSTALLATION PROCEDURE

OpenBSD has long been respected for its simple and straight forward installation process, which is consistent across all platforms. All platforms use a very similar installation procedure, however there are some minor differences in details on a few platforms. In all cases, you are urged to read the platform-specific INSTALL document in the platform directory on the CD-ROM or FTP sites (for example, i386/INSTALL.i386, macppc/INSTALL.macppc or sparc/INSTALL.sparc). The OpenBSD installer is a special kernel with a number of utilities and install scripts embedded in a pre-loaded RAM disk. After this kernel is booted, the operating system is extracted from a number of compressed tar(1) (.tgz) files from a source other than this pre-loaded RAM disk. There are several ways to boot this install kernel: Floppy disk: OpenBSD can be installed on many platforms by booting an installer from a single floppy disk. However, due to space constraints, some larger platforms (sparc64, amd64, alpha) do not have some utilities which may be important to you, such as a DHCP client to configure the network. For these platforms, you may do better with the CD install. However, for platforms like i386 and sparc, you will find the boot floppy very complete. Floppy disk images are provided which can be used to create an install floppy on another Unix-like system, or on a Windows system. Typical file names are floppy53.fs, though several platforms have multiple floppy images available.

Page 18: 2nd

INSTALLATION PROCEDURE CD-ROM: On several platforms a CD-ROM image (cd53.iso for just booting, or install53.iso for the entire install) is provided allowing creation of a bootable CD-ROM. Existing partition: The RAM disk kernel can be booted off an already existing partition for an upgrade or reinstall. Network: Some platforms support booting over a network (for example using PXE or other network boot). Writing a file system image to disk (miniroot): a filesystem image that can be written to an existing partition, and then can be booted. Bootable Tape: Some platforms support booting from tape. These tapes can be made following the INSTALL.platform instructions.

Not every platform supports all boot options: alpha: Floppy, CD-ROM, network, writing a floppy image to hard disk. amd64: Floppy, CD-ROM, network. armish: Varies by machine. hp300: CD-ROM, network. hppa: Network. i386: Floppy, CD-ROM, network. landisk: miniroot, installed using another computer. macppc: CD-ROM, network. mvme68k: Network, bootable tape.

Page 19: 2nd

INSTALLATION PROCEDURE mvme88k: Network, bootable tape. sparc: Floppy, CD-ROM, network, writing image to existing swap partition,

bootable tape. sparc64: Floppy (U1/U2 only), CD-ROM, network, writing image to existing

partition. vax: Floppy, network. zaurus: Boot bsd.rd from Linux partition. See INSTALL.zaurus for details. All platforms can also use a bsd.rd to reinstall or upgrade. Once the install kernel is booted, you have several options of where to get the

install file sets. Again, not every platform supports every option. CD-ROM: Of course, we prefer you use the Official CD-ROM set, but you can

also use install53.iso or you can make your own. FTP: Either one of the OpenBSD FTP mirror sites or your own local FTP server

holding the file sets. HTTP: Either one of the OpenBSD HTTP mirror sites or your own local web

server holding the file sets. Local disk partition: In many cases, you can install file sets from another

partition on a local hard disk. For example, on i386, you can install from a FAT partition or a CD-ROM formatted in ISO9660, Rock Ridge or Joliet format. In some cases, you will have to manually mount the file system before using it.

NFS: Some platforms support using NFS mounts for the file sets. Tape: File sets can also be read from a supported tape. Details on creating the

tape are in the INSTALL.platform document.

Page 20: 2nd

SCREEN SHOTS This page was originally written to demonstrate that OpenBSD is

indeed not "a server OS" or "a hacker OS". It is used by a lot of people on workstations and home PCs. This page when it first appeared had the statement 'OpenBSD is not suitable to use as a desktop OS? Hah!' on the top. Now it has this explanation.

It has been rightfully pointed out that there are millions of screenshots about Gimp while there are far too few about how you make this or that work. This requires due attention; indeed, you need the latter much more than the former. Still, this page exists and will continue to exist, to announce to the world what is stated in the first paragraph. It is not "an official OpenBSD screenshot page", because there isn't one. This is just my personal way of OpenBSD advocacy.

Page 21: 2nd

MiscellaneousRunning Gimp 1.2,Konqueror and Vi Improved 5.7 under KDE 2.1.1 - all available in prebuilt packages for i386 or ports for all architechtures.(116098 bytes at 800x640)(260621 bytes at 1280x1024)

Page 22: 2nd

KDE configurationRunning KDE 2.1.1 configuration.(83120 bytes at 800x640)(183002 bytes at 1280x1024)

Page 23: 2nd

GimpRunning Gimp 1.2.171316 bytes at 800x640)(385275 bytes at 1280x1024)

Page 24: 2nd

Hacking aroundEditing kernel startup source while going to update Apache 1.3.19 from OpenBSD anonCVS and build it. (Spotting the catchya is left as an exercise to the reader.)(102241 bytes at 800x640)(255207 bytes at 1280x1024)

Page 25: 2nd

More hackingEditing pdksh source, rebuilding it from OpenBSD anonCVS and debugging it with gdb, the GNU debugger.(101105 bytes at 800x640)(261985 bytes at 1280x1024)