프로그래밍 QnA + 설치 및 활용 QnA

nicelhc13의 이미지

가상 머신에서 OS를 부팅하기 위해서 가상 키보드는 필요할까요?

사이즈가 작은 가상 머신을 구현해보고 있습니다

복잡한 OS를 돌리려는 건 아니고 간단한 OS를 올려보고 가능성을 보고싶습니다만

키보드와 화면 출력에 대해 심각한 고민이 생겼습니다.

보통 일반적으로 알려진 가상 머신인 qemu에서는 가상 키보드, 컨트롤러와 가상 vga 모두 구현해놓고 사용합니다만

굳이 가상으로 주변 기기마저 만들 필요가 있을지 궁금합니다.. 확신도 안스는것 같습니다

키보드나 모니터 화면 등 입/출력이 필요한 경우 가상으로 제가 구현한 가상 CPU에 인터럽트를 줍니다.

CPU는 인터럽트 루틴에 들어갈 것이고 원하는 작업을 처리하겠죠? 키보드 입력이라던지..

그런데 그럴때는 호스트에 이미 올라간 입력 장치를 사용하는 것입니다 즉 인터럽트 루틴에 실제 키보드에서 원하는 내용을 입력받고

가상 머신에 메시지라던지 매개변수로 넘겨주는 것입니다 그러고 나서 키보드 인터럽트 루틴을 끝내는 것이죠

제가 잘못생각하는 걸까요? QEMU에서는 왜 가상으로 모든 것을 구현해야 했을까요?

hmk_sd의 이미지

리눅스 api 프로그래밍....

리눅스에서는 win32api처럼 그래픽 형식의 프로그래밍을할려면 뭐를 알아야하나여?

제가 리눅스의 api의 모든것을 구매햇는데 그래픽형식의 프로그래밍은 못찾겟더군여?

그래픽형식을 배울려면 어떻게해야하나여??

hitotoro92의 이미지

리눅스 fcntl()와 redirection관련 해석부탁드립니다ㅠ.ㅠ';

#include < stdio.h >
#include < stdlib.h >
#include < fcntl.h >
#include < sys/stat.h >

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

if(argc != 2)
{
printf("2argu!\n");
exit(1);

}
printf("fd : %d\n\n",atoi(argv[1]));
if( (val = fcntl(atoi(argv[1]), F_GETFL, 0)) < 0 )
{
printf("fcntl error for fd %d",atoi(argv[1]));
exit(1);
}

kwck119의 이미지

arm에서 cpp컴파일 후 실행 시 문제점

안녕하세요.
감사합니다.

void * recv_thread(void *arg)
{
printf("pthread OUT OK!!");
}
int main(int argc, char ** argv)
{
printf(" Test thread ");

pthread_create(&m_threadRecv, NULL, recv_thread, NULL);

return 0;
}

=================================================================
make 시 에러는 없습니다.

그런데 실행하면 "SEGV"가 출력이 됩니다.

CC=arm-linux-g++ -O2 -I$(INC) -I$(INCSYS) -static

컴파일에는 위의 옵션으로 했습니다.

많은 조언 부탁그립니다.

ShaYEL의 이미지

구조체 멤버 변수 이름을 함수의 인자로 전달할 수 있나요?

흔히 사용하는 list 데이터 구조 라이브러리가 정의되어 있다고 가정합니다.

struct test
{
  int a;
  int b;
  struct list_elem elem;
};
 
void function(struct list_elem *e1, struct list_elem *e2, void *aux)
{
  struct test t1 = list_entry(e1, struct test, elem);
  struct test t2 = list_entry(e2, struct test, elem);
 
  /* 이 부분에서 전달받은 aux를 이용하여 t1과 t2 구조체의 a값을
     비교할 것인지 b값을 비교할 것인지 결정할 수 있어야 합니다. */
}

위 코드에서 aux를 이용해 a나 b 멤버변수를 깔끔하게 전달할 수 있을까요?

dltkddyd의 이미지

memmove 사용시 발생할 수 있는 메모리 누수 해결방법은 없나요?

memmove로 포인터 값을 전달해서 메모리의 내용을 원본포인터에서 목적지 포인터로 내용을 복사할 수 있는 것으로 압니다. 그리고 복사시에 대상체에 존재하는 포인터 변수는 원본포인터의 주소값으로 설정됩니다. memmove를 다음과 같이 사용할 경우,

sjfmf23의 이미지

공유라이브러리 FTP 다운시 실행중인 프로그램에서 SIGSEGV 발생

리눅스의 한 서버에서 공유라이브러리를 만들고 다른 서버에서 FTP로 공유라이브러리를
다운로드 받으면 실행중인 프로그램에서 SIGSEGV가 발생하네요.

다운로드 받기전 라이브러리를 MOVE 후 다운 받아 복사해서 사용하면 아무런 문제는 없습니다.
파일을 그래도 놓은 상태에서 FTP로 다운 받으면 SIGSEGV가 발생합니다.

리눅스 말고 다른 서버는 Text Busy라는 메시지가 뜨는데 리눅스에서는 그냥 다운이 되네요.

MOVE 후 다운 받으면 되지만 혹시 실수로 다운받은 후 이미 실행중이 프로그램이
종료될까봐 원천적으로 오류가 발생하지 않게 할려고 합니다.

아시는 분 답변 좀 부탁드립니다.

otechs의 이미지

MariaDB를 설치했는데 user 등록이 제대로 되지 않습니다.

DB를 설치하고 mysql 데이터베이스에 들어가서 user 테이블을 조회해보면

user | host | password
----------------------------------------------
root | localhost |
root |127.0.0.1 |
root | ::1 |
(비어있습니다)| localhost |

이런 식의 구조로 되어있습니다. 마지막 user는 이름이 없습니다.

이제 mysql을 종료하고 리눅스 터미널에서 여기에 하나의 user를 추가하는 쿼리를 적어놓은 sql 파일을 불러왔습니다.

sunnyncom의 이미지

커널 virtual address & 1GB physical memory에 관하여 질문...

커널에서 메모리 관리에 대해 궁금한 사항이 있습니다.

32비트 시스템일때 Virtual address space가 3G/1G로 나뉜다는 건 알겠습니다.

kernel space 1G(0xC0000000 - 0xFFFFFFFF)는 physcal address와 다이렉트 맵핑된다고 하던데,

그럼 실제 1GB의 physical 메모리를 가졌다면, kernel space 1GB가 완전히 1:1로 맵핑이 되는건지요?

만약에 그렇다면, Memory-mapped IO address space하고는 어떻게 구분이 되는건지요?

canuyes의 이미지

php 개발 관련 아주 초보적인 질문입니다.

안녕하세요.
요즘 php를 공부하는 학생입니다.
보통 홈페이지에 있는 기능들을
하나하나 뜯어서 구현해보는 중에 궁금한 것이 생겨질문 올립니다.

우선 구현하려는 것은 '쿠키를 이용한 카운터' 입니다.
1. 방문자의 수를 visitor.txt에 저장하고,
2. 브라우저를 종료 후 다시 들어올때만 카운트해줍니다.(새로고침 등의 영향을 받지 않습니다.)

예제 수준에서 자주 등장하는 문제이기에 별 걱정 없이 풀었는데, 아래의 부분이 영 이해가 안갑니다.

페이지

프로그래밍 QnA + 설치 및 활용 QnA 구독하기