text:
Evolution of Operating Systems Designs/What is an Operating System?

What is an Operating System?
A computer operating system is the software and/or firmware which manages the hardware of the computer and provides those resources, through an API, to application programs.It can also be defined as a program (set of logical instructions) which is responsible for controling the hardware functionality of a computer or related programmable electronic device.(Martin Muduva 2014).

By taking care of the hardware's needs and restrictions for the application program, the application program, and the application programmer, are freed from the additional work load and extra knowledge that is needed to deal with the hardware. This makes it easier to write application programs for that computer. It also makes it easier to keep a file system intact and working since all the changes to the file system go through the Operating system and are not done by each application programmer themselves. (Tischeritz and Bernstein). The first computers didn't have operating systems, and could only run one program at a time. The first electronic computing circuits were little more than separate functions and didn't really need even a programming language to be tested. In about 1945 computers such as the Eniac were built that took up 4 square blocks of space and had about the same power as a 4 function calculator you might get on a keychain today. Programming of these behemoths was done by plugboards that fitted onto something a lot like a telephone switchboard. Since they were experimental engines running on vacuum tubes at that time and maintenance was an issue, little productivity was practical, and only a few people knew how to run them. Programming was done in each individual machines own machine language, and so operating systems weren't required. By the 1950's the invention of the punch card machine made it easier to read in a small program, but all the operating of the system required was the pushing of a few buttons, one to load the cards into memory and another to run the program.

In the mid 1950's, transistors made the computer circuit solid state, which eliminated the need to constantly patrol the innards of the computer to find burned out tubes and clean bugs out of the electrical contacts. The first solid state computers took up large air-conditioned computer rooms with racks of components and were used primarily by Governments to do processing of tables such as ballistic tables needed to aim military weapons. This resulted in a need for more control of the time spent per operation, which saw the separation of the maintenance and operations group from the programmers. At first, programmers wrote out their program on paper, then punched it into cards which the operators would load in sequence into the machine, one stack of cards at a time. Later a Job Control Language was designed that allowed the programmer to declare job information itself as part of their stack of cards, and it became possible to run a program called a monitor that read in the stack and stored it on a tape called the input tape. The input tape could then be run on a separate computer, the "Main Frame", and spool its output to a second tape called the output tape, which would be later mounted on the printer to output the response to the program. The batch monitor was the closest thing to an operating system that this early form of computer had. It's job was to read information from the cards and set up the job, automatically freeing up an operator. Also at about this time, Fortran was invented, and a "compiler" spool could be loaded on the mainframe to allow the programmers to write in a human readable form, while the computer operated still in machine language.

By 1965 the first operating system like programs were beginning to show up, like the Fortran Monitoring System, which had to deal with loading three types of programs, the Fortran Program, the Compiler, and the Machine language program that was the result of complication. This necessitated that the program be able to tell in some manner which type of file it was reading on the tape. A similar system, IBSYS was IBM's operating system for the 7094. Loading the operating system required that a tape containing the operating system be loaded first in order to start the operating system. Early operating systems did not have the bootstrap mechanism which all modern operating systems use to initialize the computer, so start up of a computer was a long and involved process.

By the early 1960's it became obvious that computer companies were having to support two completely different types of computers, 1401 like character based computers, and word-oriented 7094 like scientific computers. Maintenance and training on these completely different systems was problematic so IBM invented System/360 and created a range of products that used this common architecture. The IBM 360 was the first computer line to use small scale integrated circuits, and thus offered a major cut in price over earlier solid state machines. This radically expanded the market and the power of the machines.

OS360 was written to act as the operating system on all of the System360 machines from the smallest input processor to the largest number cruncher type processor. It was made up of literally thousands of lines of code written by hundreds of programmers, and maintenance was problematic since almost every time a bug was fixed a new one would be generated. Despite the impossibility to maintain such a massive monolithic program it was a distinct improvement on previous second generation operating systems, and became quite popular.

One of the concepts that it popularized was the idea of multi-computing, where instead of waiting for a single job, the computer could be running multiple jobs simultaneously. This eliminated waiting periods while the operators mounted the tapes, since the computer could be processing a different program while it waited. One problem with combining business computer operating systems with number crunching system operating systems, was that the size of the jobs involved required different strategies. Business jobs were simple, and required less time per job, and as a result mounting and unmounting tapes took up 80 to 90 percent of the processing time. While a large number cruncher was still expensive enough that small jobs were not economical so mounting tapes was more like 10 percent of the job, and not a significant problem. One way of getting around this was to partition the memory, so that each job could have its own partition. This went along with the Multi-programming concept, because it meant that more than one job could run at the same time on the same computer without interfering with the memory of other jobs.

Along with this concept came the idea of running the card reader from one partition, the number crunching in another, and the output to the printer from a third, eliminating the satellite 1401 type computers, and reducing the wear and tear on tapes from mounting stress. While third generation units were good for large runs they were essentially still batch systems and as programs began to become more complex, managing the card stacks for a program became unwieldy. This paved the way for timesharing systems where each user had his own terminal, and they shared a central mainframe.

Timesharing didn't become popular until late in the third generation when the hardware for protection mechanisms became widespread. At that time, the idea of a Computing Utility began to be worked on, the idea being that a single mainframe would supply timesharing opportunities to the whole Boston Area. Out of this concept the first 4th generation operating system MULTICS was born. Of course the idea was based on the small scale integration, and the development of LSI and then Later VLSI (Very large scale Integration) eventually replaced whole rooms of computers with a small desktop unit. As a result of LSI (Large Scale Integration) it became possible to build a whole computer system on a single rack. These Mini-computers began to compete with IBM for smaller businesses, and because their financing terms were not as pecuniary their ability to compete made them replacements for the small and midsized system360 components. It was not surprising by the 80's to find that a timesharing system used mini-computers as their front ends to handle terminal multiplexing and had a mainframe as the main computing mechanism.

In the 1970's Ken Thompson designed UNIX as a stripped down one user version of MULTICS based on a PDP-7 Minicomputer. Since he published the source code, it became a popular operating system and was used extensively by Universities and small businesses. By the 1990's it was so popular that more software was being written for it, by outsiders than was written by ATT, the then license holder for it. Legal battles between ATT and Universities as to who owned the rights to the new software involved in Unix V5 resulted in two things, the sale of the operating system to SCO and the development of an alternative kernel by Linus Torvalds that could run the by then public domain software produced by the universities because it met the POSIX standard which had been developed by IEEE.

It was this defiant rewrite of an operating system kernal that created the Open software movement that has powered the internet revolution. Most operating systems today have gained by the work of the Open Software Movement because their internet software's sophistication, depends on ideas pioneered and spread through free software.

For most purposes today, an operating system is best defined as the software that comes on an operating system install CD or DVD. This definition works well for users and operating system vendors. It has even been argued in court.

A definition of an operating system now might look like the following:

 * A System : A set of principles and concepts and all of the components which obey these principles.
 * An Operating System : A system of software which manages the hardware resources of the system to provide a base for its users' programmatic computing needs.

By programmatic we mean that the software is used primarily by programs, as opposed to interactively by the user directly.

So C++ for example is not an operating system since it fails to provide many critical functions of computation. Without execution of programs, scheduling of processes, and many other functions provided to C++ by system software it would be impossible for C++ to run on top of bare hardware. Basic, Lisp, Smalltalk, and Java in contrast can sometimes be considered operating systems. Although routinely hosted on top of other OSes, they have sometimes been run directly on top of exotic special-purpose hardware.

Moving onto principles, UNIX for example has as its principles "everything is a file, referred to by a descriptor" and "programs act as filters". All of the little programs and utilities that obey these principles are an integral part of the operating system whereas the X Window System, which does not obey these principles, is not.

In contrast, Plan 9, a derivative of Unix, has as its principle "everything is a filesystem" and many more functions are part of the operating system in Plan 9 than in Unix. In particular, Plan 9's windowing system is an integral part of the operating system. buttons, one to load the cards into memory and another to run the program.

In the mid 1950's, transistors made the computer circuit solid state, which eliminated the need to constantly patrol the innards of the computer to find burned out tubes and clean bugs out of the electrical contacts. The first solid state computers took up large air-conditioned computer rooms with racks of components and were used primarily by Governments to do processing of tables such as ballistic tables needed to aim military weapons. This resulted in a need for more control of the time spent per operation, which saw the separation of the maintenance and operations group from the programmers. At first, programmers wrote out their program on paper, then punched it into cards which the operators would load in sequence into the machine, one stack of cards at a time. Later a Job Control Language was designed that allowed the programmer to declare job information itself as part of their stack of cards, and it became possible to run a program called a monitor that read in the stack and stored it on a tape called the input tape. The input tape could then be run on a separate computer, the "Main Frame", and spool its output to a second tape called the output tape, which would be later mounted on the printer to output the response to the program. The batch monitor was the closest thing to an operating system that this early form of computer had. It's job was to read information from the cards and set up the job, automatically freeing up an operator. Also at about this time, Fortran was invented, and a "compiler" spool could be loaded on the mainframe to allow the programmers to write in a human readable form, while the computer operated still in machine language.

By 1965 the first operating system like programs were beginning to show up, like the Fortran Monitoring System, which had to deal with loading three types of programs, the Fortran Program, the Compiler, and the Machine language program that was the result of complication. This necessitated that the program be able to tell in some manner which type of file it was reading on the tape. A similar system, IBSYS was IBM's operating system for the 7094. Loading the operating system required that a tape containing the operating system be loaded first in order to start the operating system. Early operating systems did not have the bootstrap mechanism which all modern operating systems use to initialize the computer, so start up of a computer was a long and involved process.

