StructureWorld Alpha18_14a Mac OS
The Standard Roman character set, often called Mac OS Romanor MacRoman, is an 8-bit character set used in older Macintoshoperating systems to display Western characters. It has since beenreplaced by Unicode (UTF-8).
It is an extension of both US ASCII and earlier Mac OScharacter sets and is identical to ASCII for the first 128 characters.It also resembles the Latin-1 character set, including manyaccented characters and a number of additional symbols, though the twosets don't include all of the same symbols. Latin-1 and Mac OS Roman alsodiffer on the characters assigned to numbers. For example, smallletter 'a' with an acute accent (á) is decimal 225 in Latin-1,but is decimal 135 in Mac OS Roman.
The following table describes the Mac OS Roman character set, associatingthe decimal and hexadecimal equivalents with descriptionsof the characters. Also included are the keystrokes for all printingand a few non-printing characters used with Apple's US Englishkeyboard layout. Not all fonts can represent all characters, whilesome fonts will represent alternate characters.
Dec | Hex | Description | Keystrokes |
---|---|---|---|
0 | 00 | null character | |
1 | 01 | start of heading | |
2 | 02 | start of text | |
3 | 03 | end of text | |
4 | 04 | end of transmission | |
5 | 05 | enquiry | |
6 | 06 | acknowledge | |
7 | 07 | bell | |
8 | 08 | backspace | |
9 | 09 | horizontal tabulation | |
10 | 0A | line feed | |
11 | 0B | vertical tabulation | |
12 | 0C | form feed | |
13 | 0D | carriage return | Return |
14 | 0E | Shift out | |
15 | 0F | Shift in | |
16 | 10 | data link escape | |
17 | 11 | device control one | |
18 | 12 | device control two | |
19 | 13 | device control three | |
20 | 14 | device control four | |
21 | 15 | negative acknowledge | |
22 | 16 | synchronous idle | |
23 | 17 | end of transmission block | |
24 | 18 | cancel | |
25 | 19 | end of medium | |
26 | 1A | substitute | |
27 | 1B | escape | Esc |
28 | 1C | file separator | |
29 | 1D | group separator | |
30 | 1E | record separator | |
31 | 1F | unit separator | |
32 | 20 | space | Spacebar |
33 | 21 | Shift-1 | |
34 | 22 | ' | Shift-' |
35 | 23 | # | Shift-3 |
36 | 24 | $ | Shift-4 |
37 | 25 | % | Shift-5 |
38 | 26 | & | Shift-7 |
39 | 27 | ' | ' |
40 | 28 | ( | Shift-9 |
41 | 29 | ) | Shift-0 |
42 | 2A | * | Shift-8 |
43 | 2B | + | Shift-= |
44 | 2C | , | , |
45 | 2D | - | - |
46 | 2E | . | . |
47 | 2F | / | / |
48 | 30 | 0 | 0 |
49 | 31 | 1 | 1 |
50 | 32 | 2 | 2 |
51 | 33 | 3 | 3 |
52 | 34 | 4 | 4 |
53 | 35 | 5 | 5 |
54 | 36 | 6 | 6 |
55 | 37 | 7 | 7 |
56 | 38 | 8 | 8 |
57 | 39 | 9 | 9 |
58 | 3A | : | Shift-; |
59 | 3B | ; | ; |
60 | 3C | < | Shift-, |
61 | 3D | = | = |
62 | 3E | > | Shift-. |
63 | 3F | ? | Shift-/ |
64 | 40 | @ | Shift-2 |
65 | 41 | A | Shift-a |
66 | 42 | B | Shift-b |
67 | 43 | C | Shift-c |
68 | 44 | D | Shift-d |
69 | 45 | E | Shift-e |
70 | 46 | F | Shift-f |
71 | 47 | G | Shift-g |
72 | 48 | H | Shift-h |
73 | 49 | I | Shift-i |
74 | 4A | J | Shift-j |
75 | 4B | K | Shift-k |
76 | 4C | L | Shift-l |
77 | 4D | M | Shift-m |
78 | 4E | N | Shift-n |
79 | 4F | O | Shift-o |
80 | 50 | P | Shift-p |
81 | 51 | Q | Shift-q |
82 | 52 | R | Shift-r |
83 | 53 | S | Shift-s |
84 | 54 | T | Shift-t |
85 | 55 | U | Shift-u |
86 | 56 | V | Shift-v |
87 | 57 | W | Shift-w |
88 | 58 | X | Shift-x |
89 | 59 | Y | Shift-y |
90 | 5A | Z | Shift-z |
91 | 5B | [ | [ |
92 | 5C | ||
93 | 5D | ] | ] |
94 | 5E | ^ | Shift-6 |
95 | 5F | _ | Shift-hyphen |
96 | 60 | ` | ` |
97 | 61 | a | a |
98 | 62 | b | b |
99 | 63 | c | c |
100 | 64 | d | d |
101 | 65 | e | e |
102 | 66 | f | f |
103 | 67 | g | g |
104 | 68 | h | h |
105 | 69 | i | i |
106 | 6A | j | j |
107 | 6B | k | k |
108 | 6C | l | l |
109 | 6D | m | m |
110 | 6E | n | n |
111 | 6F | o | o |
112 | 70 | p | p |
113 | 71 | q | q |
114 | 72 | r | r |
115 | 73 | s | s |
116 | 74 | t | t |
117 | 75 | u | u |
118 | 76 | v | v |
119 | 77 | w | w |
120 | 78 | x | x |
121 | 79 | y | y |
122 | 7A | z | z |
123 | 7B | { | Shift-[ |
124 | 7C | Shift- | |
125 | 7D | } | Shift-] |
126 | 7E | ~ | Shift-` |
127 | 7F | delete | Delete |
128 | 80 | Ä (A with diaeresis) | Option-u Shift-a |
129 | 81 | Å (A with ring) | Option-Shift-a |
130 | 82 | Ç (C with cedilla) | Option-Shift-c |
131 | 83 | É (E with acute accent) | Option-e Shift-e |
132 | 84 | Ñ (N with tilde) | Option-n Shift-n |
133 | 85 | Ö (O with diaeresis) | Option-u Shift-o |
134 | 86 | Ü (U with diaeresis) | Option-u Shift-u |
135 | 87 | á (a with acute accent) | Option-e a |
136 | 88 | à (a with grave accent) | Option-` a |
137 | 89 | â (a with circumflex) | Option-i a |
138 | 8A | ä (a with diaeresis) | Option-u a |
139 | 8B | ã (a with tilde) | Option-n a |
140 | 8C | å (a with ring) | Option-a |
141 | 8D | ç (c with cedilla) | Option-c |
142 | 8E | é (e with acute accent) | Option-e e |
143 | 8F | è (e with grave accent) | Option-` e |
144 | 90 | ê (e with circumflex) | Option-i e |
145 | 91 | ë (e with diaeresis) | Option-u e |
146 | 92 | í (i with acute accent) | Option-e i |
147 | 93 | ì (i with grave accent) | Option-` i |
148 | 94 | î (i with circumflex) | Option-i i |
149 | 95 | ï (i with diaeresis) | Option-u i |
150 | 96 | ñ (n with tilde) | Option-n n |
151 | 97 | ó (o with acute accent) | Option-e o |
152 | 98 | ò (o with grave accent) | Option-` o |
153 | 99 | ô (o with circumflex) | Option-i o |
154 | 9A | ö (o with diaeresis) | Option-u o |
155 | 9B | õ (o with tilde) | Option-n o |
156 | 9C | ú (u with acute accent) | Option-e u |
157 | 9D | ù (u with grave accent) | Option-` u |
158 | 9E | û (u with circumflex) | Option-i u |
159 | 9F | ü (u with diaeresis) | Option-u u |
160 | A0 | † (dagger) | Option-t |
161 | A1 | ° (degree) | Option-Shift-8 |
162 | A2 | ¢ (cent) | Option-4 |
163 | A3 | £ (pound sterling) | Option-3 |
164 | A4 | § (section) | Option-6 |
165 | A5 | • (bullet) | Option-8 |
166 | A6 | ¶ (pilcrow [paragraph sign]) | Option-7 |
167 | A7 | ß (small sharp s) | Option-s |
168 | A8 | ® (registered trademark) | Option-r |
169 | A9 | © (copyright) | Option-g |
170 | AA | ™ (trademark) | Option-2 |
171 | AB | ´ (acute accent) | Option-e |
172 | AC | ¨ (diaeresis) (umlaut) | Option-u |
173 | AD | not equal to | Option-= |
174 | AE | Æ (AE ligature) | Option-Shift-' |
175 | AF | Ø (O with slash) | Option-Shift-o |
176 | B0 | infinity | Option-5 |
177 | B1 | ± (plus or minus) | Option-Shift-= |
178 | B2 | less than or equal to | Option-, |
179 | B3 | greater than or equal to | Option-. |
180 | B4 | ¥ (yen) | Option-y |
181 | B5 | µ (micro) | Option-m |
182 | B6 | partial differential | Option-d |
183 | B7 | summation | Option-w |
184 | B8 | product (capital pi) | Option-Shift-p |
185 | B9 | small pi | Option-p |
186 | BA | integral | Option-b |
187 | BB | ª (feminine ordinal) | Option-9 |
188 | BC | º (masculine ordinal) | Option-0 |
189 | BD | ohm (omega) | Option-z |
190 | BE | æ (ae ligature) | Option-' |
191 | BF | ø (o with slash) | Option-o |
192 | C0 | ¿ (inverted question mark) | Option-Shift-? |
193 | C1 | ¡ (inverted exclamation mark) | Option-1 |
194 | C2 | ¬ (not) | Option-l |
195 | C3 | square root | Option-v |
196 | C4 | ƒ (small script f) | Option-f |
197 | C5 | almost equal to | Option-x |
198 | C6 | increment (delta) | Option-j |
199 | C7 | « (left pointing guillemet) | Option- |
200 | C8 | » (right pointing guillemet) | Option-Shift- |
201 | C9 | … (horizontal ellipsis) | Option-; |
202 | CA | (non-breaking space) | Option-Spacebar |
203 | CB | À (A with grave accent) | Option-` Shift-a |
204 | CC | Ã (A with tilde) | Option-n Shift-a |
205 | CD | Õ (O with tilde) | Option-n Shift-o |
206 | CE | Œ (OE ligature) | Option-Shift-q |
207 | CF | œ (oe ligature) | Option-q |
208 | D0 | – (endash) | Opt-hyphen |
209 | D1 | — (emdash) | Option-Shift-hyphen |
210 | D2 | “ (left double quote) | Option-[ |
211 | D3 | ” (right double quote) | Option-Shift-[ |
212 | D4 | ‘ (left single quote) | Option-] |
213 | D5 | ’ (right single quote) | Option-Shift-] |
214 | D6 | ÷ (division) | Option-/ |
215 | D7 | lozenge | Option-Shift-v |
216 | D8 | › (y with diaeresis) | Option-u y |
217 | D9 | Ÿ (Y with diaeresis) | Option-u Shift-y |
218 | DA | fraction slash | Option-Shift-1 |
219 | DB | € (euro) | Option-Shift-2 |
220 | DC | Option-Shift-3 | |
221 | DD | › (right pointing single guillemet) | Option-Shift-4 |
222 | DE | Option-Shift-5 | |
223 | DF | þ (small fl ligature [small thorn)] | Option-Shift-6 |
224 | E0 | ‡ (double dagger) | Option-Shift-7 |
225 | E1 | · (middle dot) | Option-Shift-9 |
226 | E2 | ‚ (low single quote) | Option-Shift-0 |
227 | E3 | „ (low double quote) | Option-Shift-w |
228 | E4 | ‰ (per mille) | Option-Shift-r |
229 | E5 | Â (A with circumflex) | |
230 | E6 | Ê (E with circumflex) | Option-i Shift-e |
231 | E7 | Á (A with acute accent) | Option-Shift-y or Option-e Shift-a |
232 | E8 | Ë (E with diaeresis) | Option-u Shift-e |
233 | E9 | È (E with grave accent) | Option-` Shift-e |
234 | EA | Í (I with acute accent) | |
235 | EB | Î (I with circumflex) | Option-Shift-d or Option-i Shift-i |
236 | EC | Ï (I with diaeresis) | |
237 | ED | Ì (I with grave accent) | Option-` Shift-i |
238 | EE | Ó (O with acute accent) | Option-Shift-h or Option-e Shift-o |
239 | EF | Ô (O with circumflex) | |
240 | F0 | Apple Computer logo | Option-Shift-k |
241 | F1 | Ò (O with grave accent) | Option-Shift-l or Option-` Shift-o |
242 | F2 | Ú (U with acute accent) | |
243 | F3 | Û (U with circumflex) | Option-i Shift-u |
244 | F4 | Ù (U with grave accent) | Option-` Shift-u |
245 | F5 | i without a dot | Option-Shift-b |
246 | F6 | ˆ (circumflex accent) | Option-Shift-i |
247 | F7 | ˜ (tilde accent) | Option-Shift-n |
248 | F8 | ¯ (macron) | Option-Shift-, |
249 | F9 | breve | Option-Shift-. |
250 | FA | dot accent | Option-h |
251 | FB | ring | Option-k |
252 | FC | ¸ (cedilla accent) | Option-Shift-z |
253 | FD | double acute accent | Option-Shift-g |
254 | FE | ogonek | Option-Shift-x |
255 | FF | hacek | Option-Shift-t |
OS X provides many benefits to the Macintoshuser and developer communities. These benefits include improvedreliability and performance, enhanced networking features, an object-basedsystem programming interface, and increased support for industrystandards.
In creating OS X, Apple has completely re-engineered theMac OS core operating system. Forming the foundation of OS Xis the kernel. Figure 3-1 illustrates the OS X architecture.
The kernel provides many enhancements for OS X. Theseinclude preemption, memory protection,enhanced performance, improved networking facilities, support for bothMacintosh (Extended and Standard) and non-Macintosh (UFS, ISO 9660,and so on) file systems, object-oriented APIs, and more. Two ofthese features, preemption and memory protection, lead to a morerobust environment.
A retail Snow Leopard DVD won't work on that Mac. Phone Apple and order replacement original disks; if you've made an USB installer from the Mac App Store version of 10.7 or newer, you can use that instead. The computer's exact specifications, including its original OS and the answer as to whether or not the retail DVD would have worked. Mac OS 8Version 8.0691-1600-AU97073-049A. An icon used to represent a menu that can be toggled by interacting with this icon. Samba (2:4.2.14+dfsg-0+deb8u1) jessie; urgency=high. New upstream release. + Fixes CVE-2016-2119: Client side SMB2/3 required signing can be downgraded. + Various fixes for regre. MacRumors published a story that Apple has released the sixth Beta of macOS Big Sur to registered developers. Apple Releases Sixth Beta of macOS Big Sur to Developers.
In Mac OS 9, applications cooperate to share processor time.Similarly, all applications share the memory of the computer amongthem. Mac OS 9 is a cooperative multitasking environment.The responsiveness of all processes is compromised if even a single applicationdoesn’t cooperate. On the other hand, real-time applications suchas multimedia need to be assured of predictable, time-critical,behavior.
In contrast, OS X is a preemptive multitasking environment.In OS X, the kernel provides enforcement of cooperation, schedulingprocesses to share time (preemption). This supports real-time behaviorin applications that require it.
In OS X, processes do not normally share memory. Instead,the kernel assigns each process its own addressspace, controlling access to these address spaces. Thiscontrol ensures that no application can inadvertently access ormodify another application’s memory (protection). Size is notan issue; with the virtual memory system included in OS X, eachapplication has access to its own 4 GB address space.
Viewed together, all applications are said to run in userspace, but this does not imply that they share memory. User spaceis simply a term for the combined address spaces of all user-levelapplications. The kernel itself has its own address space, calledkernel space. In OS X, no application can directly modify thememory of the system software (the kernel).
Although user processes do not share memory by default asin Mac OS 9, communication (and even memory sharing) between applicationsis still possible. For example, the kernel offers a rich set ofprimitives to permit some sharing of information among processes. Theseprimitives include shared libraries, frameworks, and POSIX sharedmemory. Mach messaging provides another approach, handing memoryfrom one process to another. Unlike Mac OS 9, however, memory sharingcannot occur without explicit action by the programmer.
Darwin
The OS X kernel is an Open Source project.The kernel, along with other core parts of OS X are collectivelyreferred to as Darwin. Darwin is a complete operatingsystem based on many of the same technologies that underlie OS X. However, Darwin does not include Apple’s proprietary graphicsor applications layers, such as Quartz, QuickTime, Cocoa, Carbon,or OpenGL.
Figure 3-2 shows the relationship between Darwin and OS X. Both build upon the same kernel, but OS X adds Core Services,Application Services and QuickTime, as well as the Classic, Carbon, Cocoa,and Java (JDK) application environments. Both Darwin and OS X include the BSD command-line application environment; however,in OS X, use of environment is not required, and thus it ishidden from the user unless they choose to access it.
Darwin technology is based on BSD, Mach3.0, and Apple technologies. Best of all, Darwin technology is OpenSource technology, which means that developers have full accessto the source code. In effect, OS X third-party developers canbe part of the Darwin core system software development team. Developerscan also see how Apple is doing things in the core operating systemand adopt (or adapt) code to use within their own products. Referto the Apple Public Source License (APSL) fordetails.
Because the same software forms the core of both OS Xand Darwin, developers can create low-level software that runs onboth OS X and Darwin with few, if any, changes. The only differenceis likely to be in the way the software interacts with the applicationenvironment.
Darwin is based on proven technology from many sources. Alarge portion of this technology is derived from FreeBSD, a versionof 4.4BSD that offers advanced networking, performance, security,and compatibility features. Other parts of the system software,such as Mach, are based on technology previously used in Apple’sMkLinux project, in OS X Server, and in technology acquiredfrom NeXT. Much of the code is platform-independent. All of thecore operating-system code is available in source form.
The core technologies have been chosen for several reasons.Mach provides a clean set of abstractions for dealing with memorymanagement, interprocess (and interprocessor) communication (IPC),and other low-level operating-system functions. In today’s rapidly changinghardware environment, this provides a useful layer of insulationbetween the operating system and the underlying hardware.
BSD is a carefully engineered, mature operating system withmany capabilities. In fact, most of today’s commercial UNIX andUNIX-like operating systems contain a great deal of BSD code. BSDalso provides a set of industry-standard APIs.
New technologies, such as the I/O Kit and Network Kernel Extensions(NKEs), have been designed and engineered by Apple to take advantageof advanced capabilities, such as those provided by an object-orientedprogramming model. OS X combines these new technologies withtime-tested industry standards to create an operating system thatis stable, reliable, flexible, and extensible.
Architecture
The foundation layer of Darwin and OS X is composed ofseveral architectural components, as shown in Figure 3-3. Taken together, thesecomponents form the kernel environment.
Important: Note that OS X uses the term kernel somewhatdifferently than you might expect.
“A kernel, in traditional operating-system terminology,is a small nucleus of software that provides only the minimal facilitiesnecessary for implementing additional operating-system services.”— from The Design and Implementation of the 4.4 BSDOperating System, McKusick, Bostic, Karels, and Quarterman,1996.
Similarly, in traditional Mach-based operating systems, thekernel refers to the Mach microkernel and ignores additional low-levelcode without which Mach does very little.
In OS X, however, the kernel environment contains muchmore than the Mach kernel itself. The OS X kernel environmentincludes the Mach kernel, BSD, the I/O Kit, file systems, and networkingcomponents. These are often referred to collectively as the kernel.Each of these components is described briefly in the following sections.For further details, refer to the specific component chapters orto the reference material listed in the bibliography.
Because OS X contains three basic components (Mach, BSD,and the I/O Kit), there are also frequently as many as three APIsfor certain key operations. In general, the API chosen should matchthe part of the kernel where it is being used, which in turn isdictated by what your code is attempting to do. The remainder ofthis chapter describes Mach, BSD, and the I/O Kit and outlines thefunctionality that is provided by those components.
Mach
Mach manages processor resources such as CPU usage and memory,handles scheduling, provides memory protection, and provides a messaging-centeredinfrastructure to the rest of the operating-system layers. The Machcomponent provides
Structureworld Alpha18_14a Mac Os Catalina
untyped interprocesscommunication (IPC)
remote procedure calls (RPC)
scheduler support for symmetric multiprocessing (SMP)
support for real-time services
virtual memory support
support for pagers
modular architecture
General information about Mach may be found in the chapter Mach Overview. Informationabout scheduling can be found in the chapter Mach Scheduling and Thread Interfaces.Information about the VM system can be found in Memory and Virtual Memory.
BSD
Above the Mach layer, the BSD layer provides “OS personality”APIs and services. The BSD layer is based on the BSD kernel, primarily FreeBSD.The BSD component provides
Mac Os Catalina
file systems
networking (except for the hardware device level)
UNIX security model
syscall
supportthe BSD process model, including process IDs and signals
FreeBSD kernel APIs
many of the POSIX APIs
kernel support for pthreads (POSIX threads)
The BSD component is described in more detail in the chapter BSD Overview.
Networking
OS X networking takes advantage of BSD’s advanced networkingcapabilities to provide support for modern features, such as NetworkAddress Translation (NAT) and firewalls.The networking component provides
4.4BSD TCP/IPstack and socket APIs
support for both IP and DDP (AppleTalk transport)
multihoming
routing
multicast support
server tuning
packet filtering
Mac OS Classic support (through filters)
More information about networking may be found in the chapter Network Architecture.
File Systems
OS X provides support for numerous types of file systems,including HFS, HFS+, UFS, NFS, ISO9660, and others. The default file-system type is HFS+;OS X boots (and “roots”) from HFS+, UFS, ISO, NFS, and UDF.Advanced features of OS X file systems include an enhanced VirtualFile System (VFS) design. VFS provides for alayered architecture (file systems are stackable).The file system component provides
UTF-8 (Unicode)support
increased performance over previous versions of Mac OS.
More information may be found in the chapter File Systems Overview.
Structureworld Alpha18_14a Mac Os Update
I/O Kit
The I/O Kit provides a framework for simplified driver development,supporting many categories of devices.The I/O Kit features an object-orientedI/O architecture implemented in a restricted subset of C++. TheI/O Kit framework is both modular and extensible. The I/O Kit componentprovides
true plugand play
dynamic device management
dynamic (“on-demand”) loading of drivers
power management for desktop systems as well as portables
multiprocessor capabilities
The I/O Kit is described in greater detail in the chapter I/O Kit Overview.
Kernel Extensions
OS X provides a kernel extension mechanism as a meansof allowing dynamic loading of pieces of code into kernel space,without the need to recompile. These pieces of code are known genericallyas plug-ins or, in the OS X kernel environment,as kernel extensions or KEXTs.
Because KEXTs provide both modularity and dynamic loadability,they are a natural choice for any relatively self-contained servicethat requires access to interfaces that are not exported to userspace. Many of the components of the kernel environment supportthis extension mechanism, though they do so in different ways.
For example, some of the new networking features involve theuse of network kernel extensions (NKEs). Theseare discussed in the chapter Network Architecture.
The ability to dynamically add a new file-system implementationis based on VFS KEXTs. Device drivers and device families in theI/O Kit are implemented using KEXTs. KEXTs make development mucheasier for developers writing drivers or those writing code to supporta new volume format or networking protocol. KEXTs are discussedin more detail in the chapter Kernel Extension Overview.
Copyright © 2002, 2013 Apple Inc. All Rights Reserved. Terms of Use Privacy Policy Updated: 2013-08-08