Skip to content

Tag: system-calls

Why are linux system calls different across architectures

According to this system calls table, linux system calls are different across architecture, but IMO syscalls are higher level encapsulation which do not depent on any specific architechture. Why is it designed this way? In a specific case, riscv64 linux doesn’t have mkdir, instead it has mkdirat, but weirdly it doesn’t have rmdir or rmdirat, how could it implement /bin/rmdir

Linux: let a process fail, if it does opens a file for writing [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers. This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question

How to increase the size of memory region allocated with mmap()

I’m allocating memory using mmap Linux syscall. Is it possible to increase the size of allocated memory region preserving its start address and contents? How to do it properly? Answer On Linux, use the mremap(2) Linux-specific system call without MREMAP_MAYMOVE to extend the existing mapping, without considering the option of remapping those physical pages to a different virtual address where

read directories withoud readdir

I’m working on POSIX linux to learn. I’m using C Programming Languages. I want to read a folder, but instead of using readdir or opendir, I want to use pure open and read, I want to extract subfolders or files in this folder as names as string. Is this possible with open() and read() as open and read (without using

Usage of getc with a file

To print the contents of a file one can use getc: How efficient is the getc function? That is, how frequently does it actually do operating system calls or something that would take a non-trivial amount of time? For example, let’s say I had a 10TB file — would calling this function trillions of times be a poor way to

Why do system calls use a different stack?

Here is a question about the details happening during system call. However, one thing surprises me that the TSS maintains different stacks for different priviliges. That is, codes running in user mode and system mode are using different stack context. Since system call is actually a function call, why couldn’t we just reuse the user stack and just create a

Which system call does the Linux file command use?

Do you know which system call the Linux file command uses to determine the type of file? On the command line, if you use the file command it will reply with something like: dev-1:~/$ file download.png download.png: PNG image data, 724x 724, 8-bit/color RGBA, non-interlaced Is this an entire routine that does that? Or is there a system call that