By the early 1960's it became obvious that computer companies were having to support two completely different types of computers, 1401 like character based computers, and word-oriented 7094 like scientific computers. Maintenance and training on these completely different systems was problematic so IBM invented System/360 and created a range of products that used this common architecture. The IBM 360 was the first computer line to use small scale integrated circuits, and thus offered a major cut in price over earlier solid state machines. This radically expanded the market and the power of the machines.

OS360 was written to act as the operating system on all of the System360 machines from the smallest input processor to the largest number cruncher type processor. It was made up of literally thousands of lines of code written by hundreds of programmers, and maintenance was problematic since almost every time a bug was fixed a new one would be generated. Despite the impossibility to maintain such a massive monolithic program it was a distinct improvement on previous second generation operating systems, and became quite popular.

One of the concepts that it popularized was the idea of multi-computing, where instead of waiting for a single job, the computer could be running multiple jobs simultaneously. This eliminated waiting periods while the operators mounted the tapes, since the computer could be processing a different program while it waited. One problem with combining business computer operating systems with number crunching system operating systems, was that the size of the jobs involved required different strategies. Business jobs were simple, and required less time per job, and as a result mounting and unmounting tapes took up 80 to 90 percent of the processing time. While a large number cruncher was still expensive enough that small jobs were not economical so mounting tapes was more like 10 percent of the job, and not a significant problem. One way of getting around this was to partition the memory, so that each job could have its own partition. This went along with the Multi-programming concept, because it meant that more than one job could run at the same time on the same computer without interfering with the memory of other jobs.

Along with this concept came the idea of running the card reader from one partition, the number crunching in another, and the output to the printer from a third, eliminating the satellite 1401 type computers, and reducing the wear and tear on tapes from mounting stress. While third generation units were good for large runs they were essentially still batch systems and as programs began to become more complex, managing the card stacks for a program became unwieldy. This paved the way for timesharing systems where each user had his own terminal, and they shared a central mainframe.

Timesharing didn't become popular until late in the third generation when the hardware for protection mechanisms became widespread. At that time, the idea of a Computing Utility began to be worked on, the idea being that a single mainframe would supply timesharing opportunities to the whole Boston Area. Out of this concept the first 4th generation operating system MULTICS was born. Of course the idea was based on the small scale integration, and the development of LSI and then Later VLSI (Very large scale Integration) eventually replaced whole rooms of computers with a small desktop unit. As a result of LSI (Large Scale Integration) it became possible to build a whole computer system on a single rack. These Mini-computers began to compete with IBM for smaller businesses, and because their financing terms were not as pecuniary their ability to compete made them replacements for the small and midsized system360 components. It was not surprising by the 80's to find that a timesharing system used mini-computers as their front ends to handle terminal multiplexing and had a mainframe as the main computing mechanism.

In the 1970's Ken Thompson designed UNIX as a stripped down one user version of MULTICS based on a PDP-7 Minicomputer. Since he published the source code, it became a popular operating system and was used extensively by Universities and small businesses. By the 1990's it was so popular that more software was being written for it, by outsiders than was written by ATT, the then license holder for it. Legal battles between ATT and Universities as to who owned the rights to the new software involved in Unix V5 resulted in two things, the sale of the operating system to SCO and the development of an alternative kernel by Linus Torvalds that could run the by then public domain software produced by the universities because it met the POSIX standard which had been developed by IEEE.

It was this defiant rewrite of an operating system kernal that created the Open software movement that has powered the internet revolution. Most operating systems today have gained by the work of the Open Software Movement because their internet software's sophistication, depends on ideas pioneered and spread through free software.

For most purposes today, an operating system is best defined as the software that comes on an operating system install CD or DVD. This definition works well for users and operating system vendors. It has even been argued in court.

A definition of an operating system now might look like the following:

 * A System : A set of principles and concepts and all of the components which obey these principles.
 * An Operating System : A system of software which manages the hardware resources of the system to provide a base for its users' programmatic computing needs.

By programmatic we mean that the software is used primarily by programs, as opposed to interactively by the user directly.

So C++ for example is not an operating system since it fails to provide many critical functions of computation. Without execution of programs, scheduling of processes, and many other functions provided to C++ by system software it would be impossible for C++ to run on top of bare hardware. Basic, Lisp, Smalltalk, and Java in contrast can sometimes be considered operating systems. Although routinely hosted on top of other OSes, they have sometimes been run directly on top of exotic special-purpose hardware.

Moving onto principles, UNIX for example has as its principles "everything is a file, referred to by a descriptor" and "programs act as filters". All of the little programs and utilities that obey these principles are an integral part of the operating system whereas the X Window System, which does not obey these principles, is not.

In contrast, Plan 9, a derivative of Unix, has as its principle "everything is a filesystem" and many more functions are part of the operating system in Plan 9 than in Unix. In particular, Plan 9's windowing system is an integral part of the operating system.

A note on consistency
While an operating system is a set of principles and the software that obeys them, it is often the case that parts of the operating system disobey the principles. This is the case when the principles aren't expressed clearly and/or they are inadequate.

In the case of Unix and Plan 9, processes are neither filestreams nor filesystems. It is impossible, for example, to duplicate a process by copying it. So we see that the principles "everything is a filestream / filesystem" are inadequate. Note that just because something is a filter doesn't prevent it from being a filestream; the concept of filestreams is simply inadequate.

The result of inadequate principles is that development proceeds at random, following the path of least resistance. The end result of such development cannot be characterized by any design principles at all, and has abrogated any principles the system began with. This explains both modern Unix and C++. Such systems are only perceived to be cohesive in that their incoherence is sharply distinguished from other systems.

How to distinguish different operating systems?
For academic purposes, a good test of the differences between two operating systems is ease of porting software. If two operating systems are such that porting software from one to another is difficult because the concepts are different, then the OSes are relatively unalike. At the other extreme, if two platforms are such that no effort is required to "port" from one to another, then the two are relatively similar. Because there are legal reasons why we can't call two different products produced by different manufacturers the same, we call them Compatible.

Usually two systems that are compatible are so because they follow a single protocol called a standard. Organizations like IEEE, and ISO, publish these standards, and different companies can build their project to the standard even though they have proprietary elements at a lower level. For instance Linux and Unix share the IEEE POSIX standard so they are compatible at the interface level that standard defines.

By this definition, many common operating systems can be lumped together and considered to be similar or Compatible. OS/2 and Windows are similar. UNIX and BSD are Similar, Linux is Compatible.

The minimum distance between two distinct operating systems is probably that between Plan 9 and Unix. Despite their differences, both were created by the same person to achieve the exact same goals. And despite the time interval between Unix and Plan 9, it is obvious that the designers felt that many of the UNIX design decisions were still good. This all goes to show that Plan 9 and Unix are as close as two operating systems can ever get while remaining distinct.

Note that this test of the distinctiveness of operating systems has an analog used in biology to establish the distinctness of species. Biology recognizes species as distinct when they can no longer freely interbreed. For our purposes, operating systems are distinct when they can no longer freely share code.


text:
Evolution of Operating Systems Designs/State of current research

Operating systems research has slowed for two reasons. First, we now must concern ourselves with compatibility. Second, the excitement and low hanging fruit of the early years is behind us. Many pioneers who participated in that early excitement have declared that OS research is now dead, but it does carry on to this day. Many old research topics still have room for improvement. Modern research includes:

 * page replacement
 * copy restriction technology (DRM)
 * filesystems
 * power-aware computing for increased battery life and reduced fan noise
 * network packet congestion control and queueing algorithms
 * superpages

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text: Georgia Water/Regional Plans/Flint and Ochlockonee River Basins


text:
Georgia Water/Regional Plans/Georgia Coastal Area

Timeline

 * 2003 - Coastal Georgia Management Program document prepared by NOAA and Georgia DNR Coastal Resources Division.
 * 2005 - Governor Perdue signs Executive Order directing the Georgia Department of Community Affairs to lead the development of a Comprehensive Master Development Plan for the Coastal Georgia region (February 11, 2005).
 * 2005 - GaDCA Commissioner Mike Beatty announces the appointments to the Georgia DCA Coastal Comprehensive Plan Advisory Committee (July 7, 2005)
 * 2005 - Georgia EPD releases the draft Coastal Georgia Water and Wastewater Permitting Plan for Managing Saltwater Intrusion (December 2005)
 * 2007 - Deadline for GaDCA to complete the Master Development Plan (per Executive Order) is September 30, 2007.

Comprehensive Plan
Georgia Coastal Comprehensive Plan Advisory Committee

Coastal Georgia Water and Wastewater Permitting Plan (Dec.2005)
"The Georgia Environmental Protection Division (EPD) has proposed a plan to help Georgia’s coastal communities move toward sustainable management of their groundwater supply, while still meeting the water needs of the rapidly growing region. The draft Coastal Georgia Water and Wastewater Permitting Plan for Managing Saltwater Intrusion (December 2005) is based on the scientific findings of a seven-year study of groundwater use in the 24-county coastal area. The study, called the [Sound Science Initiative], addresses the concern that pumping of groundwater in the region is allowing saltwater to seep into the Floridan aquifer, the principal source of drinking water." "The Plan replaces the Interim Strategy for Managing Salt Water Intrusion in the Upper Floridan Aquifer of Southeast Georgia, and sets forth how EPD will conduct ground and surface water withdrawal permitting, and management and permitting of wastewater discharges."

