Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ Developer Release Notes: BeOS Release 4, The Kernel Kit

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Developer Release Notes: BeOS Release 4, The Kernel Kit


The Kernel Kit
Developer Release Notes
BeOS Release 4

Bug Fixes

  • spawn_thread() now returns a reasonable error code (B_NO_MEMORY) when it fails because of a lack of memory.  (It used to return -1 in this case.)


Scheduler Priorities

Confused about what sort of priority to give your thread?  Disatisfied with the handful of hard-coded priorities over in OS.h?  Try these:

int32 suggest_thread_priority(uint32 what = B_DEFAULT_MEDIA_PRIORITY,
   int32 period = 0,
   bigtime_t jitter = 0,
   bigtime_t length = 0);

bigtime_t estimate_max_scheduling_latency(thread_id thread);

  • suggest_thread_priority() asks the system to suggest the best fitting priority for a thread that repeats the same task over and over (such as receiving and processing buffers of media data).  The what argument is a bit mask that describes what you're doing in the thread.  You create it by combining pre-defined constants that are defined in kernel/scheduler.h.  The other three arguments quantify the periodicity and "duty cycle" of the thread's iterations.

  • The estimate_max_scheduling_latency() function returns an estimate of how often a thread is scheduled to run.


CPU ID Information

The new cpuid_info union provides three parcels of manfacturer information about your CPU (Intel only):

  • The eax_0 struct contains the vendor id and the max_eax.

  • The eax_1 struct contains "make and model" info.

  • The regs struct contains register info.

The get_cpuid() function returns a cpuid_info union for one of the CPUs on your system (identified by index).






BeOS Release 4




Copyright © 1998 Be, Inc.  All rights reserved.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026