IT/C

    Page Replacement 알고리즘 C로 만들기

    Page Replacement 알고리즘 C로 만들기

    호야의 블로그 [C] 운영체제-Page Replacement 알고리즘 만들기가상 메모리 과목에서 배웠던 Page Replacement 알고리즘, Least Recently use(LRU)를 C로 구현하도록 하겠습니다. 개요글을 읽기에 앞서 이전에 올려드렸던 가상 메모리에 관한 설명을 먼저 보신다면 보다 수월하게 이해할 수 있을 것입니다. 아래 링크를 클릭하시면 됩니다.2018/10/30 - [IT/OS] - [OS] 운영체제 5차 정리 - Virtual Memory LRU는 가장 최근에 사용한 메모리만 사용하는 알고리즘으로 페이지 실패(Page Fault)가 일어날 때 가장 오래된 메모리와 교체하는 알고리즘입니다. 만약 기존 테이블에 페이지 'aaa'가 들어가있는데 다시 'aaa'가 페이징 한다면 페이지..

    CPU 스케줄링 시뮬레이터 C로 만들기

    CPU 스케줄링 시뮬레이터 C로 만들기

    호야의 블로그 [C] 운영체제-CPU 스케줄링 시뮬레이터 만들기올해 수행했던 운영체제 short term job에서 일어나는 CPU 스케줄러를 구현하고 확인해보겠습니다. C를 이용하였으며 리눅스 환경에서 구현하였습니다. FCFS, SJF, SRT, Priority, RR(Round-robin) 알고리즘을 구현할 것이며 키보드로 제어가 가능한 UI와 가상의 프로세스 job을 생성하는 기능까지 추가하겠습니다. 개요글을 읽기에 앞서 이전에 올려드렸던 CPU 스케줄러에 관한 설명을 먼저 보신다면 보다 수월하게 이해할 수 있을 것입니다. 아래 링크를 클릭하시면 됩니다.2018/10/24 - [IT/OS] - [OS] CPU 스케줄러 최종 출력화면은 다음과 같을 것이며 비어있는 entry는 proc.txt에서 프로..

    영상처리-C++로 이미지 Sobel 경계 검출 및 영상 이진화

    영상처리-C++로 이미지 Sobel 경계 검출 및 영상 이진화

    호야의 블로그 [C++] 영상처리-이미지 Sobel 경계 검출 및 영상 이진화자신의 사진을 통해 직접 Sobel 경계 검출 실습과 영상 이진 변환 실습을 합니다. Sobel 경계 검출 Sobel 경계 검출의 알고리즘은 3*3크기의 행렬을 사용하여 연산을 하였을 때 중심을 기준으로 각방향의 앞뒤의 값을 비교하여서 변화량을 검출하는 알고리즘입니다. 3x3크기의 행렬을 수직(X), 수평(Y) 방향별로 각각의 행렬을 가지는 데 형태는 다음과 같이 수직, 수평 밝기 변화에 따릅니다. 쉽게 말하면 점을 기준으로 수직(X) 필터는 좌우 비교, 수평(Y) 필터는 위아래를 비교하여 결정합니다. 소벨 마스크는 모든 방향의 에지를 추출하며, 잡음에 강한 편입니다. 또한 수직 수평 방향 에지보다 대각선 방향 에지에 더 민감하..

    리눅스 환경에서 fork() 함수를 이용한 자식 프로세스 생성하기

    리눅스 환경에서 fork() 함수를 이용한 자식 프로세스 생성하기

    호야의 블로그 [C언어] 리눅스 환경에서 fork()함수를 이용한 자식 및 자손 프로세스 생성하기fork() 함수는 현재 프로세스에 대해 자식 프로세스를 생성하는 함수입니다. 특히 유닉스 환경 서버 측에서 fork() 함수를 필수적으로 사용합니다. 서버는 하나의 서비스 내에서 여러 개의 클라이언트를 받아내야 합니다. 그래서 서버의 프로세스가 클라이언트의 요청을 받으면 자신이 응답하는 것이 아니라, 자식을 fork() 하여 전달합니다. 간단히 말하면 서버 프로세스가 접속을 받을 때마다 요청을 처리할 프로세스를 만들어 응답하는 것입니다.이 외에도 멀티태스킹 운영체제에선 동작중인 프로그램 외에도 다른 프로그램을 동작시켜야 할 때가 있습니다. 이를 위해선 새로운 프로세스를 생성해야 하고, 그 방법으로 프로세스 ..