"The draft plan addresses water management issues in three geographical areas: However, in all 24 counties, permit holders will need to meet new requirements for water conservation and reuse."Source
 * Chatham, Bryan, Liberty and portions of Effingham counties - the use of Floridan aquifer water will be restricted to total amounts already permitted for the area, with the goal of reducing water withdrawals through time. Under the proposed plan, requests from municipalities in Chatham and Effingham counties that seek additional water from the Floridan aquifer will be considered, with the condition that they honor existing agreements to also tie into Savannah’s surface water pipelines.
 * Glynn County - no more Upper Floridan wells will be allowed in a small area underlying Brunswick due to an existing saltwater plume in the aquifer.
 * The other 19 counties in the coastal region - applications for additional upper Floridan water will be considered for all uses.

State documents

 * 1) Georgia Environmental Protection Division Coastal Water Study.
 * 2) Georgia General Assembly, House Resolution 494 of 2005, House Coastal Georgia Sound Science Initiative Study Committee.
 * 3) Georgia DNR Coastal Resources Division - water quality menu
 * 4) Water Management Plan for 24 County Coastal Strategy Area (EPD, March 7, 2002)

Research
U.S. Geological Survey website - Coastal Georgia Sound Science Initiative

W. Fred Falls, Larry G. Harrelson, Kevin J. Conlon, and Matthew D. Petke, Hydrogeology, Water Quality, and Water-Supply Potential of the Lower Floridan Aquifer, Coastal Georgia, 1999–2002, Scientific Investigations Report 2005-5124, U.S. Geological Survey, prepared in cooperation with Georgia Department of Natural Resources.

News articles

 * "S.C. doesn't like Georgia water plan" (South Carolina's environmental agency has filed an official complaint about Georgia's plan to manage fresh water along the coast.) AP article from SC online newspaper, The State, January 16, 2006.
 * "Coastal water plan tightens tap on aquifer" Savannah Morning News, June 15, 2006, article by Mary Landers.

Data and maps

 * Coastal Plain water resources data from UGA-NESPAL in Tifton
 * Irrigation data
 * Permit data
 * Rainfall history


text:
Georgia Water/External Links/People/Instructions

Instructions for adding your name to the Georgia Water/External Links/People list

 * 1) (Optional) Print these instructions.
 * 2) Copy the example code in the blue box below. You'll need this for Step 7.
 * 3) Go to the Sandbox page (by clicking on the word Sandbox here)
 * 4) Type your name in the Sandbox edit box, enclosed in double brackets:  George P. Burdell
 * 5) At bottom of the Sandbox page, click on the button "Show preview"
 * 6) On the Preview page, make sure that your name shows up in red letters. (If not, then you needed to include the double brackets around your name in Step 4.) Click on your name (shown in red letters).  A new blank page will appear for you to edit.
 * 7) Paste the example code (copied in Step 2) for George P. Burdell into your blank page.
 * 8) Replace all of George's information in the code with your own information.
 * 9) For the last line of code, please replace ResearchX with one of the following terms for your water related work
 * Monitoring
 * Regulatory     (permitting)
 * Planning
 * Management
 * Engineering
 * Law
 * Research
 * Education
 * Water Supply   (municipal or industrial utility)
 * Wastewater     (municipal or industrial utility)
 * Resource User  (a water user such as agribusiness, recreation group)
 * Advocacy
 * News           (journalists, newsletter providers)
 * Other

 * 1) For the two last lines of code, please replace USA-Georgia with your own country and province/state.
 * 2) At the bottom of your new page, click on the button "Show preview"
 * 3) If your new page looks OK, then click on the button "Save page"
 * 4) Use the Back button (at top of screen) to go back to the alphabetical list of names. Check to make sure that your name now appears in the Directory.

Instructions for editing your material for the Georgia Water/External Links/People list

 * 1) On the alphabetical directory, click on your name. A page with your name at top should appear.
 * 2) (Optional) Consider creating a user account for yourself, with your own ID and password. Using your account ID provides additional editing features, such as the "Watch this page" function.
 * 3) At top of your page, click on tab "edit this page" (or you may click on the "edit" button for an individual subsection).
 * 4) Make the changes to your material.
 * 5) (Optional) Add a category code at bottom of your page to show your field of work. As the last line of code on your page, please add the code in the blue box below, replacing FieldX with one of the following terms for your water related work
 * Monitoring
 * Regulatory     (permitting)
 * Planning
 * Management
 * Engineering
 * Law
 * Research
 * Education
 * Water Supply   (municipal or industrial utility)
 * Wastewater     (municipal or industrial utility)
 * Resource User  (a water user such as agribusiness, recreation group)
 * Advocacy
 * News           (journalists, newsletter providers)
 * Other

 * 1) At the bottom of your new page, click on the button "Show preview"
 * 2) If your new page looks OK, then click on the button "Save page"
 * 3) Use the Back button (at top of screen) to go back to the alphabetical list of names. Check to make sure that your name now appears in the Directory.


text:
User:Jacqui M Schedler~enwikibooks

Jacqui ★ @ Wikipedia

title: User:Jacqui M Schedler~enwikibooks


text:
Introduction to Business/Marketing

Prospecting for customers is the first step to real selling, and must always be a salesperson’s top priority. Customers come and go, and a salesperson must continually replace a certain percentage of existing customers who will inevitably fade away. The entire object of any prospecting must be to find sales leads that can eventually be translated into sales turnover. Effective prospecting, however, requires a systematic methodology, as well as personal self-discipline, without which, the reliance on luck, or on the law of averages, will only result in a great deal of wasteful time and effort.

The average salesperson, unless he is quite unusual, will always have a natural negativity toward approaching anyone new. Yet, it cannot be over-emphasized that, however good his negotiating or closing skills, he will always fail in his selling if he does not have available, a regular supply of new prospects. The salesperson must therefore overcome the inertia to talk to someone new. The essential rule is to prospect all the time, and not just when he appears to have run out of potential people on whom to call.

Identifying the target market
Long before a salesperson even goes out into the market to sell his product, he must spend what might seem to be a disproportionate amount of time, analyzing what his potential market is, so that when he starts prospecting, he is at least looking in the most likely places where those customers will be found.

A salesperson must understand his products thoroughly, and ensure that there is a match between product benefits and customer needs, failing which, there will be little point in prospecting for customers.

Where the potential market is very wide, there are significant advantages to be gained by limiting to just one or two specialized market segments, for the following reasons:
 * A salesperson simply does not have the time to make everyone his customer. If he then has to decide which segment of the market to target, he must choose the easiest one to close a sales.
 * There may well be some products in a salesperson’s product range that match up better to one industry or market segment than another. If he can tailor his products to secure a unique selling proposition (USP) in that particular market segment, he will not need to compete with those who do not have it.
 * By focusing on a particular industry, a salesperson can gradually acquire technical knowledge of his customer’s industry, thus enabling him to develop empathy and talk on equal terms with his customers.
 * Existing customers are more likely to recommend prospects to a salesperson if the salesperson has already established his credibility in the industry.
 * It is far easier to target advertisement|advertisingefforts if they are concentrated in a narrow plain. Also, he can more easily meet the people who will make his best contacts by attending the annual exhibitions and functions that this industry will invariably organize.

To identify which particular market segment to aim for, a salesperson should begin by analyzing the profile of his existing customers, and secure a picture of what his "ideal customer" should look like. The profile should include their psycho-demographic characteristics, such as age, sex, their jobs, and their interests, since all will, in one way or another, control where or when they buy. If viable, the salesperson should also consider using mailshots and advertisement|advertising to evaluate his potential market.

Identifying potential customers
Having decided on a specific market, the salesperson should try to limit his prospecting to remain within that market. The ideal customer (i.e. the one who buys as soon as the salesperson talks to him) is probably non-existent, but the closer a salesperson's prospect matches that ideal customer, the fewer sales objections will be placed in his way. It therefore makes sense to ensure that his prospects at least resemble the specification as accurately as they can. This means identifying the potential of a prospect at the very outset. In particular, the salesperson should know the requirements that a potential customer has set for his future, the priorities that he has decided, and in all probability, his financial resources. Failing to analyze a prospect is the main reason for a great deal of wasted prospecting time spent on a customer who should have been promptly discarded, after due research.

Preliminary research always saves time. Good prospecting is not necessarily dismissing those whose business appear to be static, but it is certainly the ability to select and concentrate one's efforts where one is more likely to secure immediate success.

Gathering information from printed materials
A salesperson should read all he can about his market, using information that is readily and freely available in libraries, reference books, trade directories, newspapers and magazines. It is vital to be well informed about the specific market and those in it. The smaller local newspapers are full of names, addresses, and occupations of many people in the community, who could use his services.

If the salesperson were cold-calling, he would need the first 15 minutes of any meeting to glean all this information, while in a newspaper it is waiting there for him to absorb before his call. If he relies solely on chance to find those who have recently acquired new appointments, new authority or increased incomes, he will merely be one of the many cold-callers with whom he has to compete. By having prior knowledge of that change, he should be there ahead of the rest.

Developing information network
The salesperson should develop a system of using other people to provide him with information which can then be usefully followed up:
 * Previous business contacts: If he has previously worked for another company, he has a whole hierarchy of personnel who he can contact, most of whom will be only too ready to assist if they are aware that he is not in competition, nor detrimental, to their own business. If he is a financial advisor, he can even offer his new services to them. A salesperson should use his contacts to make other contacts, and he will certainly find this a great deal easier than making every new prospect a cold call.

