logo

Crowdly

[BasicOS] Fundamentals in Operating Systems (APVRILLE, Ludovic)

Шукаєте відповіді та рішення тестів для [BasicOS] Fundamentals in Operating Systems (APVRILLE, Ludovic)? Перегляньте нашу велику колекцію перевірених відповідей для [BasicOS] Fundamentals in Operating Systems (APVRILLE, Ludovic) в moodle.eurecom.fr.

Отримайте миттєвий доступ до точних відповідей та детальних пояснень для питань вашого курсу. Наша платформа, створена спільнотою, допомагає студентам досягати успіху!

Check all the true claims about the execution of the C code provided below.

--

#include <stdlib.h>

#include <string.h>

#include <stdio.h>

int funnyAllocation(char *buf, int b) {

  buf = (char *) ( malloc(sizeof(char) * 5));

  strcpy(buf, "hello");

  return 7;

}

int main( int argc, char*argv[] ) {

  int b = 3;

  char *buf = (char *) ( malloc(sizeof(char) * 5));

 

  int returned = funnyAllocation(buf, b);

  printf("The content of buf is: %s\n", buf);

}

100%
100%
0%
Переглянути це питання

Check all the true claims about memory management.

0%
0%
0%
0%
Переглянути це питання

Check all the true claims about the C compiler "gcc".

0%
0%
0%
Переглянути це питання

Check all the true claims about Inter Process Communications.

0%
0%
0%
0%
Переглянути це питання

Check all the true claims about data streams of processes.

Переглянути це питання

Check all the true claims about the following manual page

--

WRITE(2)                                             Linux Programmer's Manual                                            WRITE(2)

NAME

       write - write to a file descriptor

SYNOPSIS

       #include <unistd.h>

       ssize_t write(int fd, const void *buf, size_t count);

DESCRIPTION

       write() writes up to count bytes from the buffer starting at buf to the file referred to by the file descriptor fd.

       The  number of bytes written may be less than count if, for example, there is insufficient space on the underlying physical

       medium, or the RLIMIT_FSIZE resource limit is encountered (see setrlimit(2)), or the call was interrupted by a signal  han‐

       dler after having written less than count bytes.  (See also pipe(7).)

       For  a  seekable  file (i.e., one to which lseek(2) may be applied, for example, a regular file) writing takes place at the

       file offset, and the file offset is incremented by the number of bytes actually written.  If the file  was  open(2)ed  with

       O_APPEND,  the  file  offset is first set to the end of the file before writing.  The adjustment of the file offset and the

       write operation are performed as an atomic step.

       POSIX requires that a read(2) that can be proved to occur after a write() has returned will return the new data.  Note that

       not all filesystems are POSIX conforming.

       According  to  POSIX.1,  if  count is greater than SSIZE_MAX, the result is implementation-defined; see NOTES for the upper

       limit on Linux.

RETURN VALUE

       On success, the number of bytes written is returned (zero indicates nothing was written).  It is not an error if this  num‐

       ber  is  smaller  than  the number of bytes requested; this may happen for example because the disk device was filled.  See

       also NOTES.

       On error, -1 is returned, and errno is set appropriately.

       If count is zero and fd refers to a regular file, then write() may return a failure status if one of the  errors  below  is

       detected.  If no errors are detected, or error detection is not performed, 0 will be returned without causing any other ef‐

       fect.  If count is zero and fd refers to a file other than a regular file, the results are not specified.

Переглянути це питання

Check all the true claims about the manual page of kill(1) provided below.

--

KILL(1)                                                    User Commands                                                   KILL(1)

NAME

       kill - send a signal to a process

SYNOPSIS

       kill [options] <pid> [...]

DESCRIPTION

       The  default  signal  for  kill is TERM.  Use -l or -L to list available signals.  Particularly useful signals include HUP,

       INT, KILL, STOP, CONT, and 0.  Alternate signals may be specified in three ways: -9, -SIGKILL or -KILL.  Negative PID  val‐

       ues may be used to choose whole process groups; see the PGID column in ps command output.  A PID of -1 is special; it indi‐

       cates all processes except the kill process itself and init.

