Cooperative Linux

Total Page:16

File Type:pdf, Size:1020Kb

Cooperative Linux Cooperative Linux Dan Aloni [email protected] Abstract trol on the physical hardware, where the other is provided only with virtual hardware abstrac- tion. From this point on in the paper I’ll refer In this paper I’ll describe Cooperative Linux, a to these two kernels as the host operating sys- port of the Linux kernel that allows it to run as tem, and the guest Linux VM respectively. The an unprivileged lightweight virtual machine in host can be every OS kernel that exports basic kernel mode, on top of another OS kernel. It al- primitives that provide the Cooperative Linux lows Linux to run under any operating system portable driver to run in CPL0 mode (ring 0) that supports loading drivers, such as Windows and allocate memory. or Linux, after minimal porting efforts. The pa- per includes the present and future implemen- The special CPL0 approach in Cooperative tation details, its applications, and its compar- Linux makes it significantly different than ison with other Linux virtualization methods. traditional virtualization solutions such as Among the technical details I’ll present the VMware, plex86, Virtual PC, and other meth- CPU-complete context switch code, hardware ods such as Xen. All of these approaches work interrupt forwarding, the interface between the by running the guest OS in a less privileged host OS and Linux, and the management of the mode than of the host kernel. This approach VM’s pseudo physical RAM. allowed for the extensive simplification of Co- operative Linux’s design and its short early- 1 Introduction beta development cycle which lasted only one month, starting from scratch by modifying the vanilla Linux 2.4.23-pre9 release until reach- Cooperative Linux utilizes the rather under- ing to the point where KDE could run. used concept of a Cooperative Virtual Machine (CVM), in contrast to traditional VMs that The only downsides to the CPL0 approach is are unprivileged and being under the complete stability and security. If it’s unstable, it has the control of the host machine. potential to crash the system. However, mea- sures can be taken, such as cleanly shutting it The term Cooperative is used to describe two down on the first internal Oops or panic. An- entities working in parallel, e.g. coroutines [2]. other disadvantage is security. Acquiring root In that sense the most plain description of Co- user access on a Cooperative Linux machine operative Linux is turning two operating sys- can potentially lead to root on the host ma- tem kernels into two big coroutines. In that chine if the attacker loads specially crafted ker- mode, each kernel has its own complete CPU nel module or uses some very elaborated ex- context and address space, and each kernel de- ploit in case which the Cooperative Linux ker- cides when to give control back to its partner. nel was compiled without module support. However, only one of the two kernels has con- 24 • Linux Symposium 2004 • Volume One Most of the changes in the Cooperative Linux workstation computer that runs Cooper- patch are on the i386 tree—the only supported ative Linux as a screen saver—when the architecture for Cooperative at the time of this secretary goes home at the end of the day writing. The other changes are mostly addi- and leaves the computer unattended, the tions of virtual drivers: cobd (block device), office’s cluster gets more CPU cycles for conet (network), and cocon (console). Most of free. the changes in the i386 tree involve the initial- ization and setup code. It is a goal of the Coop- • Running an otherwise-dual-booted erative Linux kernel design to remain as close Linux system from the other OS. The as possible to the standalone i386 kernel, so all Windows port of Cooperative Linux changes are localized and minimized as much allows it to mount real disk partitions as possible. as block devices. Numerous people are using this in order to access, rescue, or just run their Linux system from their 2 Uses ext3 or reiserfs file systems. Cooperative Linux in its current early state • Using Linux as a Windows firewall on can already provide some of the uses that the same machine. As a likely competi- User Mode Linux[1] provides, such as vir- tor to other out-of-the-box Windows fire- tual hosting, kernel development environment, walls, iptables along with a stripped-down research, and testing of new distributions or Cooperative Linux system can potentially buggy software. It also enabled new uses: serve as a network firewall. • Linux kernel development / debugging • Relatively effortless migration path / research and study on another operat- from Windows. In the process of switch- ing systems. ing to another OS, there is the choice be- tween installing another computer, dual- Digging inside a running Cooperative booting, or using a virtualization soft- Linux kernel, you can hardly tell the ware. The first option costs money, the difference between it and a standalone second is tiresome in terms of operation, Linux. All virtual addresses are the but the third can be the most quick and same—Oops reports look familiar and the easy method—especially if it’s free. This architecture dependent code works in the is where Cooperative Linux comes in. It same manner, excepts some transparent is already used in workplaces to convert conversions, which are described in the Windows users to Linux. next section in this paper. • Adding Windows machines to Linux • Development environment for porting clusters. The Cooperative Linux patch to and from Linux. is minimal and can be easily combined with others such as the MOSIX or Open- MOSIX patches that add clustering ca- 3 Design Overview pabilities to the kernel. This work in progress allows to add Windows machines to super-computer clusters, where one In this section I’ll describe the basic meth- illustration could tell about a secretary ods behind Cooperative Linux, which include Linux Symposium 2004 • Volume One • 25 complete context switches, handling of hard- host OS kernel. Most of the driver is OS- ware interrupts by forwarding, physical ad- independent code that interfaces with the OS dress translation and the pseudo physical mem- dependent primitives that include page alloca- ory RAM. tions, debug printing, and interfacing with user space. 3.1 Minimum Changes When a Cooperative Linux VM is created, the driver loads a kernel image from a vmlinux To illustrate the minimal effect of the Cooper- file that was compiled from the patched kernel ative Linux patch on the source tree, here is a with CONFIG_COOPERATIVE. The vmlinux diffstat listing of the patch on Linux 2.4.26 as file doesn’t need any cross platform tools in or- of May 10, 2004: der to be generated, and the same vmlinux file can be used to run a Cooperative Linux VM on CREDITS | 6 several OSes of the same architecture. Documentation/devices.txt | 7 Makefile | 8 arch/i386/config.in | 30 The VM is associated with a per-process arch/i386/kernel/Makefile | 2 arch/i386/kernel/cooperative.c | 181 +++++ resource—a file descriptor in Linux, or a de- arch/i386/kernel/head.S | 4 arch/i386/kernel/i387.c | 8 vice handle in Windows. The purpose of this arch/i386/kernel/i8259.c | 153 ++++ arch/i386/kernel/ioport.c | 10 arch/i386/kernel/process.c | 28 association makes sense: if the process run- arch/i386/kernel/setup.c | 61 + arch/i386/kernel/time.c | 104 +++ ning the VM ends abnormally in any way, all arch/i386/kernel/traps.c | 9 arch/i386/mm/fault.c | 4 resources are cleaned up automatically from a arch/i386/mm/init.c | 37 + arch/i386/vmlinux.lds | 82 +- callback when the system frees the per-process drivers/block/Config.in | 4 drivers/block/Makefile | 1 resource. drivers/block/cobd.c | 334 ++++++++++ drivers/block/ll_rw_blk.c | 2 drivers/char/Makefile | 4 drivers/char/colx_keyb.c | 1221 +++++++++++++* drivers/char/mem.c | 8 3.3 Pseudo Physical RAM drivers/char/vt.c | 8 drivers/net/Config.in | 4 drivers/net/Makefile | 1 drivers/net/conet.c | 205 ++++++ drivers/video/Makefile | 4 In Cooperative Linux, we had to work around drivers/video/cocon.c | 484 +++++++++++++++ include/asm-i386/cooperative.h | 175 +++++ the Linux MM design assumption that the en- include/asm-i386/dma.h | 4 include/asm-i386/io.h | 27 tire physical RAM is bestowed upon the ker- include/asm-i386/irq.h | 6 include/asm-i386/mc146818rtc.h | 7 nel on startup, and instead, only give Cooper- include/asm-i386/page.h | 30 include/asm-i386/pgalloc.h | 7 ative Linux a fixed set of physical pages, and include/asm-i386/pgtable-2level.h | 8 include/asm-i386/pgtable.h | 7 then only do the translations needed for it to include/asm-i386/processor.h | 12 include/asm-i386/system.h | 8 include/linux/console.h | 1 work transparently in that set. All the memory include/linux/cooperative.h | 317 +++++++++ include/linux/major.h | 1 which Cooperative Linux considers as physi- init/do_mounts.c | 3 init/main.c | 9 cal is in that allocated set, which we call the kernel/Makefile | 2 kernel/cooperative.c | 254 +++++++ Pseudo Physical RAM. kernel/panic.c | 4 kernel/printk.c | 6 50 files changed, 3828 insertions(+), 74 deletions(-) The memory is allocated in the host OS using the appropriate kernel function— alloc_pages() in Linux and 3.2 Device Driver MmAllocatePagesForMdl() in Windows—so it is not mapped in any ad- The device driver port of Cooperative Linux dress space on the host for not wasting PTEs. is used for accessing kernel mode and using The allocated pages are always resident and the kernel primitives that are exported by the not freed until the VM is downed.
Recommended publications
  • AMNESIA 33: How TCP/IP Stacks Breed Critical Vulnerabilities in Iot
    AMNESIA:33 | RESEARCH REPORT How TCP/IP Stacks Breed Critical Vulnerabilities in IoT, OT and IT Devices Published by Forescout Research Labs Written by Daniel dos Santos, Stanislav Dashevskyi, Jos Wetzels and Amine Amri RESEARCH REPORT | AMNESIA:33 Contents 1. Executive summary 4 2. About Project Memoria 5 3. AMNESIA:33 – a security analysis of open source TCP/IP stacks 7 3.1. Why focus on open source TCP/IP stacks? 7 3.2. Which open source stacks, exactly? 7 3.3. 33 new findings 9 4. A comparison with similar studies 14 4.1. Which components are typically flawed? 16 4.2. What are the most common vulnerability types? 17 4.3. Common anti-patterns 22 4.4. What about exploitability? 29 4.5. What is the actual danger? 32 5. Estimating the reach of AMNESIA:33 34 5.1. Where you can see AMNESIA:33 – the modern supply chain 34 5.2. The challenge – identifying and patching affected devices 36 5.3. Facing the challenge – estimating numbers 37 5.3.1. How many vendors 39 5.3.2. What device types 39 5.3.3. How many device units 40 6. An attack scenario 41 6.1. Other possible attack scenarios 44 7. Effective IoT risk mitigation 45 8. Conclusion 46 FORESCOUT RESEARCH LABS RESEARCH REPORT | AMNESIA:33 A note on vulnerability disclosure We would like to thank the CERT Coordination Center, the ICS-CERT, the German Federal Office for Information Security (BSI) and the JPCERT Coordination Center for their help in coordinating the disclosure of the AMNESIA:33 vulnerabilities.
    [Show full text]
  • The First Attempt Our Next Attempt Conclusion
    Dr. Henry Neeman, Director of Oscer Chris Franklin, Computer Science undergrad, IT employee Dr. Horst Severini, Associate Director for Remote & Heterogeneous Computing Joshua Alexander, Computer Engineering undergrad, IT employee What is Condor®? The first attempt ® Condor is a program developed by the University of Wisconsin to allow desktop computers to The initial solution we devised was to install VMWare® within a native Linux install, and then to install Windows inside VMWare®. The steps harness idle time to perform computationally intensive operations. See were: “http://www.cs.wisc.edu/condor/” for more information about Condor®. 1. Install Linux as the native host operating system Why do you need it? 2. Install Condor inside Linux 3. Install VMWare® inside Linux ® Condor® provides free computing cycles for scientific and research use, which extends current 4. Install Windows inside VMWare super-computing resources by adding additional computing time. We installed this solution on approximately 200 lab computers across OU’s campus during the summer of 2005. During testing, we noticed a significant performance decrease using Windows inside VMWare®. To alleviate this problem, we changed VMWare® to use raw disk mode. This mode significantly increased disk performance inside VMWare®. If this is so simple, why can’t I just install it? Once we deployed VMWare® in the labs, several more issues appeared: ® Most scientific and research programs are designed for Linux, but most desktops are running • CD/DVD Burning from inside VMWare did
    [Show full text]
  • Virtual Environment for Ipv6 Analysis
    Virtual Environment for IPv6 Analysis ____________________________ Ricardo Alexander Saladrigas Advisor: Dr. Anna Calveras Barcelona DEDICATION To my parents, for giving me opportunities of immeasurable value and supporting me and my farfetched ideas. To my near family, for their accumulated efforts of improving our collective life. And to Maria Alexandra Siso, Robert Baumgartner, Alyssa Juday and Marc Ramirez for keeping me sane. i ACKNOWLEDGMENTS I extend my gratitude to everyone that has made my work possible. I express my thanks to the communities of VirtualBox, StackOverflow, ServerFault and Ubuntu Help as well as the Reddit communities for Linux and Networking for answering all my technical questions in detail and without prejudice I would like to thank Dr Anna Calveras for her guidance and patience. ii RESUMEN Nuestro objetivo fue la creación de una red compuesta de máquinas virtuales conectadas de forma específica a través de interfaces virtuales y con una seria de protocolos pre configurados que permiten la fácil creación de túneles IPv6 y traductores IPv6 a IPv4. Esta red les permitirá a profesores y estudiantes analizar y observar trafico IPv6 real sin la necesidad de una red física. La red está compuesta de múltiples Máquinas Virtuales Ubuntu y una Máquina Virtual Windows 7. La red puede ser fácilmente instalada en un ordenador corriendo Ubuntu o una distribución basada en Ubuntu. Un USB arrancable fue desarrollado para usar la red en un ordenador sin la necesidad de una instalación o de un sistema operativo especifico. Todas las máquinas virtuales Linux pueden fácilmente ser controladas a través de una terminal sin necesidad de clave utilizando una serie de scripts.
    [Show full text]
  • Reactos-Devtutorial.Pdf
    Developer Tutorials Developer Tutorials Next Developer Tutorials Table of Contents I. Newbie Developer 1. Introduction to ReactOS development 2. Where to get the latest ReactOS source, compilation tools and how to compile the source 3. Testing your compiled ReactOS code 4. Where to go from here (newbie developer) II. Centralized Source Code Repository 5. Introducing CVS 6. Downloading and configuring your CVS client 7. Checking out a new tree 8. Updating your tree with the latest code 9. Applying for write access 10. Submitting your code with CVS 11. Submitting a patch to the project III. Advanced Developer 12. CD Packaging Guide 13. ReactOS Architecture Whitepaper 14. ReactOS WINE Developer Guide IV. Bochs testing 15. Introducing Bochs 16. Downloading and Using Bochs with ReactOS 17. The compile, test and debug cycle under Bochs V. VMware Testing 18. Introducing VMware List of Tables 7.1. Modules http://reactos.com/rosdocs/tutorials/bk02.html (1 of 2) [3/18/2003 12:16:53 PM] Developer Tutorials Prev Up Next Chapter 8. Where to go from here Home Part I. Newbie Developer (newbie user) http://reactos.com/rosdocs/tutorials/bk02.html (2 of 2) [3/18/2003 12:16:53 PM] Part I. Newbie Developer Part I. Newbie Developer Prev Developer Tutorials Next Newbie Developer Table of Contents 1. Introduction to ReactOS development 2. Where to get the latest ReactOS source, compilation tools and how to compile the source 3. Testing your compiled ReactOS code 4. Where to go from here (newbie developer) Prev Up Next Developer Tutorials Home Chapter 1. Introduction to ReactOS development http://reactos.com/rosdocs/tutorials/bk02pt01.html [3/18/2003 12:16:54 PM] Chapter 1.
    [Show full text]
  • AV Linux the Distro of Choice for Media Creators
    DISTROHOPPER DISTROHOPPER Our pick of the latest releases will whet your appetite for new Linux distributions. ReactOS Like Windows, but open. K, this isn’t Linux – it’s not even based on Unix – but it is a free Ooperating system that you can try out. ReactOS is a clone of the Windows NT kernel used in Windows XP, and some of the API. This means that in theory, you should be able to use ReactOS just like a Windows system: install the same drivers, run the same software, etc. However, in practice, the implementation is not complete enough to allow you to do this. You can run the simple tools that come with the OS, but not much else. Wine offers a much better chance of being able to run Windows software without a full Windows install. Even though Wine and ReactOS share code, Wine has a much Don’t tell Linus we said this, but some games just don’t look right when running on Linux. better success rate. This is a shame, because if the team had Just because a project isn’t mainstream, Minesweeper, the game that killed millions of been able to create a fully working system that doesn’t mean it’s not interesting. man-hours worth of office-worker time in by the time Microsoft stopped support for Booting up ReactOS feels like taking a trip the last years of the previous millennium. Windows XP, they may have found many back in time – its visual style probably has Perhaps it’s not the best reason to get a new new users.
    [Show full text]
  • Translate's Localization Guide
    Translate’s Localization Guide Release 0.9.0 Translate Jun 26, 2020 Contents 1 Localisation Guide 1 2 Glossary 191 3 Language Information 195 i ii CHAPTER 1 Localisation Guide The general aim of this document is not to replace other well written works but to draw them together. So for instance the section on projects contains information that should help you get started and point you to the documents that are often hard to find. The section of translation should provide a general enough overview of common mistakes and pitfalls. We have found the localisation community very fragmented and hope that through this document we can bring people together and unify information that is out there but in many many different places. The one section that we feel is unique is the guide to developers – they make assumptions about localisation without fully understanding the implications, we complain but honestly there is not one place that can help give a developer and overview of what is needed from them, we hope that the developer section goes a long way to solving that issue. 1.1 Purpose The purpose of this document is to provide one reference for localisers. You will find lots of information on localising and packaging on the web but not a single resource that can guide you. Most of the information is also domain specific ie it addresses KDE, Mozilla, etc. We hope that this is more general. This document also goes beyond the technical aspects of localisation which seems to be the domain of other lo- calisation documents.
    [Show full text]
  • Linux on the Move
    Guest Editors’ Introduction What is Linux? And why should you care? This focus section has insights for both newcomers and diehard fans. Linux on the Move Terry Bollinger, The Mitre Corporation Peter Beckman, Los Alamos National Laboratory inux is a free, open-source operating system that looks like Unix, L except that it runs on PCs as well as other platforms. Linux was created by Linus Torvalds in 1991. Today, Linux is cooperatively improved by Torvalds and thousands of volunteers from around the world using open-source development methods. At this point in time, “Linux” generally refers to the entire suite of software in a distribution, from the operating system kernel to the Web server and graphical user interface. When we say that Linux is “free” we mean, well…free. You do not need to pay money to get a copy of it, although it is usually more convenient to buy an inexpen- sive CD-ROM copy than download an entire distribution over the Internet. Once you get a copy of Linux, you also have the right to make as many copies of it as you want. 30 IEEE Software January/February 1999 0740-7459/99/$10.00 © 1999 . DEFINING TERMS GETTING RESULTS By “open source”we mean that you also have the The only traditional software practice that open- right to get copies of all the source code from which source software developers do follow is peer review, Linux and its associated tools were originally com- and they do that with a vengeance. Each piece of piled. There are no magical, mysterious binary files, source code is placed on display in front of a global although you can of course get the Linux system precompiled if you prefer.
    [Show full text]
  • Comparison of Platform Virtual Machines - Wikipedia
    Comparison of platform virtual machines - Wikipedia... http://en.wikipedia.org/wiki/Comparison_of_platform... Comparison of platform virtual machines From Wikipedia, the free encyclopedia The table below compares basic information about platform virtual machine (VM) packages. Contents 1 General Information 2 More details 3 Features 4 Other emulators 5 See also 6 References 7 External links General Information Name Creator Host CPU Guest CPU Bochs Kevin Lawton any x86, AMD64 CHARON-AXP Stromasys x86 (64 bit) DEC Alphaserver CHARON-VAX Stromasys x86, IA-64 VAX x86, x86-64, SPARC (portable: Contai ners (al so 'Zones') Sun Microsystems (Same as host) not tied to hardware) Dan Aloni helped by other Cooperati ve Li nux x86[1] (Same as parent) developers (1) Denal i University of Washington x86 x86 Peter Veenstra and Sjoerd with DOSBox any x86 community help DOSEMU Community Project x86, AMD64 x86 1 of 15 10/26/2009 12:50 PM Comparison of platform virtual machines - Wikipedia... http://en.wikipedia.org/wiki/Comparison_of_platform... FreeVPS PSoft (http://www.FreeVPS.com) x86, AMD64 compatible ARM, MIPS, M88K GXemul Anders Gavare any PowerPC, SuperH Written by Roger Bowler, Hercul es currently maintained by Jay any z/Architecture Maynard x64 + hardware-assisted Hyper-V Microsoft virtualization (Intel VT or x64,x86 AMD-V) OR1K, MIPS32, ARC600/ARC700, A (can use all OVP OVP Imperas [1] [2] Imperas OVP Tool s x86 (http://www.imperas.com) (http://www.ovpworld compliant models, u can write own to pu OVP APIs) i Core Vi rtual Accounts iCore Software
    [Show full text]
  • Introduzione a Reactos « Installazione
    Introduzione a ReactOS « Installazione . 4753 Riferimenti . 4755 ReactOS 1 è un progetto per la realizzazione di un sistema operativo conforme al funzionamento di MS-Windows, a partire da NT in su. Queste annotazioni sono state fatte a proposito della versione 0.1.2, net dove il suo sviluppo non ha ancora portato a un sistema grafico fun- zionante e appare come un sistema Dos, anche se non è compatibile con gli eseguibili Dos standard. A partire dalle versioni 0.2.* è già disponibile un sistema grafico elementare. informaticalibera. / http:/ Teoricamente ReactOS dovrebbe essere in grado di funzionare a partire da elaboratori i386 in su; tuttavia, è probabile che si riesca a utilizzare solo da i686 in su, escludendo anche i microprocessori compatibili. Installazione Daniele Giacomini -- [email protected] Allo stato della versione 0.1.2, il programma di installazione non è ancora in grado di gestire le partizioni e nemmeno di inizializ- Copyright zarle; pertanto, la partizione dove va collocato ReactOS deve es- sere preparata con altri strumenti (un sistema GNU/Linux o Free- DOS). Inizialmente conviene limitarsi all’utilizzo di un file system Dos-FAT16;. 2» 2013.11.11 --- a « « 4753 Il programma di installazione tenta di riconoscere il settore di avvio del disco e della partizione in cui viene installato ReactOS; se questi settori risultano essere di qualche tipo particolare, non vengono mo- dificati e poi il sistema non si avvia. Anche se la cosa è spiacevole, nel caso siano presenti altri sistemi nel disco fisso, può essere neces- sario fare in modo che nella partizione stabilita si avvii FreeDOS; in pratica, serve un dischetto di avvio di FreeDOS (capitolo u184), con il quale si deve ripristinare il settore di avvio del disco fisso: A:>FDISK /MBR [ Invio ] Quindi si deve trasferire il sistema minimo nella partizione, con il comando: A:>SYS C: [ Invio ] Naturalmente, la partizione in questione deve risultare attiva, ovvero deve essere quella che viene «avviata».
    [Show full text]
  • Reactos Status Report for January 2006
    ReactOS status report for January 2006 Preface: This is the first in what is planned to be a quarterly update letter for the ReactOS Project. Depending on how things are progressing with the project and what projects each developer is working on, these reports may vary in detail from quarter to quarter. Being as this is the first of these status reports it will follow a more general overview than what may just be new in the last quarter. The ReactOS Foundation USA status report and financial statements will be published as a separate report within 5 days following the publication of the Project Status report. For information about joining or donating to the ReactOS Project please visit http://www.reactos.org/wiki/index.php/Main_Page General Status: On January 1st 2006 the ReactOS Project released version 0.2.9 of the ReactOS System. It is the projects members hope that this will be the last release in the 0.2.x series however if all of the goals for the 0.3.0 release are not meet we are prepared to continue to do 0.2.x releases. The current ReactOS 0.3.0 TODO list is located at: http://www.reactos.org/wiki/index.php/0.3.x/0.3.0 The list of planned features for the 0.3.x development line is located at: http://www.reactos.org/wiki/index.php/0.3.x On going subprojects for the overall project include Networking: When we speak of Networking the ReactOS Project members use this as a generic term.
    [Show full text]
  • Free Downloads for Adfree for Laptop Windows 10 Backgammon
    free downloads for adfree for laptop windows 10 Backgammon. 247 Backgammon offers the best backgammon game online. Play with an artificially intellegent opponent or play with a friend with Pass & Play! 247 Backgammon has games in five difficulites, ranging from easy to expert! You'll be sure to find a difficulty you feel comfortable playing, whether you are a beginner or seasoned backgammon player. Options only on 247 Backgammon include doubling cube, highlights, match points, and chip color! This backgammon site even remembers your preferences every time you come back so you'll be set to play immediately! The gameplay on 247 Backgammon is seamless and you'll quickly become addicted to the beautiful artwork and perfect puzzle game. Backgammon is a popular ancient board game. It is played with two players (lucky you, we have a computer player to enjoy!). The object of backgammon is to move all your checkers around the board in a clockwise motion and ultimately bear off the checkers from the board. The first player to remove all their checkers is the winner. Alternate turns with your opponent moving checkers toward your home in the upper right hand quadrant of the backgammon board. Move checkers by rolling the dice. The numbers on the dice refer to how many spaces you may move with one or more checkers. Highlights show you where the checkers can possibly move. If you roll doubles, you get to move each die twice, concluding in four moves for that turn. You may move your checkers onto any Point so long as it is occupied by your checkers, is empty, or has 1 opponent checker.
    [Show full text]
  • What Is an Operating System IV 4.1 Components III. an Operating
    Page 1 of 6 What is an Operating System IV 4.1 Components III. An operating system (OS) is software that manages computer hardware and software resources and provides common services for computer programs. The operating system is an essential component of the system software in a computer system. Application programs usually require an operating system to function. Networking Currently most operating systems support a variety of networking protocols, hardware, and applications for using them. This means that computers running dissimilar operating systems can participate in a common network for sharing resources such as computing, files, printers, and scanners using either wired or wireless connections. Networks can essentially allow a computer's operating system to access the resources of a remote computer to support the same functions as it could if those resources were connected directly to the local computer. This includes everything from simple communication, to using networked file systems or even sharing another computer's graphics or sound hardware. Some network services allow the resources of a computer to be accessed transparently, such as SSH which allows networked users direct access to a computer's command line interface. Client/server networking allows a program on a computer, called a client, to connect via a network to another computer, called a server. Servers offer (or host) various services to other network computers and users. These services are usually provided through ports or numbered access points beyond the server's network address. Each port number is usually associated with a maximum of one running program, which is responsible for handling requests to that port.
    [Show full text]