The rule must be to restrict his selling only to those occasions when he can be sure of doing it professionally, and in his own chosen environment. Doing it whenever he finds himself at a cocktail party or a social evening, and he should not be at all surprised if he no longer finds himself on the invitation list.
 * Contacts in personal life: The list of people with whom he deals through his home can be equally fruitful. From the opening moment, when he first looked at his new house, he probably may have dealt with builders, estate agents, solicitors, decorators, plumbers, removal companies, and many others, all of whom may have been pleased to do business with him, and might well be prepared to do business in return. Even if they do not follow on to do positive business, they may well pass him on to someone who will, and regardless of that possibility, they will certainly be easier to approach than someone who has not met him before. Why make it difficult for himself by talking to someone he does not know, when he has not tried talking to those who would at least recognize him. And, once he is in that new home, the list of suppliers, from the newsagent through the milkman to the grocery stores, starts all over again, from which he can use them.
 * Social contact: In his social life, the salesperson will need to be systematic and professional with those he knows, not promoting his selling, but ensuring that everyone knows what he does and that they are able to trust his judgement when they are looking for the kind of advice that he has on offer. At social meetings, he must avoid talking about business even if he is actually asked to do so, but should merely confine any mention of business to the exchange of cards or telephone numbers so that he can make a professional approach later. Allowing himself to talk business at such gatherings ensure that he will:
 * become unpopular for doing so;
 * be doing it in the wrong environment to get his message across; and
 * be unable to pursue business later in a better environment, since he has used his sales approach already.
 * Personal observation: The salesperson should be observant when he is out and about. The information is often there for him to see in the multitude of shop fronts that lined the streets. With luck, the telephone number will also be displayed. He should take a pocket tape recorder with him in the car, and have it alongside while driving. Such recorders are inexpensive and the cost can easily be recouped by converting just one of the contacts he acquires into a sale. It is more practical than a pen and paper, and because it is easy, he will use it far more readily than any other method.

Even in the reception areas of large office blocks, the salesperson will not only be able to find a great deal of information about the companies that operate there, but he may often find a receptionist or a concierge who will only be too happy to tell all he knows about the people who work there.

Recording information
Any worthwhile evaluation of a prospect will generate a great deal of information and understanding of the prospect. Whatever information is secured, the salesperson should record it even if he does not plan to follow it up immediately. The information will probably be of value later and, even if it is not, it will have cost very little to retain it. Any other method must rely on a good memory, and there are few of us who could boast to have that at their disposal.

Thinning out the prospects
While a great deal of selling effort fails because the prospect cannot be convinced of the suitability of the proposal, a still larger number of sales fail because the prospect was not really a prospect in the first place, and very little real work had been done by the salesperson to filter out the good prospect from the bad before the selling operation began.

A salesman's product must be relevant to his prospect. If no one's requirements seem to match with what he is selling, then he is either moving in the wrong circles (not impossible), or selling the wrong product. A man without children cannot be convinced of the viability of an insurance scheme to cover the costs of child education. A hermit has no need to cover against the security of his dependants. The unfortunate truth is that many sales are attempted to prospects who could be eliminated as possibilities by a little research.
 * Does your product really meet the buyers' needs?

The salesman must establish on the outset whether the prospects can afford to buy. He should worry later about whether he can convince them to part with it, but if they do not have the funds in the first place, he is certainly digging dead ground. The information required can generally be established very early in a sales interview through a simple trial close such as, "If I can convince you that..., would you be prepared to consider…..?'" You are not asking for a decision, and the prospect, in answering, is merely saying, "You have not convinced me yet, but if you can, I would be prepared etc..." Failing to establish this initial willingness (or ability) to invest will end up with endless discussions which earn little profit.
 * Has your prospect the finance to buy?

This comes back to basic selling where it is vital to know who the decision-maker is, so as to save a great deal of time in having to redo yet another sales presentation. It is sometimes necessary to disbelieve someone who says that he is the decision maker. This applies as much to companies as to families, and it is possible that someone who does not have the authority may well be reluctant to say so, possibly to pre-screen the salesperson first, before allowing him to meet the actual decision-maker. In a household, even simple decisions are not always made by the obvious partner.
 * Is your prospect the real decision maker?

As a policy, while a salesperson should always ignore the less promising prospects until the end of the operation, he should also ensure that he retains the information on them so that it is easily available later on. It is not impossible that in a year’s time, he can make a new approach based on the possibility that by that time, either the prospect's potential, or indeed the salesperson's offer, may have changed. What may seem a poor prospect today may be one that the salesperson can well afford to spend time on at a later date. If a salesperson merely works through in a rigid format on long, unselective lists, with little regard for their comparative importance, he will find himself with inadequate time to follow up high prospect leads, simply because he is giving the hard work cases equal priority with the others.

Methods of Personal Selling

 * Making use of social contacts
 * Using existing contacts to make others
 * Cold calls
 * Prospecting through telephone
 * Mailshots
 * e-business

Making use of social contacts
A salesperson must adapt his personal lifestyle to his selling career, so that what he does outside his business life contributes to selling. He needs to cultivate friends who are influential themselves, since they are the ones who will be in the best position to help him. It helps to join the same club as the prospects, and if that means joining more clubs than he would otherwise wish to, then this is the price that he has to pay for being a salesperson. After all, if he is dealing with someone who is a member of a club, or association, then having sold to him, it is easier to sell to another member of the same association. People do tend to lean on the experience of others, and the same rules that can ruin his reputation if he sells unethically, will help him do the reverse if unbiased third parties were to vouch for his Product (business)|products and his integrity. Memberships are likely to generate good returns for the salesperson who is prepared to regard anyone he meets as a potential user of his service. Working at the social round often means "belonging" to groups.

Always sell to friends before strangers
It is always easier to sell to friends than to people whom you do not know. Most people, however, are of the opinion that a salesperson should not sell to friends, since this is the quickest way of losing friends. In reality, it is bad selling that prompts this kind of remark. Assuming a salesperson's product or service is of value, it must make sense to share it with others in his social circle who, if there is something to be gained, will certainly not resent his approaching them in the first place. There are several businesses, particularly financial planning, where selling to friends represent a high proportion of turnover, and it would be difficult to imagine this particular aspect of selling, without the friendship that goes with it. The argument against it is that somehow, the salesperson is making use of people, but if the product is good, the salesperson is in fact helping his friends to make an influenced decision, based on trust, instead of the uninformed decision, he makes without it. This kind of advisory selling often enhance Interpersonal relationship|personal relationships, especially when it is mutually beneficial.

Move among the people where your business is likely to be
Once a salesperson has established his own circle, he can then make his entry into their circles, and move among the people where his business is likely to be, always bearing in mind that the people who invite him may have an ulterior motive in getting him into their circles of friends. He should also have a good commercial reason for accepting the invitation, and in the end, everyone benefits from the association. A salesperson only has a limited amount of time at his disposal, and it is essential that he guides his social life into securing a range of contacts who will introduce him to the others who may be of value to him.

Work at being in the mainstream of a busy social life
The place where a salesperson belongs, and where he spends his "free time" are the places where he ought to be looking for, and securing his business. After all, the potential of his social circle must be one of the reasons why he cultivates it in the first place. The basic principle when endeavoring to sell in any social circle is to have total optimism that it would not be difficult to achieve what he is planning to do. After all, there is only one alternative to trying to sell to friends, and that is trying to sell to strangers. Logic alone would tell which is the easier of the two options. Right through the selling game, the fear of rejection can be very overwhelming, but the salesperson who wins is the one who believes that there is a prospect somewhere in the environment where he is at that time, and who has the confidence to look for that prospect. This means developing his imagination so that he can swiftly recognize the indicators, showing where his customers are likely to be.

It is also essential that the social circle that a salesperson moves in is not comprised too much of like-minded people, as he will probably achieve more by moving among the wealthy and influential. During the time that he is moving among salespersons, he should not forget about the prospect names that he is able to pick up from others. Often, salespeople from another industry can be mutually useful, by providing leads and information that they are unable to make use of themselves. They will, of course, expect the same from the salesperson. In his private life, a salesperson does have many prospects whom he never even thinks of as prospects. Every retailer whom he deals with, every business that enjoys his patronage, even the local authorities to whom he pays his dues, the teachers at school where he sends his children, may all well have a use for his service, and will be more approachable as he knows and deals with them already. It may well be possible to turn the table around, so that the business is reciprocated.

Using existing contacts to make others
Referrals are special introductions from one customer or prospect to another, and give the salesperson an edge in his initial discussion. The alternative is calling everywhere cold, and that is making hard work, when hard work is not necessary. A reference that a common friend recommends a call to the prospect immediately offers a jumping-off point which starts the conversation off on a more personal basis, and connects it with a person, the prospect can relate with. It gives the salesperson an advantage over a competitor who arrives with nothing in his hand. Once the initial contact is made, the referrer becomes less important.

Referrals are the easiest way of passing on from one prospect to another. However, it is essential for the salesperson to qualify the referrals as far as is possible, and that he secures as much useful information as he can from the people who are supplying them. After all, the salesperson is going to require the information some time, and the friend who gives him the name of a new contact will probably have all the right information already at his fingertip.

