q2K BHP
Black History Portal
THE BHP WIRE —
HIDDEN TRUTHS
What's New!
THE JOURNEY THROUGH TIME

Explore Black History

Explore the people, places, events, achievements, struggles and stories that shaped our journey.

✊🏾

Civil Rights

Movements, leaders, victories and the continuing fight for equality.

⚙️

Black Inventors

Innovation, patents, science, technology and world-changing contributions.

🏆

Sports

Pioneers, champions, Negro Leagues, records, activism and excellence.

♟️

People

Meet the people whose lives, choices and achievements shaped the journey.

📍

Places

Black towns, communities, institutions and places where history happened.

📜

Events

Moments that changed communities, movements, institutions and the nation.

Enter a person, place, event, or topic.
MY'STORY

The MOVE Fire

This is a personal recollection on the Move fire on May 13, 1985 Philadelphia police fired thousands of rounds at the MOVE house, city officials approved dropping an explosive device on the roof, the resulting fire was allowed to burn, 11 people—including five children—died, and 61 homes were destroyed. Philadelphia City Council later called it a “brutal attack carried out by the City of Philadelphia on its own citizens” and acknowledged that no individual faced criminal consequences for the bombing. One timeline correction worth preserving for the BHP record: the major previous MOVE-police confrontation was August 8, 1978, about seven years before the bombing, not a year or two earlier. Officer James Ramp was killed, other police and firefighters were wounded, nine MOVE members were later convicted, and television cameras recorded police beating Delbert Africa during his arrest. The 1985 MOVE Commission later specifically criticized city planners for failing to adequately use lessons from that 1978 confrontation. And that actually strengthens the point you’re making: 1985 did not happen without precedent or institutional memory. There had already been a deadly confrontation with MOVE, years of conflict, negotiations and police involvement before Osage Avenue.

MORE →
BLACK FACTS
The Truths They Never Taught You...

Wilmington 1898 — An American Coup

Wilmington, North Carolina once had a thriving Black middle class and an elected interracial government. In 1898 white supremacists used violence to overthrow that government, kill Black residents and drive many others from the city.

MORE →
BHP gathered finds from its connected research sources. Showing the 4 strongest Black History matches.
← BACK TO RESULTS
Wikipedia

Not Another Completely Heuristic Operating System

Nachos
DeveloperUniversity of California, Berkeley
(Thomas Anderson, Wayne A. Christopher, Steven J. Procter)
Written inC++
Working stateDiscontinued
Initial release1992; 34 years ago (1992)
Latest release3.4
Latest preview4.0 / 1996; 30 years ago (1996)
Supported platformsMIPS architecture
Kernel typeMonolithic
LicenseBerkeley Software Distribution
Official websitewww.cs.washington.edu/homes/tom/nachos/

Not Another Completely Heuristic Operating System, or Nachos, is instructional software for teaching undergraduate, and potentially graduate level operating systems courses. It was developed at the University of California, Berkeley, designed by Thomas Anderson, and is used by numerous schools around the world.

Originally written in C++ for MIPS, Nachos runs as a user-process on a host operating system. A MIPS simulator executes the code for any user programs running on top of the Nachos operating system. Ports of the Nachos code exist for a variety of architectures.

In addition to the Nachos code, a number of assignments are provided with the Nachos system. The goal of Nachos is to introduce students to concepts in operating system design and implementation by requiring them to implement significant pieces of functionality within the Nachos system.

In Nachos' case, Operating System simulator simply means that you can run an OS (a guest OS) on top of another one (the host OS), similar to Bochs/VMware. It features emulation for:

which are there to run the Nachos[1] user space applications. That means that you can write programs for Nachos, compile them with a real compiler (an old gcc compiler[2] that produces code for MIPS) and run them. The Nachos kernel instead is compiled to the platform of the Host OS and thus runs natively on the Host OS' CPU.

Nachos version 3.4 has been the stable, commonly used version of Nachos for many years. Nachos version 4.0 has existed as a beta since approximately 1996.

Implementation

[edit]

Nachos has various modules implementing the functionality of a basic operating system. The wrapper functions for various system calls of the OS kernel are generally implemented in a manner similar to that of the UNIX system calls .[3] Various parts of the OS are instantiated as objects using the native code. For example, a class Machineis used as the master class of the simulated machine.[4] It contains various objects, such as FileSystem, Processor, Timer, etc. which are defined to simulate various hardware aspects.

Major components

[edit]

