0

프로세스

프로세스 프로세스란 실행중인 프로그램이다. 프로세스는 자신만의 Stack, Heap, Data, Code영역을 가진다. 프로세스는 운영체제에 의해 생성되고 스케줄링된다. 프로세스는 실행 과정중에서 I/O, Time Slice의 만료와 같은 상황에 따라 상태가 바뀌며 실행된다. 프로세스의 상태 프로세스의 상태는 크게 new, ready ,running, w

0

컴퓨터 입출력

인터럽트란 인터럽트는 컴퓨터에서 발생하는 특수한 제어신호로 인터럽트가 발생하게 되면 인터럽트 당한 시점의 레지스터와 pc값을 저장한 후 CPU의 제어를 인터럽트 처리 루틴으로 넘긴다. 인터럽트는 크게 하드웨어 인터럽트, 소프트웨어 인터럽트로 나뉘며 현대의 운영체제는 인터럽트 동작 방식을 통해 구동된다. 입/출력 장치의 입/출력의 과정에서도 인터럽트가 발

0

프로세스/스레드 동기화

프로세스 동기화 동기화란 병렬적으로 수행되는 작업들에 대해 자원에의 접근에 대한 순서를 정하는 과정을 말한다. 여러개의 프로세스나 쓰레드의 경우 동시에 특정 자원에 대한 접근이 발생할 수 있는데 이 과정에서 자원에 대해 동시 접근을 허용해 버린다면 예기치 못한 결과를 발생시킬 수 있다. 1234567int x = 10;public int cal(int a

0

Rest API란

REST(REpresentational State Transfer)란 HTTP 통신에 있어서 자원에 대한 조회, 변경, 삽입, 삭제 요청을 자원(Uri)과 행위(Method)로 표현하여 설계하는 방식을 말한다. REST에는 대표적으로 GET,POST ,PUT, DELETE METHOD가 있으며 자원에 대해 이 METHOD 방법에 따라 서버에서 수행하는

0

객체 지향 프로그래밍

객체 지향 프로그래밍이란 실세계에서의 개념을 추상화하여 프로그래밍 상의 객체로 옮겨 놓는 방식으로 코드를 작성하는 방법을 말한다. 예를 들면 자동차라는 객체를 프로그래밍 하려면 자동차의 특성과 기능을 추려 이를 프로그래밍 할 수 있다. 자동차는 바퀴,헤드라이트, 핸들, … 등을 가지고 전진, 후진, 방향 전환 등의 기능을 가지고 있다. 이러한 특성과

0

병합 정렬

병합정렬은 퀵정렬과 대표되는 O(nlogn)의 시간복잡도를 가진 정렬로 최악에 O(n2)의 시간복잡도를 가지는 퀵정렬과 달리 모든 경우의 O(nlogn)의 시간복잡도를 가지는 정렬이다. 또한 퀵정렬이 분할해 나가면서 정렬하는 방식이었다면 병합정렬은 모두 분할한 뒤 그 결과를 합치는 방법으로 약간의 차이가 있다. 병합정렬의 단점은 병합된 결과를 저장하기

0

버블 정렬

버블 정렬은 가장 큰 원소를 바깥쪽으로 밀어내는 방식으로 정렬하는 방식이다. 처음 원소부터 자신의 다음 원소와 비교하여 더 큰 숫자를 비교하며 더 큰 숫자를 교환하여 뒤로 밀어내는 방식으로 정렬을 한다. 위의 그림을 보면 첫번째 원소 9와 6을 보고 9가 더 크므로 9를 뒤로 밀어내고 그 다음으로 넘어가 9와 2를 비교해 9가 더크니 위치를 다시 바꾼

0

삽입 정렬

삽입 정렬은 정렬된 상태의 영역을 확대해 나가면서 그 다음의 후보가 삽입될 위치를 찾아 삽입한 뒤 그 다음 원소들을 밀어내는 방식으로 동작한다. 처음의 영역의 크기는 1로 가장 첫번째 원소만 포함한다. 위의 그림을 보면 5라는 원소가 크기 1인 영역에 속해 있고 2라는 다음 원소를 이 영역에 집어 넣는데 이 영역의 원소들과 비교해서 더 큰 숫자를 만나

0

퀵 정렬

퀵 정렬은 O(nlogn)의 시간복잡도를 가지는 빠른 정렬로써 데이터를 기준이 되는 숫자보다 작은 숫자와 큰 숫자로 왼쪽 오른쪽 분류해나가는 방식으로 동작한다. 여기서 기준이 되는 숫자를 pivot이라고 하고 이 pivot을 잡는 방법에 대해 설명하겠다. pivot의 선택은 어느 숫자로 잡아도 상관이 없다. 가장 처음 or 마지막 or 중간 등 어떠

0

선택 정렬

선택정렬은 데이터의 원소중에 가장 작은 최솟값의 인덱스를 찾은뒤 이를 교환해 주는 방법으로 동작한다. 위의 첫번째 단계를 보면 1이라는 최소 원소를 찾은 뒤 가장 이를 8의 원소의 위치와 교환해 주어 가장 최소의 값을 앞에 위치 시키는 것으로 볼 수 있다. 그 다음 최소값을 찾으면 3을 찾았고 그 다음 최솟값이 위치해야 할 5의 위치와 원소를 바꾸어