Methods of getting referrals
A salesperson, however, must not think that referrals will just come on its own. They will rarely be offered, unless asked for, and they are also unlikely to be refused, if asked. The easiest method of getting referrals is from the people whom the salesperson meets from day to day. A prospect may or may not offer the salesperson any business, but he can certainly suggest a friend who might use his services. If the person is already a satisfied customer, he will probably agree to the salesperson using his name to secure an introduction to a friend, backing it with the knowledge that he believes the salesperson’s offer is worth recommending. If the prospect does not buy from the salesperson, he will feel that in his apology for not doing so, he is offering the salesperson something by giving a referral. Either way, the salesperson is throwing his best chance if he fails to ask for a referral who may well buy.

Referrals need not of course, just come from existing customers, and the salesperson will need to make use of many other people. Many will inevitably be encouraged to supply information to the salesperson, if it is a two-way service, so whenever the salesperson has information which might be useful to someone else, he should make sure that it is passed on. By recommending business to someone, the salesperson has gained someone in the field who will think of him, when a similar chance occurs to return the favor. Relationships with anyone else, either in the salesperson's industry or outside of it, can prove to be of enormous value in his own prospecting for customers.

It is essential to work on the principle of referrals with everyone a salesperson meets. There should be no such thing as a "wasted" call, since every prospecting call which does not produce real business should be able to produce at least one possible prospect for tomorrow. The salesperson should make it a daily habit to always ask everyone he sees. The worst reply that he will get is a "no", and rarely will someone admit that he knows no one who might have use for the salesman's services.

When asking for referrals, the salesperson should never make it too general by saying, "Is there someone else who might be interested in my service?" This almost certainly guarantees a negative answer as the question is far too wide to secure a considered reply, and, as a result, he will get the easiest answer that his prospect can give him. However, if the salesperson is specific, and tries to channel his prospect's mind into thinking of a useful reply, he will phrase his question in a way such as:
 * "Mr Burton, I am sure that we have now put your production line on a more effective footing. Is there any other engineering company within your group which you think might be able to benefit in the same way?"
 * "Is there another bank manager in this housing estate who also has a family, and might have the same insurance requirements as yourself?"

With personal friends, the salesperson can even be more open in your approach, saying in effect, "I need some more business. Please can you help me with your advice?" People will react properly if they are asked in the right way, so long as the salesperson is straight enough to tell them why he is asking, and how he intends to use the information. Fail to be honest with his friends, and the next time the salesperson asks, he may find them resentful that he has used information which they were not aware was going to be used commercially. The salesperson will probably have to encourage their sympathy to produce the names of people who will be of real interest to him. By doing so, he will ensure that they do not simply supply him with two or three names of people who really do not have a need, and in so doing, they then feel that they have done him a favor. It is better that they be encouraged to give him one cast-iron referral, rather than six casual possibles. The salesperson should not forget that referrals can always be introduced independently by himself, where he knows that the two persons are well-acquainted. "As I was saying last week to Mr Maxwell, I believe you are a friend of his", establishes a link between two people, even though the link may not be as strong as a direct recommendation from one to the other. It cannot be overemphasized in selling that everything that can introduce a rapport of any kind between the salesperson and his prospect will make his presentation that much easier.

Thanking the referrers
Lastly, the often neglected part of using referrals is to make use as often as the salesperson can of the contact who gave him the recommendations in the first place. He should always go back to the person who gave him the referral:
 * First, the person will be pleased that the salesperson takes the time, and the rare step of thanking him for the initial information.
 * Secondly, the person will be pleased that the salesperson actually acted on his advice by contacting the suggested prospect.
 * Thirdly, the person may well encourage his proposal to the third party by directly contacting him himself.
 * Lastly, if the person knows one good prospect, he probably knows more, and the salesperson will possibly get a further contact to pursue.

Illogical though it is, the second name might well be a better one than the first, since the person is now aware that the salesperson is prepared to follow up on his suggestions, and he might, as a result, be encouraged to think in greater depth of names that might be useful to the salesperson. The salesperson should secure no more than one or two prospect names each time, as this will give better assurance that they will be of reasonable quality.

Cold calls
While cold-calling may not be the most effective of selling approaches, there will be times when it is the only option available, simply because the salesperson does not have enough appointments through other methods. The object of a cold call is NOT to sell, but to prospect and to decide whether an appointment is worthwhile. The salesperson must never be led into making a sales presentation, even if requested by the prospect, as he must not blow his chance of giving a proper sales presentation.

During the initial approach, whether by telephone or otherwise, the following information must be collected as early as possible: If the answers to the first two questions are in the negative, there is no point in proceeding further. Tact must always be exercised in seeking information.
 * Does the customer need the product?
 * Can the customer afford the product?
 * For companies: What is the customer's buying procedure?
 * Who has the full authority to make the purchase (name and position)?
 * When is the best time to meet up with the prospect?

Often, it is not possible to talk to the right person in the case of companies, as the way is usually blocked by a receptionist or secretary who will try to filter the sales call. The salesperson should assert his own authority, and make anyone who blocks his way aware that he considers himself to be on an equal footing to their boss as he has some benefits to offer to the company. While being tactful, the salesperson must never make any subordinate think that they are doing him a favor by arranging an appointment; after all, it is their job to do so.

If the salesperson is unable to meet the right person, he should leave a message that he has called, indicating briefly what it is that he wishes to talk about. It is far easier for the salesperson to talk to someone who is aware that he has called previously. His message will also notify the prospect that he is persistent, and that if the prospect were to reject his second call, he can expect a third call. As a rigid rule, the salesperson should never leave his telephone number, and expect the prospect to call back.

Whether on telephone or otherwise, the salesperson should always endeavor to get his message across as quickly as possible. Statistically, if he is unable to do so within 30 seconds, he will probably never get a chance to do so at all.

Guidelines for cold-calling
The following pointers must always be borne in mind to avoid the pitfalls of call-calling:
 * Work to a rigid timetable: The operation must be regarded as a rigid discipline in telephone prospecting. Two hours is probably as long as any salesperson can remain enthusiastic and effective. As with any other kind of prospecting, calls should be recorded so that results can be analyzed. By making a record of where a specific approach has worked, the salesperson can make sure that he uses that approach regularly as part of his presentation.
 * Ensure you know WHY you are calling: This will almost always be not to sell, nor even to elaborate on the service provided, but to get information and to make appointments.
 * Do not try to sell unannounced: The salesperson should forget about trying to sell anything with a cold-call. People nowadays resent the unannounced intrusion into their premises.
 * Learn from failed calls: A salesperson should regard rejection as a feedback that his selection procedure was wrong to begin with. If he regards rejection negatively, he will eventually join the ranks of those salespeople who dismisses cold-calling. Most objections are raised are usually not valid, and more than before, the salesperson needs to meet up with the prospect to find out the real reason.
 * Use one call to generate another: Wherever possible, the salesperson should use the call as a method of referral to generate introduction to another.

title: Introduction to Business/Marketing


text:
Evolution of Operating Systems Designs/Security: capabilities

Critical Definitions
An actor is something that may perform an action. This commonly will be a user, a process, a thread, or similar.

An actee or object is something that may be manipulated by an actor. It may be a file, registry key, relational database entry, hardware device, or similar. Generally, this is data. Actors can generally serve as objects too; one process (serving as actor) may kill another process (serving as object).

An action or right is something that an actor may do to an object. Example actions include reading and writing.

Overview
Security systems generally implement a useful subset of a 3-dimensional matrix with dimensions of actor, object, and action. Implementing the full matrix is never done for both performance and usability reasons.

Mainstream operating system security is primarily based on access control lists. For each object, we can maintain a list of actors which may manipulate it.

Capability-based systems, not to be confused with systems that refer to special administrative abilities as capabilities, flip things around the other way. For each actor, they maintain a list of objects upon which the actor may act.

Mainstream operating system security is discretionary. That is, an object owner may decide who else has access to the object.

Mandatory access control is non-discretionary. A set of rules acts to enforce security, setting up permissions that users are unable to override. This stops insiders from being effective spies, selling designs to the competition, sharing medical records with the press, running spyware, and making many types of user errors.

None of the above methods excludes any other of the above methods. DG/UX had capabilities, discretionary ACLs, and mandatory access control. Linux provides discretionary ACLs and several choices for mandatory access control. File descriptors, available on all UNIX-like systems, can serve as capabilities.

Protection
The first security attempts were protection schemes, which controlled the access of programs to sensitive areas like the 0 page, where the software interrupts for the operating system calls were usually stored for efficient calling, or the operating system areas, where the operating system code was kept while it was running. This capability was required for time-sharing because neophyte programmers sometimes overwrote the operating system shutting down the whole computer because they didn't understand the addressing system. CPU's like the Z80 began to be designed to set aside "System" areas so that they couldn't be overwritten by mistake.

One way of doing this was to create a separate name space for the system and control access to it. Often the documentation of how to access the protected mode was scant, or missing from popular books, as an attempt to secure it by obscurity. This turned out to be relatively useless since it meant that an underground market for information was created, and only the crackers knew for sure how they were breaking into the operating systems.

Some CPU's set up complex software interrupts as gateways between the protected mode memory and the user areas. Each user area had its own software interrupt area, that did a system call to the protected system area because the interrupt area was within the user space, the interrupt vectors could be overwritten with impunity, without affecting any other programs use of the operating system. This was a useful mechanism because peripheral drivers tended to supply their own interrupt service routines for specific peripherals.

An application like Windows could create a virtualized version of itself, and modify the interrupts within that one virtual version, without affecting the rest of the operating system. This is usually what the difference is, between 286 and 386 protective mode, the Virtual copy of windows with the ability to modify its own interrupt vectors and not affect the rest of the machine. Up until the 386 protected mode, all programs shared the same interrupt vectors and one programs mishandling or malware sabotage of the interrupts could trigger the collapse of the whole system.