NachOS Machine - Nachos simulates a machine that roughly approximates the MIPS architecture. The machine has registers, memory and a CPU. The Nachos/MIPS machine is implemented by the Machine object, an instance of which is created when Nachos starts up. It contains methods like Run, ReadRegister, WriteRegister, etc. It also defines an interrupt object to handle interrupts. Timer and statistics are also implemented in this.

NachOS Threads - In NachOS a thread class is defined. A thread has an associated state with it which may be ready, running, blocked or just created. The thread object has various methods like PutThreadToSleep, YieldCPU, ThreadFork, ThreadStackAllocate, etc. Each thread runs at a virtual address space.

NachOS UserPrograms - Nachos runs user programs in their own private address space. Nachos can run any MIPS binary, assuming that it restricts itself to only making system calls that Nachos understands. In Unix, "a.out" files are stored in "coff" format. Nachos requires that executables be in the simpler "Noff" format. To convert binaries of one format to the other, use the coff2noff program.

[5]

Successors

[edit]

As Nachos has not been in active development for a number of years, and possesses a number of recognized flaws (particularly with regards to portability: Nachos relies on MIPS assembly code, and requires porting to run on x86 architecture), successor projects have been initiated. In 2004, Stanford University created Pintos, a Nachos-inspired system written in C and designed to run on actual x86 hardware. In 2000, Dan Hettena at UC Berkeley ported Nachos to Java as Nachos 5.0j, in an effort to make Nachos more portable, more accessible to undergraduates, and less susceptible to subtle bugs in student code that had in earlier versions often dominated student project development time. Another Java-based version was created by Professor Peter Druschel at Rice University. It was later adapted by Professor Eugene Stark at Stony Brook University in 2003 and applied in the operating systems course. At Graz University of Technology (Austria), a system called SWEB ("Schon wieder ein Betriebssystem") has been implemented and is used to teach operating system principles.

Compared to other teaching operating systems

[edit]
System Lines of code Kernel type Language Hardware environment Lacks (vs others)
Minix 1 ~12k Microkernel C x86-16 ?
Minix 2 ~23k Microkernel C x86-32 ?
Minix 3 ~100k+ Microkernel C x86-32 N/a
Nachos ~15k No kernel. User-space OS simulator C++ MIPS simulator SMP, paging, real hardware
Pintos ~25k Monolithic C x86 (typically under QEMU/Bochs) SMP, user-space drivers
Xinu ~10k Monolithic C x86 / ARM SMP, paging, virtual memory
xv6 ~10k Monolithic C x86 / x86-64 / RISC-V user-space drivers, POSIX layer

References

[edit]
  1. ^ "Guide to Nachos, University of Pittsburgh". Retrieved 2014-02-17.
  2. ^ "Compiling C and C++ Programs, University of Wisconsin". Retrieved 2014-02-17.
  3. ^ "Nachos Beginner's Guide, Level 2: System calls and exceptions, Linköping University". Retrieved 2014-09-09.
  4. ^ "Machine Class at Nachos Documentation, University of California, Berkeley". Retrieved 2014-09-09.
  5. ^ "A road map through NachOS, Duke University". Retrieved 2015-05-05.
[edit]

Source: Wikipedia. Article content is retrieved live through the MediaWiki API.

No preview image
Wikipedia

Not Another Completely Heuristic Operating System

Not Another Completely Heuristic Operating System, or Nachos, is instructional software for teaching undergraduate, and potentially graduate level operating systems courses. It was developed at the University of California, Berkeley, designed by Thomas Anderson, and is used by numerous schools around the world. Originally written in C++ for MIPS, Nachos runs as a user-process on a host operating system. A MIPS simulator executes the code for any user programs running on top of the Nachos operating system. Ports of the Nachos code exist for a variety of architectures. In addition to the Nachos code, a number of assignments are provided with the Nachos system. The goal of Nachos is to introduce students to concepts in operating system design and implementation by requiring them to implement significant pieces of functionality within the Nachos system. In Nachos' case, Operating System simulator simply means that you can run an OS (a guest OS) on top of another one (the host OS), similar to Bochs/VMware. It features emulation for: A CPU (a MIPS CPU) A hard drive An interrupt controller, timer, and misc. other components which are there to run the Nachos user space applications. That means that you can write programs for Nachos, compile them with a real compiler (an old gcc compiler that produces code for MIPS) and run them. The Nachos kernel instead is compiled to the platform of the Host OS and thus runs natively on the Host OS' CPU. Nachos version 3.4 has been the stable, commonly used version of Nachos for many years. Nachos version 4.0 has existed as a beta since approximately 1996.

MORE →
No preview image
Wikipedia

Pintos (operating system)

