Questions tagged [systems-programming]

System programming is the activity of computer programming system software. The primary distinguishing characteristic of systems programming when compared to application programming is that application programming aims to produce software which provides services to the user, whereas systems programming aims to produce software which provides services to the computer hardware.

Wiki:

System programming is a kind of computer programming which is intended to design a system software. Systems programming is used to produce such softwares which provide services to the computer hardware. thus It requires a greater extent of hardware compatibility.

Implementing certain parts in operating system and networking requires systems programming, for example implementing Paging (Virtual Memory) or a device driver for an operating system. A System programming language like C, PL360, BLISS, D is usually used to for systems programming".

Usage:

The tag can be used for all system programming related problems. Stackoverflow is a question-answer website for programming related problems, for theoretical and other problems you can ask your system programming problems on https://www.superuser.com and https://programmers.stackexchange.com/

Read more:

408 questions
5
votes
1 answer

Classification of USB devices connected

I am writing a C# application that monitors and logs the different USB devices that are being connected to a windows system. Using Window's setup API, I am able to get the details such as VID, PID, Hardware Id and Friendly name. What I wanted to ask…
sidd607
  • 1,339
  • 2
  • 18
  • 29
5
votes
2 answers

What are all the disadvantages of using files as a means of communicating between two processes?

I have legacy code which I need to improve for performance reasons. My application comprises of two executables that need to exchange certain information. In the legacy code, one exe writes to a file ( the file name is passed as an argument to exe)…
Manny
  • 699
  • 6
  • 19
5
votes
4 answers

Does implementation of C libraries depend on OS?

I'm just wondering that there are different functions in different OSs, but they serve the same purpose, or it can be said that different OSs have different system programming languages (like that of Windows vs that of UNIX). So, for example, as C…
PalashV
  • 759
  • 3
  • 8
  • 25
5
votes
1 answer

Which winapi function does the Process Explorer use to suspend process?

I am attempting to write a hook which will catch "SomeFunction" of Process Explorer that suspends process. I already have a solution which hooks functions such as SuspendThread and NtSuspendThread. But the Process Explorer use something different…
Anton23
  • 2,079
  • 5
  • 15
  • 28
5
votes
1 answer

Xposed : How to hook a method of a nested class(inner class) in xposed framework.

I am trying to hook a method using: findAndHookMethod("com.android.keyguard.KeyguardPatternView.UnlockPatternListener", lpparam.classLoader, "onPatternDetected", new XC_MethodHook() Where UnlockPatternListener is a nested class(inner class) and it…
compilerNayan
  • 63
  • 1
  • 5
5
votes
1 answer

Literals VS Immediate Operands

In the systems software course that I have this semester, we are being taught assemblers and other system software. While reading across the course I came across the topic of LITERALS. There was a comparison between literals and immediate operands…
5
votes
1 answer

DTS file explanation - aliases

I am trying to understand the following snippet from a DTS file. /dts-v1/; / { model = "MPC8313ERDB"; compatible = "MPC8313ERDB", "MPC831xRDB", "MPC83xxRDB"; #address-cells = <1>; #size-cells = <1>; aliases { ethernet0…
5
votes
5 answers

Data section in a.out

here is a simple code that I executed int a; int main() { return 0; } Then after compiling with gcc I did size a.out I got some output in bss and data section...Then I changed my code to this int a; int main() { char *p = "hello"; …
user1205088
  • 229
  • 2
  • 11
5
votes
2 answers

rdtsc's return value is _always_ mod 10 == 0 on Atom N450

On my E8200 box this doesn't occur, but on my Atom N450 netbook (both running OpenSuse 11.2), whenever I read the CPU's TSC, the returned value is mod 10 == 0, i. e. it is without remainder divisible by 10. I'm using the RDTSC value for measuring…
5
votes
2 answers

Invoking debugger from within a C program

I am reading the book - "C Interfaces and Implementations" by David Hanson. This exercise questions seems interesting and am unable to find a solution: On some systems, a program can invoke a debugger on itself when it has detected an error. This…
user138645
  • 772
  • 1
  • 7
  • 18
4
votes
1 answer

Low level details of debuggers on windows, linux, OSX

Possible Duplicate: How does a debugger work? I'm trying to learn more about debuggers. I know the basics of debugging in general and some low level details on windows. But I would like to learn more about the details of how debugging is…
Ben
  • 2,435
  • 6
  • 43
  • 57
4
votes
1 answer

Want to know Windows Clipboard Internals

I am interested in learning windows system internals and how things work. I am inclined towards learning system programming on windows. With that context, I am curious to know few things on how windows clipboard internally functions: What precisely…
Anand Patel
  • 6,031
  • 11
  • 48
  • 67
4
votes
2 answers

How to get the exit code of a system process?

Say I want to execute the command unrar x archivename from within Haskell. What is the best way to do it and how do I get the exit code of the command? If the command exited successfully I want to delete the archive else not.
Chris
  • 43
  • 2
4
votes
1 answer

Why does the Linux Kernel copy implementation use the AC flag?

The implementation of copy_user_enhanced_fast_string in the Linux Kernel copy routine uses stac/clac in the epilog and prolog. perf annotate shows the following code: stac cmp $0x40,%edx jb 0xffffffff91281f5c mov %edx,%ecx rep movsb…
Some Name
  • 8,555
  • 5
  • 27
  • 77
4
votes
1 answer

Programmatically get the cache line size on Android

How do I get the cache line size on ARM Android? This is equivalent to the following page but specifically for Android: Programmatically get the cache line size? The answers on that page, and other ways I knew, do not work on…
Myria
  • 3,372
  • 1
  • 24
  • 42