Access Control Lists
Traditional UNIX access control is a type of discretionary ACL. The many possible actions are grouped into four categories: read, write, execute, and special operations normally reserved for an object owner. The list of actors associated with each object is rather restricted, simplifying both the implementation and the user experience. There are three actors listed: owner, group, and other. An actor gets the permissions of the first of those that it qualifies as. The owner always gets special operations that the others do not get. The group is an indirect reference to a list of actors specified elsewhere, and thus is a form of compression. The "other" is just that, all other actors. Through the creation of groups, traditional UNIX access control can provide a great deal of power. The creation of groups is normally limited however, often being an administrative action that requires human approval.

The action categories may be more or less fine-grained. Netware uses read, write, create, erase, modify, file scan, access control, and supervisor. A system may split the normal "write" category into overwrite and append. A system may lack an "execute" category, instead simply requiring read access to execute a file.

Many systems allow for somewhat arbitrary lists of actors to be associated with each object. This includes Windows, modern UNIX-like systems including Linux, and Netware. The list might support a dozen entries or a few hundred entries, as determined to be a good compromise between performance and control.

An interesting innovation in ACLs has been hierarchical actors. For example, the VSTa OS used decimal, dot-delimited actor identifiers. In this scheme, a userid is a series of decimal numbers separated by dots (e.g., 1.85.23.323.888) and if a user possesses a userid which corresponds to the object's userid up to its end, then the user owns the object. So for example, a user possessing userid 1.85.23 would own any object assigned to 1.85.23.323.888 whereas the object itself (whether another user or program) wouldn't be able to access other objects owned by 1.85.23. This scheme allows for the dynamic creation of a hierarchy of users and subusers. A weaker form of this, compatible with the vast body of POSIX software, can be had by providing a mechanism for users of a UNIX-like system to create and control groups.

Capabilities
Capabilities are unforgeable references to objects that let their holder access a well-defined subset of operations defined on that object.

There are many different things which may serve as capabilities. There are human-readable capabilities called "passwords" which people make use of. There are flat, low-level, centralized capabilities implemented by experimental OS kernels. There are tickets granted by Kerberos servers. There are UNIX-style file descriptors, which may be passed from process to process to provide access.

Operating systems such as KeyKOS and EROS have used flat, low-level and highly centralized capabilities, leaving the implementation of human-useful capabilities to higher level layers.

Capabilities in such schemes are flat because they can't be interrogated. You can't ask such a capability about, say, when it was created or how many times it's been accessed. Neither do such capabilities possess internal state which can be mutated. Typically, one can create a new downgraded capability from a capability one possesses, but one can't downgrade or change in any way the original capability itself. These capabilities aren't objects but primitive data types.

Capabilities in such schemes are low-level because they do not offer high-level security abstractions. In KeyKOS, capabilities were exactly of two types, read and read+write, though KeyKOS capabilities could contain additional information to implement service levels and other such. Capabilities in such schemes do not naturally aggregate other capabilities (a very simple and highly useful security abstraction), one must artificially create an object in between whose sole job is to aggregate them. Note that certain security abstractions (like dynamic permission inheritance) are practically unimplementable on top of a low-level system.

Capabilities in such schemes are centralized because the kernel, and only the kernel, manages all capabilities. Rather than every module exporting its own capabilities, the only capabilities there are in the kernel. This is actually a consequence of using low-level capabilities. If capabilities were sufficiently high-level as to provide message-passing services, then it would be feasible to force every module to use secondary capabilities that all route through a single protected kernel capability. Instead, each module (called a Domain) in KeyKOS had access to a maximum of exactly 16 capabilities in special slots protected by the kernel and accessible only through special calls.

Mandatory Access Control
Tradational mandatory access control or MAC is modeled on the scheme used by the U.S. government for handling classified information. More specifically, this is mandatory sensitivity control, or MSEN. There are levels of security such as TOP SECRET, SECRET, CLASSIFIED, and UNCLASSIFIED. There are categories based on need-to-know or special program access. An actor with SECRET access is prohibited from reading TOP SECRET data, but might be permitted to write to it. (there may be an additional discretionary ACL which prevents this though) One may be able to read from lower security levels and write to higher security levels. There may be a concept of contamination, allowing an actor with SECRET access to write UNCLASSIFIED data as long as no CLASSIFIED or SECRET data has been read.

Mandatory integrity control (MINT) works the other way, preventing pristine objects from being contaminated with junk. In this case, all actors are permitted to read the most trusted data. An actor that tries to execute something downloaded from an untrusted source will either be stopped or will lose the ability to write to more trusted objects.

More modern systems combine the functions of MSEN and MINT into a state-transition model with roles. As actors do things, their state may change. In a UNIX-like system with role-based access control, the execution of a new executable is a particularly important point at which state transitions happen. Role-based security is particularly useful for enforcing privacy regulations such as HIPPA (U.S. medical info law) and the EU privacy laws. Two popular implementations of this are SE Linux and RSBAC, both available for Linux.

Cryptographic Access Control
The advent of International Networking spread the security concerns outside the usual realm of the operating system, to the data that was moving to and from the system over the network. The ability to mimic a valid data packet meant that data could be changed enroute simply by rerouting the valid packet, and replacing it with an invalid packet. As a result, security had to be spread not only to the local system, but also to all critical correspondence between systems. At first such mechanisms were implemented by sending digests of the original data as part of the datastream, under the assumption that a changed packet would not fit the original digest. However it was found that digests were not cryptographically secure and could be fooled into thinking that data was valid when it wasn't. As well, sending data in clear meant that someone in an intervening system could read the packet with a packet sniffer, and learn what the information was.

The idea when this was determined became to cryptographically protect the data, which would at least it was hoped slow down the reading of the mail, and cryptographically secure the digest, so that it couldn't be fooled as easily.


text:
Evolution of Operating Systems Designs/Properties of Namespaces

Namespaces are one of the most crucial and pervasive concepts in operating systems, and languages. Namespaces have internal properties and external properties. The internal properties define how objects within the namespace relate to each other. The external properties define how namespaces relate to (e.g., are composed with) each other.


text:
User:Sstockst

Hello all

title: User:Sstockst


text:
Evolution of Operating Systems Designs/HCI: beyond WIMP

Human-computer interaction
Human-computer interaction(HCI) deals with how people interact with computers to accomplish tasks. In this chapter we look at how interaction with computers has evolved.

Punch Cards
The Hollerith Punch Card was based on the concept of a Jaquard Loom, where patterns in the cloth were defined by cards with holes in them that triggered the heddles on the loom to change whether the warp was in front of or behind the weft. What Jaquard did with steam looms, Hollerith was able to do with electricity, thus making it possible for an operator to punch in text lines at a punch card unit, and have them converted into electrical signals at the card reader.

Commands
Computers began being connected to teletype machines in the 1950s. Teletype machines allowed users to perform tasks by typing in commands rather than using punch cards to input instructions. Soon afterwards, text-based monitors called "terminals" followed replacing printers as a means of communicating information. Today computers continue to emulate the teletype machine, while adding new functionality and features, in what is called a command-line interface (CLI).

WIMP
WIMP (Windows, Icons, Menus and Pointer) was invented for Smalltalk in the late 1970s. Since that time, it has steadily colonized modern operating systems. Unfortunately, nearly all implementations of WIMP are broken variants without the full programmable power of CLIs. Some simple CLI concepts that could be easily added to WIMP include pipes, scripts and graphical location history. If these were incorporated, CLIs could be done away with.

Beyond WIMP
Despite the decrepitude of WIMP, there has been no meaningful advance in mainstream OS' HCI since 1980. That's decades of stagnation punctuated by minor innovations like virtual desktops and context menus. The latest triviality to hit the market is the ever so gradual replacement of icons by object miniatures. Fortunately, despite the total incompetence of mainstream OS designers, research in HCI has managed to sustain a snail's pace.

Voice Recognition
The hardware exists, ready to be used, but operating systems don't take advantage of it. Voice recognition is the single most under-utilized opportunity in HCI.

Voice recognition suffers from a multitude of problems. Many environments are noisy, making recognition inaccurate and thus hazardous. Constant use of voice recognition can make people lose their voice. Voice recognition has privacy and annoyance problems. Imagine overhearing your boss say "Open personal. Copy barnyard-porn to CD-ROM. Delete barnyard-porn. Close personal." while you are trying to concentrate on your work.

Some of these problems can be partially avoided. For example, the user might say "Copy this to that", where this and that are the objects pointed to by the mouse at that particular point in time. The problem of voice overuse may be reduced by reducing the usage of voice recognition, letting voice be a supplementary input mode instead of a primary input mode.

Natural Language Interaction
The heritage to this idea can go as far back as the very early MUD program ADVENT or even ELIZA, a psychotherapist simulation that has evolved into ALICE and other natural language processors. The voice recognition software would really be built on top of this technology, although there would have to be other semantic rules to add with spoken instead of written language recognition.

This sort of interface is already implemented with websites like "Ask Jeeves" and "WikiAnswers" and other similar search tools where you ask the computer for information using a normal natural language question rather than some sort of structured query statement like SQL. This does eliminate the privacy issues but does require some more sophisticated AI research in order to succeed.