Pintos is a simple instructional operating system framework for the x86 instruction set architecture. It supports kernel threads, loading and running user programs, and a file system, but it implements all of these in a very simple way. Pintos is currently used by multiple institutions, including UT Austin, UC Berkeley, UC Santa Cruz, University at Buffalo, Linköping University, Peter the Great St. Petersburg Polytechnic University and Imperial College London, as an academic aid in Operating Systems class curriculums.

MORE →
Wikipedia

Chinese room

The Chinese room argument holds that a computer executing a program cannot have a mind, understanding, or consciousness, regardless of how intelligently or human-like the program may make the computer behave. The argument was presented in a 1980 paper by the American philosopher John Searle, entitled "Minds, Brains, and Programs" and published in the journal Behavioral and Brain Sciences. Precursor arguments had been made by Gottfried Wilhelm Leibniz, Peter Winch, Anatoly Dneprov, et al.; Searle's version has been widely discussed in the years since. The centerpiece of Searle's argument is the "Chinese room" thought experiment. Searle supposes a computer program which receives and outputs Chinese characters, carrying out instructions so perfectly that humans cannot distinguish it from a Chinese-speaking person. Searle then supposes he is in a room, receiving Chinese characters slipped under the door. He follows an English version of the computer program step-by-step, which instructs him to return output Chinese characters. Searle argues that as he would not understand the conversation, and there is no essential difference between his role and the computer's, that a computer is not capable of understanding. The argument is directed against the philosophical positions of functionalism and computationalism, which hold that the mind may be viewed as an information-processing system operating on formal symbols, and that simulation of a given mental state is sufficient for its presence. Specifically, the argument is intended to refute a position Searle calls the strong AI hypothesis: "The appropriately programmed computer with the right inputs and outputs would thereby have a mind in exactly the same sense human beings have minds." Although its proponents originally presented the argument in reaction to statements of artificial intelligence (AI) researchers, it is assumed by computer scientists to not be an argument against the goals of mainstream AI research because of their perspective that it does not show a limit in the amount of intelligent behavior a machine can display. Widely discussed, the argument has been subject to significant debate among philosophers of mind and AI researchers, and is a touchstone of contemporary philosophy.

MORE →
No preview image
Wikipedia

Speech synthesis

Speech synthesis is the artificial production of human speech. A computer system used for this purpose is called a speech synthesizer, and can be implemented in software or hardware products. A text-to-speech (TTS) system converts normal language text into speech; other systems render symbolic linguistic representations like phonetic transcriptions into speech. The reverse process is speech recognition. Synthesized speech can be created by concatenating pieces of recorded speech that are stored in a database. Systems differ in the size of the stored speech units; a system that stores phones or diphones provides the largest output range, but may lack clarity. For specific usage domains, the storage of entire words or sentences allows for high-quality output. Alternatively, a synthesizer can incorporate a model of the vocal tract and other human voice characteristics to create a completely "synthetic" voice output. The quality of a speech synthesizer is judged by its similarity to the human voice and by its ability to be understood clearly. An intelligible text-to-speech program allows people with visual impairments or reading disabilities to listen to written words on a home computer. The earliest computer operating system to have included a speech synthesizer was Unix in 1974, through the Unix speak utility. In 2000, Microsoft Sam was the default text-to-speech voice synthesizer used by the narrator accessibility feature, which shipped with all Windows 2000 operating systems, and subsequent Windows XP systems. A text-to-speech system (or "engine") is composed of two parts: a front-end and a back-end. The front-end has two major tasks. First, it converts raw text containing symbols like numbers and abbreviations into the equivalent of written-out words. This process is often called text normalization, pre-processing, or tokenization. The front-end then assigns phonetic transcriptions to each word, and divides and marks the text into prosodic units, like phrases, clauses, and sentences. The process of assigning phonetic transcriptions to words is called text-to-phoneme or grapheme-to-phoneme conversion. Phonetic transcriptions and prosody information together make up the symbolic linguistic representation that is output by the front-end. The back-end—often referred to as the synthesizer—then converts the symbolic linguistic representation into sound. In certain systems, this part includes the computation of the target prosody (pitch contour, phoneme durations), which is then imposed on the output speech.

MORE →
TOPIC OF THE DAY

Greenwood / Black Wall Street

Before the 1921 destruction of Tulsa’s Greenwood District, Black residents had created a remarkable center of business and community life. The district included stores, professional offices, entertainment venues and homes owned by Black citizens. Understanding Greenwood means learning what was built—not only what was burned.

MORE →
TRIVIA QUESTION OF THE DAY

Who became the first Black woman to travel into space?

Mae Jemison, aboard Space Shuttle Endeavour in 1992.