원래의 그래프의 모든 노드가 연결 되어있으면서 트리의 속성을 만족하는 그래프 조건본래의 그래프의 모든 노드를 포함모든 노드가 서로 연결 되어있다트리의 속성을 만족 (사이클이 존재하지 않는다)최소 비용 신장 트리를 찾는 알고리즘 가장 적은 비용으로 모든 노드를 연결하기
프로세스 (process) 현재 실행 중인 프로그램, 운영체제가 관리하는 실행의 단위 윈도우에서 엑셀을 실행 시키면 엑셀 창이 뜬다. 이 때, 엑셀 창을 하나의 프로세스라고 할 수 있다. 프로세스의 특징 병행 실행이 가능하다 (프로세스 간 통신이 필요) 하나의 프
우리가 흔히 알고 있는 버스처럼 시스템에서의 버스는 데이터의 교통수단이다. 데이터들을 연결해 주는 역할을 해 준다. 더 자세한 그림은 아래와 같다.CPU, I/O 장치, 기억 장치들을 연결해 주는 중심 통로이다. 하드웨어를 물리적으로 연결하여 서로 데이터를 주고 받을
네트워크의 개념, 프로코콜
소프트웨어를 체계적으로 개발하고 관리하기 위해서 개발 과정을 단계별로 나누어 구분한 것소프트웨어를 기획하고 개발하는 개발자로써 이 단계를 바탕으로 개발하면 조금 더 안정적이고 좋은 프로그램을 만들 수 있다. 처음에 프로그래밍 언어를 접하게 되면 기초인 C언어를 배우고,
우리가 코딩을 해서 프로그램을 만들면 컴파일을 하게 된다. 예를 들어 c언어를 사용하여 프로그램을 컴파일 하게 되면 출력이 되는데 그 과정에서 컴퓨터가 고급 언어를 읽을 수 있게 바꿔주는 것을 프로그래밍 언어 구현이라 한다. 번역 기법 주어진 고급 프로그래밍 언어
병행이란? : 말 그대로 프로세스 여러 개가 동시에 실행되는 것. 하지만 이렇게 동시에 실행되는 건 아닙니다. \-> 위 그림은 병렬 프로세스. \-> 병행 프로세스 겉으로는 동시에 실행되는 것처럼 보이지만 운영체제가 프로세서를 빠르게 전환하여 프로세서 시간을 나눠
언어론 (정적 영역 규칙, 동적 영역 규칙)
슈퍼스칼라란? : CPU 내에 파이프라인을 여러 개 두어 여러 명령어를 동시에 실행하는 기술 슈퍼스칼라 VS 파이프라이닝 위 사진과 같이 슈퍼스칼라는 동시에 두 명령어에 대해 같은 동작을 할 수 있습니다. 슈퍼스칼라는 동시에 실행하기 때문에 처리 속도가 빠릅니다
소프트웨어를 개발할 때는 설계가 굉장히 중요합니다. 만약 여러분이 큰 돈이 오고 가는 대규모 프로젝트를 진행한다고 했을 때, 설계도 하지 않은 채 개발을 시작하게 된다면 어떨까요? 개발 하다가 오류가 생길 수도 있고, 프로그램 구조도 바꿀 수도 있으며 오류에 헤매게 됩
서로 인접한 두 원소를 검사하는 방법으로 인접한 2개의 값을 비교하여 크기가 순서대로 되어 있지 않으면 교환하는 단순 정렬 알고리즘 중 하나
스레싱은 페이지 부재가 빈번하게 발생하여 실제 CPU 사용 시간보다 페이지 교체하는 시간이 많아지는 현상을 뜻합니다.