An interesting aspect of this HCI model is that it is usually conceived as a throwback to the CLI, it is imperative. Ironically enough, it is voice recognition that is strictly imperative and language processing that is supposed to move beyond this narrow interaction model. In any case, natural language interaction has been an eventual goal of many early operating system designers and even computer programming language designers.

This HCI model was explored in part by the Science Fiction author Frederick Pohl in his Gateway series of novels where the protagonist is married to a software engineer who does her programming using a modified natural language interface.

The primary issues involving this approach is that the raw database of semantic information to be able to process effectively most natural language queries needs to be quite large. In some ways even larger by an order of magnitude than many current GUI operating systems. A natural language software development environment will still have to have some sort of formalized structure to avoid ambiguous or even contradictory semantic meanings. It is also easier to write SQRT(SIN(X^3)/PI*7.55) than to describe a function as "The square root of the quantity sine of ex cubed which is then divided by the quantity Pi times seven point five five". Even here the semantic issues involved can mess up the equation but at least can be a starting point to see what natural language programming languages would be like.

Zoomable Interfaces
Any interface will have a default resolution, probably linked to the screen resolution and size. However a significant portion of the population have problems with their eyesight, and need larger characters in order to read. The idea of a zoomable interface, is that the interface is not limited to the default resolution, and can be zoomed in, to enhance the size, or zoomed out to get an overview.

This concept is also useful with multi-screen implementations of an operating system. The ability to zoom out to take a look at the multi-screen view, and zoom back in to see a single screen view, would be quite useful in complex user environment like workstations, and Architectural programs where you might want to place different elevations on different screens, and page back and forth between them to see how changes affect the other elevations.

3D
Despite its potential, 3D has never been used as anything more than a gimmick outside of, say, very specialized HCIs for biochemists. There are several issues that hold this interface concept back including a lack of a powerful model that is unique to a 3D environment such as the desktop model in a 2D environment. Most 3D environments are merely extensions of this desktop model, and have a very decided "gimick" quality to them that fails to justify the increased computing resources necessary to provide this sort of environment.

There are very few true 3D devices that computers can manipulate on a real-time basis, which also limits this direction. While you can get a true 3D hologram like you see in the movies, these display systems can cost in some cases over millions of dollars to set up and deploy and are very fragile at the moment, subject to frequent break downs. Mainly used for military and as gimmicks for places where they can justify the costs like Disneyland, and even in these places they are just a demonstration device that has very limited practical use, with only a hint for what they may eventually become. For most people who use a 3D device environment, it is almost always on a normal 2D computer screen, which is sometimes called 2.5D to acknowledge that it is more than merely a pure 2-dimensional display, but that it hasn't achieved a full third dimension.

A notable model that seems to have caught quite a bit of interest was originally described in the book Snow Crash by Neal Stephenson. While this book covers many things, the "Metaverse" is a multi-user 3D environment that uses avatars to do social interaction through a virtual reality environment. This book spawned the development of VRML, which borrowed heavily from even earlier 3D rendering formats.

Perhaps remarkable was the virtual world known as Alpha World, which enjoyed a huge burst of popularity during the mid 1990's, but financial problems plagued the company that was hosting the servers running all of the background information. Alpha World acknowledged its roots from the Metaverse including its use of avatars and some of the environments that appeared within Alpha World, including some buildings that were originally described in Snow Crash. A notable feature of Alpha World is that users could "claim" real estate and build features and landmarks within the world, denying access in some cases to users they did not like. Maping out the various user projects make the appearance of Alpha World look very similar to Urban sprawl in modern cities throughout the world, from a far view. Alpha World is still technically under development, but the original development team that created it in the first place has long since left and the software ownership has changed hands several times.

The most likely use of 3D technology from a user standpoint is going to be acting within virtual worlds like the Metaverse, or in Multi-Player Roleplaying Games like Everquest or World of Warcraft. While possible to manipulate computer data directly through these sort of environments, there doesn't seem to be a compelling interest to develop a compiler that must have software developed in that nature.

Direct Manipulation
Direct Manipulation, is a term coined in 1983 by Ben Schneiderman to cover the idea that interfaces should echo normal experience so that the interface is intuitively obvious to the user. His interest was in the design of the GUI, but this term has spread to mean any interface that is meant to be more intuitive than a WIMP GUI. There are a great number of different ways in which this type of interfacing can be implemented, and it includes a great number of subtopics because of that variety. Among other topics is the idea that an interface should give feedback to the user, like the real thing, so the steering wheel for instance should fight the user on a fast turn, and the brake pedal should indicate whether or not the brakes have locked, or throb with anti-lock device like realism. Another idea is that you should use a rod, for golphing or tennis instead of a mouse or joystick the Wii gamebox has introduced such a system. A further example is the accellerometer in a phone, that allows the user to control games by tilting the phone.

Direct Access to Hardware
Moved to Evolution of Operating Systems Designs/Storage: Addressing Schemes

User Choice: Manual Placement
People like to customize their computer systems. As a technician working on other computers can attest, sometimes it is difficult to find your bearings in a computer that has been over-customized. Familiar programs can take on new and confusing characteristics, with the result that you might not recognize them when you first sit down at someone else's computer.

Allowing the user to place their graphics components wherever they want, creates opportunities for the user to accidentally change the placement of the graphics components without knowing how they did it, and thus how to change them back. An operating system designer must carefully consider how they will implement manual placement. An example of how this can go wrong, is the drag and drop mechanism that was developed for WIMP. If every graphics element can be moved, then we get interesting effects like dragging a tool bar from the top of the screen to the side of the screen, and having it vertically aligned instead of horizontally aligned.

Many users don't understand drag and drop technology, and often hold the button on their mouse down, while they are moving it, thus dragging something they didn't mean to drag, or alternately, have to lift the mouse off the table in order to extend it's range, and accidentally drop the object in a location other than one that can be interpreted as being a valid placement location. For instance what configuration should a tool bar have, if it is placed halfway down the page?

Further, it is often possible to move something in the foreground and have it affect the placement of objects in the background, like for instance using two windows, and manipulating them vertically so that you can drag and drop between windows, sometimes scrambles the placement of icons on the desktop of Windows. In order to deal with effects like occluding one icon with another, it is often necessary to use a technique like snap to grid, that places the elements according to a grid vertex. However long icon names have been known to occlude other icons, which makes cropping the icon names useful, but eliminates information needed to understand what the icon does. Which then requires some sort of hover mechanism in order to expand the full filename without actually selecting the icon. Because of these considerations either every graphics component should be user adjustable, or careful consideration of the extremes of adjustment must be considered to decide which graphics elements will be snap to grid, which will have only valid locations accepted, and which will have complete flexibility to be placed wherever the user wants.

Brain Interface
Although this type of input is still somewhat experimental, and the standards for it have not been set, The use of Self-Organizing Maps to interface between an implant and a robotic arm, suggests that it should be possible, at some future point in time, to manage a pointing device, as if it were a part of the human body, While this is not yet mind-reading, it could offer an interface for people like paraplegics that do not have the use of normal pointing devices.


text:
Principles of Sociology/Religion

Subtopics

Principles of Sociology/New Agers and Fundamentalism

This American Life presents... a story called "Pray"... Can the secular world and the religious world understand each other? We ask that question while visiting Colorado Springs, CO, where Pastor Ted Haggard at the New Life Church has put in place a project to pray in front of the home of every person in the city, systematically, block by block and house by house. He's also helped organize a 24-hour-365-day-per-year "prayer shield" over the city, all night prayer vigils, and more. Prologue. Mary and Manfred Rauer have been married 22 years. He's a devout Christian, goes to church every week, reads the Bible every day, was head of his congregation. She's an atheist. They're happy. But there are things they don't understand about each other. How big is the gap of misunderstanding between religious people and secular people? They provide a case study. (6 minutes) Act One. Exodus. Alix Spiegel in Colorado Springs, where a massive prayer project is underway to pray for every person, business and school. When she arrives, she finds the Christians speak a kind of Christian jargon she does not understand. When she goes to her local contact to discuss it, and to find more sympathetic people to profile, he says that he believes the secular world can never understand what the religious community in Colorado Springs is doing. Alix Spiegel believed the prayers were simply a gesture of goodwill by people toward their neighbors, but soon she finds that in fact, they are something very different. Something medieval. Act Two. Kings. Scott Carrier in Salt Lake City, with a story about whether it's possible to be a good person if you're not a Christian

title: Principles of Sociology/Religion


text:
User talk:80.203.90.14

Please stop adding nonsense to Wikibooks. It is considered vandalism. If you would like to experiment, use the sandbox. Thank you.

title: User talk:80.203.90.14


text:
Wikibooks:Book of the month/November 2005

The book of the month for November is Consciousness studies – a rich-illustrated textbook on the neuroscience and philosophy of consciousness.

Vote for December - Book of the month


text:
Talk:Introduction to Business/Marketing

Prospecting for customers authors and history
= From Wikipedia:Talk:Prospecting for customers = This article has been transferred to Wikibooks by Jacqui M Schedler on 2 November 2005. — PM Poon 08:51, 2 November 2005 (UTC)
 * 2005-11-02 07:32:16 User:Prashanthns (removed book - looks like an advert)
 * 2005-11-02 07:30:32 User:Prashanthns (added cleanup tag)
 * 2005-11-02 03:52:54 User:Jacqui M Schedler (afd - wikipedia is not a how-to)
 * 2005-10-23 21:50:17 User:PM Poon m (relocate image)
 * 2005-10-23 21:48:36 User:PM Poon m (relocate image)
 * 2005-10-02 16:26:44 User:PM Poon (expand article)
 * 2005-09-21 09:55:10 User:PM Poon m (reformat headings)
 * 2005-09-14 01:13:49 User:PM Poon m (relocate image)
 * 2005-09-14 01:05:25 User:PM Poon m (add images)
 * 2005-09-13 22:14:08 User:PM Poon m (correct typo)
 * 2005-09-13 22:11:24 User:PM Poon m (add image & category)
 * 2005-09-13 20:45:18 User:PM Poon (new article)