OPTIONS

       <pid> [...]

              Send signal to every <pid> listed.

       -<signal>

       -s <signal>

       --signal <signal>

              Specify the signal to be sent.  The signal can be specified by using name or number.  The behavior of signals is ex‐

              plained in signal(7) manual page.

       -l, --list [signal]

              List signal names.  This option has optional argument, which will convert signal number to signal name, or other way

              round.

       -L, --table

              List signal names in a nice table.

       NOTES  Your shell (command line interpreter) may have a built-in kill command.  You may need to run the  command  described

              here as /bin/kill to solve the conflict.

EXAMPLES

       kill -9 -1

              Kill all processes you can kill.

       kill -l 11

              Translate number 11 into a signal name.

       kill -L

              List the available signal choices in a nice table.

       kill 123 543 2341 3453

              Send the default signal, SIGTERM, to all those processes.

SEE ALSO

       kill(2), killall(1), nice(1), pkill(1), renice(1), signal(7), skill(1)

0%
0%
0%
0%
0%
Переглянути це питання

Check all the true claims about manual pages.

0%
0%
0%
0%
Переглянути це питання

Check all the true claims about the manual page of mq_receive provided below.

--

MQ_RECEIVE(3)                                           Linux Programmer's Manual                                          MQ_RECEIVE(3)

NAME

       mq_receive, mq_timedreceive - receive a message from a message queue

SYNOPSIS

       #include <mqueue.h>

       ssize_t mq_receive(mqd_t mqdes, char *msg_ptr,

                          size_t msg_len, unsigned int *msg_prio);

       #include <time.h>

       #include <mqueue.h>

       ssize_t mq_timedreceive(mqd_t mqdes, char *msg_ptr,

                          size_t msg_len, unsigned int *msg_prio,

                          const struct timespec *abs_timeout);

       Link with -lrt.

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

       mq_timedreceive():

           _POSIX_C_SOURCE >= 200112L

DESCRIPTION

       mq_receive()  removes  the  oldest  message with the highest priority from the message queue referred to by the message queue de‐

       scriptor mqdes, and places it in the buffer pointed to by msg_ptr.  The msg_len argument specifies the size of the buffer pointed

       to  by  msg_ptr; this must be greater than or equal to the mq_msgsize attribute of the queue (see mq_getattr(3)).  If msg_prio is

       not NULL, then the buffer to which it points is used to return the priority associated with the received message.

       If the queue is empty, then, by default, mq_receive() blocks until a message becomes available, or the call is interrupted  by  a

       signal  handler.   If  the  O_NONBLOCK flag is enabled for the message queue description, then the call instead fails immediately

       with the error EAGAIN.

       mq_timedreceive() behaves just like mq_receive(), except that if the queue is empty and the O_NONBLOCK flag is  not  enabled  for

       the  message  queue description, then abs_timeout points to a structure which specifies how long the call will block.  This value

       is an absolute timeout in seconds and nanoseconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC), specified  in  the  following

       structure:

           struct timespec {

               time_t tv_sec;        /* seconds */

               long   tv_nsec;       /* nanoseconds */

           };

       If no message is available, and the timeout has already expired by the time of the call, mq_timedreceive() returns immediately.

RETURN VALUE

       On success, mq_receive() and mq_timedreceive() return the number of bytes in the received message; on error, -1 is returned, with

       errno set to indicate the error.

0%
100%
0%
Переглянути це питання

Check all the true claims about a c program

0%
0%
0%
0%
0%
Переглянути це питання

Хочете миттєвий доступ до всіх перевірених відповідей на moodle.eurecom.fr?

Отримайте необмежений доступ до відповідей на екзаменаційні питання - встановіть розширення Crowdly зараз!