목록전체 글 (409)
이야기박스
▣ IPC ( Interprocess Communication )● 프로세스간 통신 쟁점- 프로세스간 정보를 어떻게 전달할 것인가?- 다수의 프로세스에서 critical activity에서 다른 프로세스를 어떻게 방해하지 않을 것인가?- 서로 의존성이 있는 경우, 어떤식으로 순서화하는가?==> 스레드들 간에도 동등한 수준으로 적용 ▣ 경쟁 조건 ( Race Conditions)● 둘 이상의 프로세스가 공유 메모리를 읽고 기록할 때, 마지막 결과는 어느 프로세스가 수행되었는가에 의존한다.- 해결 : 상호배제 --> 둘 이상의 프로세스가 동시에 공유 데이터의 읽기와 쓰기가 불가능하게 하는 방법 ▣ 임계 구역 (Critical Regions); 공유 메모리에 접근하는 프로그램 부분; 어떤 두 프로세스도 동시에..
시험기간 공부해야 한다. 방금 네트워크 과제 초안 해둠. 사실상 프로그래밍은 끝났지만, 좀 꾸며야 할 것 같다.정리도 하고.. 벚꽃 이쁘다.공기도 깨끗하다.상쾌하다. 피곤하다.근데 잠은 잘 못잔다. 귀에 염증 생겼다.아프다.병원 갈 시간은 없다. 중간 고사 끝나면, 기사시험.기사시험 끝나면, 실기 + 기말고사 수시로 포스텍 인턴 조사.기말고사 끝나면 다른 자격증 알아보기. 등 해야할것 정리 끝 아 살찐다안되는데살도 뺄것 이상
▣ 커널모드와 사용자 모드○ 커널 모드 - 모든 하드웨어에 대한 접근을 가지고 있다.○ 사용자 모드- 일부 장치에 대한 명령만 가능- 기계의 제어, I/O와 같은 작업은 불가능 ▣ 시분할 시스템 ( time sharing system) & 다중프로그래밍 ( multiprogramming)○ 시분할 시스템- CPU관점에서의 시간 다중화를 이용한 시스템○ 다중프로그래밍- 메모리 관점에서 공간 다중화를 이용한 프로그래밍 기법 ▣ 멀티프로세싱(multiprocessing) & 멀티스레드(multithreads)○ 멀티프로세싱- 다수의 프로세서를 이용, 프로세스를 동작하는 기법○ 멀티스레드- 프로세스 내부에 다수의 스레드를 이용하는 기법 ▣ 트랩 & 인터럽트○ 공통점- 사용자 모드 --> 커널 모드로 전환○ 차이..
▣ 스레드 구현 ○ 사용자 공간 ( User-level Threads Package )- 스레드 패키지 전체를 사용자 공간에 둠- 커널은 오직 단일 스레드 프로세스를 관리※ Run-time System : 스레드를 관리하는 프로시저들의 모음 - 장점a. 스레드를 제공하지 않는 운영체제에서 구현 가능b. 각 프로세스가 자신에게 적합한 스케줄링 알고리즘 갖음c. 현재 존재하는 운영체제에서 수행 가능 - 단점a. 블록킹 시스템 호출 구현 문제b. 페이지 폴트 문제c. 스레드의 CPU 사용 문제; 무한 수행 문제 ○ 커널 공간 ( Kernel-level Threads Package ) - 장점 : 사용자 레벨 스레드 패키지의 단점 해결- 단점a. 시스템 호출의 비용이 상당함b. 스레드 연산( 생성, 종료 등)이..
스레드 ; 실제 CPU의 작업단위 ▣ 스레드 종류 유저 스레드- 유저 레벨에서 관리- 커널 지원없이 관리--> 생성과 관리가 빠르다 커널 스레드- 커널에 의해 지원되고 관리- 대부분의 OS는 커널 레벨 스레드 지원 ▣ 스레드 장점 응답성 ; 사용자의 응답성 증가 ~ 이미 생성된 프로세스 안에서 생성되기 때문(=메모리에서 생성)자원 공유 ; 같은 주소 공간에서의 공유경제성 ; 메모리와 자원효율성 ; 동시 실행 ~ 프로세스의 전환보다 훨씬 빠르다 ▣ 스레드의 사용 스레드- LWP ; Lightweight process- CPU 이용의 기본 단위- 한 주소공간을 공유하면서 별개의 프로세스인 것 처럼- 구성 ; thread ID / program counter / register set / stack 스레드 사..
▣ 멀티프로그래밍 & 멀티프로세싱 멀티프로그래밍 시스템 1개의 프로세서(CPU) --> 다수의 프로그램 수행- 사용자 측면에서는 동시에 수행하지만 실제로는 한 순간 하나의 프로그램만 수행- 의사 병렬성 ( pseudoparallelism ) 멀티프로세싱 시스템 다수의 프로세서 --> 다수의 프로그램 수행 - 병렬성 ( parallelism ) ▣ 프로세스 모델 (Process Model) 프로세스 : 실행되고 있는 프로그램 - 하나의 처리기 (processor)는 다수의 프로세스들 간에 공유 가능- 스케줄링 알고리즘에 의해 프로세스간 전환이 이루어진다.- 동일한 프로그램이 두 번 수행되면, 두개의 프로세스가 생성 ▣ 프로세스 생성 (Process Creation) 프로세스 생성의 기본적인 이벤트 - 시스..
자바로 하노이의 탑 UI를 만들었죠. 이제 그 근본이 된 코드. c로 짠 코드를 올리도록 하겠습니다. 이중재귀를 이용한 하노이의 탑입니다! #include <stdio.h> void move(int n, char from, char to) { // n번째 블록을 from에서 to로 옮겨라 printf("%dth %c %c\n", n, from, to); } int hanoi(int n,char from, char other, char to) { //printf("Checker >> n : %d, from : %c , other : %c, to : %c\n", n, from, other, to); if (n == 1) { move(n, from, to); return 0; } hanoi(n - 1,..