title: Talk:Introduction to Business/Marketing


text: User talk:61.88.9.234

title: User talk:61.88.9.234


text:
Wikibooks:Book of the month/December 2005 voting

The voting for the Book of the month for December 2005 is open from November 1st, 2005, and will close on November 30th, 2005, 00:00 UTC. The book of the month will be featured on the main page of Wikibooks.

America's Army: Special Forces
(Automatically renominated with 3 votes in October) Votes:
 * 1) Klingoncowboy4 19:37, 12 November 2005 (UTC)

Comments:
 * As we are discussing what to do with computer game manuals, I suggest not to vote for this position until situation clarifies. --Derbeth talk 11:13, 21 November 2005 (UTC)

UK Constitution and Government
(Automatically renominated with 3 votes in October) Votes: Comments:
 * 1) Rob Horning 23:20, 3 November 2005 (UTC)
 * 2) Klingoncowboy4 19:37, 12 November 2005 (UTC)
 * 3) Gflores 05:47, 21 November 2005 (UTC)
 * 4) Derbeth talk 11:13, 21 November 2005 (UTC)
 * 5) Gmcfoley 16:51, 22 November 2005 (UTC)
 * 6) JMRyan 21:48, 29 November 2005 (UTC)

Japanese
Votes:
 * 1) Vexen 10:51, 15 November 2005 (UTC)
 * 2) Playadom 18:59, 15 November 2005 (UTC)
 * 80.126.144.186 18:44, 16 November 2005 (UTC)
 * 60.240.179.192 10:32, 17 November 2005 (UTC)
 * User:Paul Wilson  24:49:45, 18 November 2005(UTC) unregistred users can comment but cannot vote
 * 1) Caudax 00:50, 19 November 2005 (UTC)
 * 2) lastguru 18:02, 20 November 2005 (UTC)
 * 3) Blimxt 22:44, 21 November 2005 (UTC)
 * 4) Aaronsama 14:33, 22 November 2005 (UTC)
 * 5) Klingoncowboy4 20:01, 22 November 2005 (UTC)

Comments:
 * I don't think this book is ready for this award. Take a look at Lessons: there's no content. This book is much just a loose collection of vocabulary and grammar rules. I don't think I will learn Japanese from it. --Derbeth talk 11:13, 21 November 2005 (UTC)
 * actually, there are some lessons, they are just a little hard bit to find... in fact, the book is living through something like 3rd or 4th reorganization, and each time the legacy is restructurized so that it is not so easy to find it. I believe the wikibook is going to grow fast in near future. It also has some great contributors, so will see... Although, I have to agree that this book is not completely written yet, and has long road ahead, but give it a chance... I think that nomination may also bring some new contributors to it --lastguru 02:55, 22 November 2005 (UTC)
 * According to your opinion, it should be candidate for Collaboration of the Month, not Book of the Month. First award is intended to gather Wikibookian interest, not second. If you move your votes to COTM, I will vote for it.
 * BTW, it's a bit odd that from five people voting for this book, three have less than 5 edits. Of course, these votes are as valid as any other, but I don't think that BOTM should be chosen in such way. --Derbeth talk 09:03, 22 November 2005 (UTC)
 * Well then I'll add my vote, as I've got a lot of edits to the book, and it's my fault the lessons are so sparse. As Lastguru said, we're in the process of reorganizing/rewriting the book (particularly Lessons) and have as such taken out much material that was there before. What we have now is a pretty solid consensus on how to proceed, a strong basis for the lessons, significant interest, and IMHO quite a bit of talent and experience. Watch the book in the coming weeks. If it doesn't get it this month, it won't be long.--Aaronsama 14:32, 22 November 2005 (UTC)
 * Well, this book seems to be winning for BotM, but I agree it should probably be in CotM. Perhaps we can scrap it for December and put it up for CotM for January? - Sik0fewl 20:12, 30 November 2005 (UTC)


text:
Wikibooks:Collaboration of the Month/December 2005 voting

Voting Rules
The following are the rules and conditions for voting for the Collaboration of the Month:

 * 1) Only registered users with 20 or more edits to their name may vote.
 * 2) You may vote under as many nominations as you wish, however, you may only vote for each book itself once.
 * 3) Sign your vote with a number sign and four tildes, #~, after the most previous vote under the book's nomination. Unsigned votes will be removed.
 * 4) Any nomination which receives 3 or more votes in one month will automatically be renominated the next month if it is not chosen.
 * 5) If you wish to include a short comment for your vote, then you may do so. Make sure that if you leave such a comment, that you are also voting for that page.
 * 6) Do not post objection votes as these will have no effect on the final tally.
 * 7) Voting will end at 00:00 UTC on the first day of each month. In essence, when a new month begins voting ends. Any votes added after this time will be discarded.
 * 8) The nomination with most votes will be chosen as the Collaboration of the Month. In case of a tie, the older Wikibook will be chosen.

Cookbook
(Automatically renominated with 3 votes in October) Votes:
 * 1) Klingoncowboy4 19:39, 12 November 2005 (UTC)

Comments:

 * Anything on the Top active list should be ineligible. It's unfortunate that the Top_active_SQL_query has not been run since March, but the Cookbook was normally in 1st place or 2nd place. I think the whole point of the Collaboration of the Month is to get people working on books that are sorely in need of contributers. Voting for something at or near the top of the most active list seems to defeat the purpose. AlbertCahalan 02:00, 7 November 2005 (UTC)
 * I have to agree with Albert, there are other books that need this "shot in the arm" more than the Cookbook. Gentgeen 16:04, 19 November 2005 (UTC)
 * Agree, it's closer to BOTM than COTM. --Derbeth talk 11:24, 21 November 2005 (UTC)

Embedded Systems
Votes: Comments:
 * 1) AlbertCahalan 02:00, 7 November 2005 (UTC)
 * 2) Macgyver 14:33, 10 November 2005 (UTC)
 * 3) Klingoncowboy4 19:39, 12 November 2005 (UTC)
 * 4) Whiteknight 12:26, 18 November 2005 (UTC)
 * 5) Gabe Sechan 18:49, 23 November 2005 (UTC)
 * 6) Gflores Talk 20:58, 29 November 2005 (UTC)
 * 7) Rob Horning 18:02, 30 November 2005 (UTC)

I think I have to vote for this one, its the only one I'm qualified to help on :) --Gabe Sechan 18:49, 23 November 2005 (UTC)

Bartending
Votes:
 * 1) AlbertCahalan 02:00, 7 November 2005 (UTC)
 * 2) Klingoncowboy4 19:39, 12 November 2005 (UTC)

Comments:

Getting_a_date
Votes:
 * 1) AlbertCahalan 02:00, 7 November 2005 (UTC)
 * 2) Klingoncowboy4 19:39, 12 November 2005 (UTC)
 * 3) * Kernigh 04:55, 18 November 2005 (UTC)

Comments:
 * The people who most need this book are least able to contribute.
 * There might be some problems with the structure of this book that make it not eligible for Collaboration of the Month. --Kernigh 04:59, 18 November 2005 (UTC) -- I have withdrawn my vote before I change the structure. --Kernigh 18:58, 27 November 2005 (UTC)
 * This book is currently listed on WB:VFD. It would be a shame to make it the CoM, and then delete it. --Whiteknight T C E 15:04, 18 November 2005 (UTC)

Mythology
Votes:
 * 1) SimRPGman 04:20, 9 November 2005 (UTC)
 * 2) Klingoncowboy4 19:39, 12 November 2005 (UTC)
 * 3) Kernigh 04:44, 18 November 2005 (UTC)
 * 4) Gflores 05:57, 21 November 2005 (UTC)

Comments:
 * We have nothing on this subject which could and should have so much.--SimRPGman 04:20, 9 November 2005 (UTC)
 * This needs to be a book, not a macropedia. --Kernigh 04:44, 18 November 2005 (UTC)

A-level_Mathematics
Votes: Comments:
 * 1) Krackpipe 14:22, 12 November 2005 (UTC)
 * 2) Klingoncowboy4 19:39, 12 November 2005 (UTC)
 * 3) Macgyver 00:14, 13 November 2005 (UTC)
 * 4) The.ginkgo.nut 10:08, 14 November 2005 (UTC)
 * 5) Derbeth talk 11:24, 21 November 2005 (UTC)
 * 6) Odd bloke 01:43, 23 November 2005 (UTC)
 * Jesushaces 02:29, 23 November 2005 (UTC) (only 5 edits - see voting rules)
 * 1) JMRyan 21:55, 29 November 2005 (UTC)
 * For those who have not taken this course, the syllabus specification can be found at the OCR website. Odd bloke 20:31, 29 November 2005 (UTC)

 *  Chosen COTM - draw in votes, A-level Mathematics is older (21 December 2004 - 13 November 2005). --Derbeth talk 08:52, 1 December 2005 (UTC)


text:
Wikibooks:Collaboration of the Month/November 2005

The Collaboration of the Month for November is Algebra – study of symbolic mathematics and mathematical structures.

Vote for December - Collaboration of the Month