CS 作业辅导

辅导计算机CS作业 Assignment

QEMU: Adding a System Call

Assignment 3 CMPT-300

QEMU: Adding a System Call

Disclaimer: This assignment is adapted from a project developed by Dr. Jason Nieh at

Columbia University.

Part A:

Setup Your Linux Kernel Building Environment and add dummy


The first step is to learn how to create a virtual machine using QEMU and install a

custom kernel.

Please follow this tutorial:


All files can be downloaded from:


Part B:

Adding an advanced system call(75%):

Write a new system call in Linux. The system call you write should take one argument

(pointer to a data structure) and return various information for the process identified by

the pid in the data structure. All return information will be put into the data structure. For

the following discussion all relative paths refer to the top of your kernel source

directory linux-

The prototype for your system call will be:

int prinfo(struc

CSCE614 solution supersalar

CSCE614 Computer Architecture (Spring 2015)

Homework #4 (Pseudo-Associative Cache)

(Due: Beginning of class on 4/17/2015)


This project is to help you understand how pseudo-associative (column-associative) cache works. You

will initially analyze the sensitivity of L1 caches to changes in parameters. Then you are to implement L1

data cache as pseudo-associative in SimpleScalar and compare its performance to the normal direct-
mapped L1 data cache.

System Requirement

Linux operating system is needed in order to use the pre-compiled little-endian Alpha ISA SPEC2000

binaries. Do not use Cygwin. If you don’t have any linux machine, please use linux.cs.tamu.edu with your

CS account. If you don’t have CS account, contact HelpDesk located in the first floor.

Setting up the environment and installing SimpleScalar

1. Download and Install SimpleScalar 3.0.

(1) Download simplesim-3v0e.tgz from http://www.simplescalar.com/.

(2) Untar the downloaded file.

$ tar xzvf simplesim-3v0e.tgz

(3) Read the

syr cis341 缓存区溢出漏洞利用实现


syr cis341 solution

Project 2: Buffer Overflow

1. Objective

Buffer overflows have been the most common form of security vulnerability in the

last ten years. Moreover, buffer overflow vulnerabilities dominate in the area of

remote network penetration vulnerabilities, where an anonymous Internet user seeks

to gain partial or total control of a host. These kinds of attacks enable anyone to take

total control of a host and thus represent one of the most serious security threats. [1]

Definition of buffer overflow from Wikipedia [2]: A buffer overflow, or buffer

overrun, is an anomaly where a program, while writing data to a buffer, overruns the

buffer’s boundary and overwrites adjacent memory. This is a special case of violation

of memory safety.

The goal of this lab is to get intimately familiar with the layout and use of data section,

code section and, particularly, call stacks, as well as MIPS machine language,

assembly and disassembly, debugging, and reverse engineering. As a side ben

C++ code optimiaztion via gprof and gcov


Due date: April 2, in class

Read about the linpack benchmark at


Download the (slightly modified) file linpack.c from


When running this benchmark on a 2.66GHz Dual-Core Intel Xeon, I obtain this table (MFLOPS

is million floating-point operations per second):

n max MFLOPS compiler flags

100 329.813 gcc

1000 410.306

330.914 -O0

931.276 -O1

930.425 -O2

1276.764 -O3

408.111 -O0

1208.931 -O1

1220.399 -O2

1619.045 -O3

Problem 1 (6 points) Study the compile options of the gcc compiler, and in particular the

optimization flags, and the flags that are related to SSE instructions.

Produce the same table for each of penguin, mills, and your own computer. Keep the same

flags as above, but you can also add other flags. Try to obtain as high count as you can. Submit

the three tables and a discussion on your results.

Note. You can obtain information about your system

unmanned lawn mowers c程序代写

代写c程序 二维数组 指针 内存申请与释放

dfs recrusive 遍历所有路径

// ~ Overview ~ //

This exercise will familiarize you with 2-dimensional arrays and
some more file operations.

// ~ Learning Goals ~ //

(1) To learn to perform file operations
(2) To learn to create and manipulate 2-dimensional arrays using
malloc and free function.
(3) To apply recursion to solve a maze traversal problem
// ~ Submitting Your Assignment ~ //

You must submit one zip file to blackboard. This zip file must

(1) pa_answer02.c
(2) pa02.c

You create the zip file using the following command.

> zip pa02.zip pa_answer02.c pa02.c

// ~ Overview ~ //

This exercise will give you more practice with file operations,
memory allocation, and recursion.

You own a business that performs mowing using unmanned lawn mowers
(ULM). Suppose you have just agreed to a contract to provide mowing
service to a corn maze operator. Based on a pre-processed satellite
images of corn maze, where the walls of the corn maze are stored as ‘X’ and
the paths are store