Skip to main content

+1 866 653-6233 LinkedIn Software Expert Witness Directory

About Us Contact Us

Barr Group Software Experts

Barr Group Software Experts

Main navigation

  • Expert Services
    • Consulting Experts in Software and Electronics
    • Expert Reports by Testifying Software Experts
    • Reverse Engineering and Forensic Analysis
    • Software Source Code Review and Analysis
  • Areas of Expertise
    • Left Side
      • Artificial Intelligence
      • Automotive Systems
      • Cloud Computing
      • Computer Security
      • Consumer Electronics
      • Electronic Circuits
      • Enterprise Software
      • Financial Technology
      • Firmware and IoT
    • Right Side
      • Industrial Controls
      • Mechanical Design
      • Medical Devices
      • Military & Aerospace
      • Mobile Devices & Apps
      • Optical Equipment
      • Renewable Energy
      • Signal Processing
      • Telecommunications
  • Matters & Venues
    • Patent Infringement and Invalidity Experts
    • Software Copyright and Trade Secrets Experts
    • Product Liability and Failure Analysis Experts
    • Contract Disputes and Software Project Failures
    • Venues and Clients
  • Directory
  • Case Studies
    • DirecTV Anti-Piracy
    • Samsung Software Copyright
    • Toyota Runaway Cars
  • Resources
    • Expert Witness Blog
    • Source Code Review in Litigation
    • Software Source Code Discovery

Terms Starting with S

  1. Home
  2. Embedded Systems Glossary
  3. Terms Starting with S

Book traversal links for Terms Starting with S

  • ‹ Terms Starting with R
  • Up
  • Terms Starting with T ›

scheduler

n. The part of an operating system that decides which task to run next. The scheduler's decision is based on the state of each task, the relative priorities of those that are ready to run, and the specific scheduling algorithm implemented.

semaphore

n. A data structure that is used for intertask synchronization. Semaphores are usually provided by the operating system and come in two types: binary and counting. The former can be used for mutual exclusion.

See also mutex.

shareware

n. Software that is distributed for free, but with a payment expectation. [more]

simulator

n. A debugging tool that runs on the host and pretends to be the target processor. A simulator can be used to test pieces of the embedded software before the embedded hardware is available. Unfortunately, attempts to simulate interactions with complex peripherals are often more trouble than they are worth.

software flow control

n. A flow control technique that uses in-band signaling. When a receiver in a bidirectional communications channel is no longer able to process or buffer incoming data, it transmits a special character request to the sender to pause the flow. When it is capable of again receiving new data, it then transmits a different character to the sender to resume the flow.

See also XOFF, XON. Contrast with hardware flow control.

software interrupt

n. An interruption of a program that is initiated by a software instruction. Software interrupts are commonly used to implement breakpoints and operating system entry points. Unlike true interrupts, they occur synchronously with respect to program execution; that is, software interrupts always occur at the beginning of an instruction execution cycle.

source code

n. A program (or part of one) in its original, human-readable form. Any file containing C, C++, Java, even assembly-language code is source code. Barr Group's software expert witness team provides source code reviews and expert reports for product liability, patent infringement, software copyright, and trade secrets theft litigation in the United States and Canada.

SPI

(like spy, or as letters) abbr. An inexpensive bus for chip interconnection that is popular on circuit boards. Short for Serial Peripheral Interface. [more]

See also 1-Wire, I2C.

SRAM

(ess-RAM) abbr. A type of RAM that retains its contents as long as the system is powered on. Short for Static Random Access Memory. Data stored in SRAM is lost when the system is powered down or reset. [more]

Compare to DRAM.

stack

1. n. A list in which elements are always added and removed from the (conceptual) end. A last-in, first-out queue. Stacks are one of the four basic kinds of queues or lists. They are used most frequently to keep track of hierarchically nested processes. They are common in both application- and system-level software. Any processor that implements a call instruction must also support some kind of hardware stack (the run-time stack). Compilers rely on the run-time stack to support function calls and argument passing.

HISTORY: A few processors did exist without hardware stacks, though these antiques are never seen today. RCA's 1802, the first really useful CMOS processor—used in many ultra–low-power apps in the 1970s and early 1980s—did not have a hardware stack. Instead, programmers simulated stacks with code that took a return address in a register and added it to a software-implemented stack.

2. n. The run-time stack associated with a particular thread. In most operating systems (SSX, SST, and Erika are exceptions), each thread requires a separate stack area. When a context switch occurs, the current stack pointer is saved as part of the old thread's context; the stack pointer of the new thread is then restored, thus making that stack active again.

stack frame

n. An area of the stack associated with a particular function call.

startup code

n. A piece of assembly language code that prepares the way for software written in a high_level_language. Most cross-compilers come with startup code that you can modify, compile, and link with your embedded programs. Startup code usually initializes code and data segments, safes I/O, and sets up chip selects and wait states.

C startup code

The world before main()

Request an Expert

(866) 653-6233

Barr Group logo
Call us

Expert Services

  • Source Code Review Services
  • Expert Witness Directory
  • Reverse Engineering Services
  • Expert Reports & Testimony
  • How-To Technical Articles
  • Engineering Services

Latest Insights

  • Payment Processing and e-Payments Fraud
  • Albert Einstein Expert Witness
  • Medical Device Litigation and FDA 510(k)
  • Personality Traits of the Best Expert Witnesses

Website contents copyright © 2012-2025 by Barr Group. | Barr Group's logo is a U.S.-registered ® trademark.

SITEMAP  |  PRIVACY