프로그래밍 QnA

wangmir의 이미지

Linux device driver 내부에서 block device request 생성하는 방법

안녕하세요.

지금 제가 scsi high level 디바이스 드라이버 (driver/scsi/scsi_lib.c)에서 별도의 block request를 생성해서 보내려고 하고 있는데요..

환경은 SATA 디바이스가 연결된 상황이고, SATA는 block interface를 scsi device driver와 공유해서 사용하기 때문에 scsi_lib.c에서 작업을 진행하고 있습니다.

궁금한건, 제가 파일시스템을 통해 내려오지 않은 임의의 request를 생성해서 보내고 싶고, 해당 request는 일반적인 write function과 유사하며, 2 page 이상의 write를 보내게 되는데, 이러한 request를 device driver 내부에서 VFS와 파일시스템을 거치지 않고 생성하는 방법이 뭔지 궁금해서요..

일단 제가 찾아본바로는 blk_make_request란 함수가 별도의 request를 생성하게 해주는 거 같아서 해당 request를 사용해서 코드를 좀 짜봤는데,

코드는 개략적으로 다음과 같습니다.

trymp의 이미지

linux 64bit 에서 한 프로세스가 사용할 수 있는 가상메모리는?


linux 32bit 에서 memory split 을 user/kernel 을 3G/1G 로 나누게 되면

하나의 유저프로세스가 사용할수 있는 가상메모리는 3GB 잖아요.

그런 64bit 에서는 memory split 이 어떻게 되고

하나의 유저프로세스가 사용 가능한 가상메모리는 몇 GB 가 되는 건가요?

고수님들의 조언 부탁드립니다.

Tony00의 이미지

개발툴에대해 궁금한점이 있어요

c언어를 공부하고 있는 중인데요...
저는 처음 시작할때 vc++를 쓰다가 근래에 codeblocks로 바꾸었습니다.

하던 중 문득 궁금한게 생겼는데요

대기업이라든지 현업에서 많이 쓰이는 개발툴? 그런것이 정말 궁금해졌습니다
흔히 접할수 있는 개발툴을 쓰는지요? 아니면 기업 자체 제작한 개발툴을 쓰는지요?

현재 일하고 계신 분들께서는 어떤 툴을 쓰시는지도 궁금합니다...
실제 현장에서 개발하시는 분들의 프로그램을 제가 쓸수 있다면 써보고싶어서요

정말 궁금합니다!!

h2ogid의 이미지

java 파일 쓰기 질문

아래 소스에서

마지막에 결과를 파일로 스고 싶습니다.

파일스기 방법좀 알려 주세요

---------test_sum_process-------------------

package test_sum;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;

waterpencils50의 이미지

포토샾이 프로그래밍과 연관이 있나요?

원래 다른전공에서 컴퓨터쪽으로 전공을 바꿀려고 요즘 단과학원다니면서 프로그래밍을 배우는중인데 현재 컴퓨터 게임쪽에 좀 관심이 있는데

포토샾을 배워두면 나중에 그래픽에 관련된 프로그래밍을 배울떄 도움이되거나 포토샾이 프로그래밍과 어떤 관계가 있는지 궁금하네요.

지금 일러스트랑 포토샾기초 들을지 그냥 포토샾 기초랑 고급 두개 들을지 고민중이에요.

포토샾하면 생각나는게 뽀샾처리밖에 생각안나서.

embeddeds0의 이미지

dbm 데이터베이스 소스 파일 실행 시 출력 결과가 이상합니다.

1 #include
2 #include
3 #include
4 #include
5 #include
6 /* 시스템에 따라서는 위의 줄을 다음 줄로 대체해야 할 수도 있다
7 #include
8 */
9
10 #include
11
12 #define TEST_DB_FILE "/tmp/dbm1_test"
13 #define ITEMS_USED 3
14
15 struct test_data {
16 char misc_chars[15];
17 int any_integer;
18 char more_chars[21];
19 };
20
21 int main()
22 {
23 struct test_data items_to_store[ITEMS_USED];

radman3의 이미지

프로세스 스케줄링에 대해 문의 드립니다.

안녕하세요. 초보자 질문 드립니다 ㅜㅜ

프로세스 스케줄링 쪽을 보다가... 궁금한게 생겨서요.

os 마다 또 os 버전마다 스케줄링 정책이 틀린걸로 알고 있는데요.

예로 리눅스 2.4는 오더원 정책이고, 2.6 은 CFS 이고... 그외 라운드로빈이라던가 FIFO? 등

궁금한건... OS 별로 스케줄링 정책은 1개 씩 인가요? 여러개인데 선택적으로 개발자가 선택 할수 있는건가요?

embeddeds0의 이미지

dbm 데이터베이스 파일 컴파일 시 에러에 대한 해결방법좀 알려주세요 ㅠㅠ

Beginning Linux Programming이란 책으로 dbm 데이터베이스 부분을 공부하고 있는데요.

소스를 작성하고 컴파일을 해보니 우분투 환경이라 그런지 ndbm.h파일이 존재하지 않아서

GNU FTP에서 gdbm-1.8.3 파일을 다운 받아서
$ configure
$ make
$ make install
위와 같이 순서대로 옵션없이 환경설정 먼저 하고 소스 컴파일 후 설치를 했고,

파일 목록을 보니까 ndbm.h 헤더 파일이 있어서 /usr/include/로 파일을 옴긴 다음에

nicelhc13의 이미지

파이프라인과 캐시 미스, 컨텍스트 스위치에 관한 질문드립니다.

안녕하세요

다름아니라 캐시 미스가 나서 메모리를 찾으면, 혹은 TLB나 Page Table에서 Page fault가 감지되어 Disk I/O 할때 Pipeline이 stall되는 상태로 대기한다고 배웠습니다.

만약 Disk I/O가 되고 있는 상황이라면 그 프로세스는 Context switching되고 CPU 입장에선 다른 프로세스가 작업을 시작하겠죠

여기서 조금 이해가 안되네요

파이프라인이 스톨된 상태이면 아무 작업도 없어야 하는데, Context switch 되서 다른 작업을 하고 있어야 하고 실제로 하고 있는것 같은데

어떻게 이것을 설명해야할까요?

제가 잘못생각하거나 모르는 하드웨어적 내용이 있다면 설명해주실 수 있나요?

감사합니다 ㅎㅎ

jinwoo4130의 이미지

배열로 입력받기 질문ㅠㅠ

정수 배열에 입력받은 후 출력
int main()
{
int arr[5];
int i;

for(i=0; i<5; i++)
{
printf("input number :");
scanf("%d", &arr[i]);
}

for(i=0; i<5; i++)
printf("%d",arr[i]);

return 0;}

문자 배열에 입력받은 후 출력
#include

int main()
{
char arr[5];
int i;

for(i=0; i<5; i++)
{
printf("input charater :");
scanf("%c", &arr[i]);
}

for(i=0; i<5; i++)
printf("%c",arr[i]);

return 0;}

페이지

프로그래밍 QnA 구독하기