본문 바로가기

전체 글131

[Linux] message queue, shared memory # 11장 1122 강의 요약 중간고사 마지막 문제 풀이 [semaphore] barrier n개의 프로세스가 실행될때 barrier가 호출될때까지 기다렸다가 수행 병렬 프로그램, 분산 시스템에서 필요한 시스템 barrier라는 동기화 도구 -> signal handler를 사용하여 구현하라 각 프로그램은 pid를 모두 안다고 가정 도착하면 나 도착했다를 다른 사람들에게 알려야 한다 SIGUSR를 보내서 알려야 한다 도착한 시그널의 갯수가 n-1개가 안되면 계속 기다리는 .. ### sigtest.c #include #include int cnt =0; int pnum; int pids[10]; void my_sig_handler(int signum){ //printf(“signum = %d \n”, s.. 2022. 12. 12.
[Linux] fork, pipe, mkfifo # 10장 1108강의 요약 ## sort ### bash shell a.txt sort b.txt : ls -al 의 결과를 b.txt파일에 저장 ls -al /usr/include/ | more ls -al | more ls -al의 결과를 두번째 명령어인 more의 input으로 more: page단위로 보기 ### a.c #include int main(){ char buf1[100]; while (gets(buf1)!=NULL){ printf("[kyung] %s \n", buf1); } } ### bash shell gcc a.c -o a.out ./a.out ls | ./a.out 2개의 프로세스가 생김 l.. 2022. 12. 11.
[Linux] programming shell, execvp, fork # 9주차 1101 강의 요약 ## 프로그램이란 무엇인가? 프로그램: 내가 원하는 기능을 하는 명령어의 집합 제대로 컴파일을 하면 임의의 실행 프로그램이 나옴 gcc a.c -o a.out 내가 실행하기 전까지는 파일로 존재 ./a.out을 수행하면 그 프로그램이 수행된다 os는 프로세스를 관리하는게 중요하다 프로그램: 명령어의 집합. 실행 전 프로세스: 실행 중인 프로그램 프로세서: cpu ls: 디렉토리에 존재하는 파일 보여줌 ps: 현재 터미널에서 실행중인 프로세스의 리스트 ps aux: 현재 시스템에서 돌고 있는 모든 프로세스를 소유자 정보와 함께 다양한 정보를 출력 aux: 프로세스 현황 표시, 유저지향, 터미널 제어 없이 프로세스 현황 보기 ## shell shell: 명령어를 이해하고 실행시.. 2022. 12. 9.