[한빛아카데미] 운영체제 책으로 학습한 내용을 정리한 것입니다. * 프로세스(Process) - 실행 중인 프로그램 -> 일반적인 정의 - 비동기적(Asynchronous) 행위 - 실행 중인 프로시저 - 실행 중인 프로시저의 제어 추적 - 운영체제에 들어 있는 프로세스 제어 블록(PCB) - 프로세서에 할당하여 실행할 수 있는 개체 디스패치(Dispatch)가 가능한 대상 - 프로세스가 실행 중인 프로그램이 되려면 프로세서 점유 시간, 메모리, 파일, 입출력장치 같은 자원이 필요함 -> 프로세스를 생성하거나 실행할 때 이 자원을 할당함 * 프로세스 메모리 구조 - 스택(Stack) : 데이터를 일시적으로 저장하는 영역 - 힙(Heap) : 코드 영역과는 별도로 유지되는 자유 영역 - 데이터(Data) ..
[한빛아카데미] 운영체제 책으로 학습한 내용을 정리한 것입니다. * 운영체제(Operation System) - 운영체제는 컴퓨터 시스템에서 사용자가 하드웨어에 접근할 수 있는 유일한 수단 - 사용자가 응용 프로그램을 실행할 수 있는 기반 환경을 제공하여 컴퓨터를 편리하게 사용할 수 있도록 도와주고, 하드웨어를 효율적으로 사용할 수 있도록 다양한 기능을 제공하는 소프트웨어 * 컴퓨터 시스템 구성 - 사용자 : 어떤 일(작업)을 수행하려고 컴퓨터를 사용하는 사람이나 장치, 다른 컴퓨터를 의미함 - 소프트웨어 : 컴퓨터가 기능을 수행하는데 필요한 모든 프로그램을 의미하며, 아래 세가지로 구성됨 1) 시스템 소프트웨어 : 컴퓨터 자원을 관리하고 응용 프로그램의 실행을 지원하여 컴퓨터를 제어하는 프로그램 2) ..
[한빛아카데미] 운영체제 책으로 학습한 내용을 정리한 것입니다. * 컴퓨터 시스템으로 작업을 처리할 때 동작 순서 1) 입력장치로 정보를 입력받아 메모리에 저장함 2) 메모리에 저장한 정보를 프로그램 제어에 따라 인출하여 연산장치에서 처리함 3) 처리한 정보를 출력장치에 표시하거나 보조기억장치에 저장함 * 명령어의 구조 - 명령어 1) 프로세서가 실행할 연산인 연산 부호와 처리할 데이터, 데이터를 저장한 레지스터나 메모리 주소인 피연산자로 구성됨 2) 실행 전에 메인 메모리에 저장하며, 한 번에 하나씩 프로세서에 순차적으로 전송하여 해석/실행함 [명령어의 기본 구조] - 연산 부호(Pcode) : 프로세서가 실행할 동작인 연산을 지정함 - 피연산자(Operand) : 연산할 데이터 정보를 저장함 (참고)..
[한빛아카데미] 운영체제 책으로 학습한 내용을 정리한 것입니다. * 컴퓨터 시스템(Computer System) - 소프트웨어 + 하드웨어로 구성 - 소프트웨어(Software) : 어떤 작업을 지시하는 명령어로 작성한 프로그램 - 하드웨어(Hardware) : 데이터를 처리하는 물리적인 기계장치a - 운영체제(Operating System) : 컴퓨터 하드웨어를 관리하는 소프트웨어 [컴퓨터 하드웨어의 구성] * 프로세서(Processor) - 컴퓨터 하드웨어에 부착한 모든 장치의 동작을 제어하고 명령을 실행함 - 중앙처리장치(CPU, Central Processing Unit)라고도 함 [프로세서의 구성] * 레지스터(Register)의 구성 - 레지스터 : 프로세서에 내부에 있으며, 프로세서가 사용할..
[한빛아카데미] 자바로 배우는 쉬운 자료구조 책으로 학습한 내용을 정리한 것입니다. * 순차 검색(Sequential Search) - 일렬로 되어있는 자료를 처음부터 마지막까지 순서대로 검색하는 방법 - 선형 검색(Linear Search)라고도 함 - 가장 간단하고 직접적인 방법으로, 배열이나 연결 리스트로 구현된 순차 자료구조에서 원하는 항목을 찾는 방법 * 순차 검색 장/단점 [장점] - 알고리즘이 단순하여 구현이 쉬움 [단점] - 검색해야 하는 자료의 양에 따라 효율이 달라져서 자료가 아주 많은 경우 비효율적임 * 색인 순차 검색(Index Sequential Search) - 인덱스 테이블(Index Table)은 배열에 정렬되어 있는 자료 중에서 일정한 간격으로 떨어져 있는 원소들을 가지고 ..
[한빛아카데미] 자바로 배우는 쉬운 자료구조 책으로 학습한 내용을 정리한 것입니다. * 정렬(Sort) - 순서없이 배열되어 있는 자료들을 작은 것부터 큰 것 순서의 오름차순(Ascending)이나 큰 것부터 작은 것 순서의 내림차순(Descending)으로 재배열하는 것 - 키(Key) : 자료를 정렬하는데 사용하는 기준이 되는 특정 값 * 선택 정렬(Selection Sort) - 전체 원소들 중에서 기준 위치에 맞는 원소를 선택하여 자리를 교환하는 방식으로 정렬 (가장 작거나 큰 원소를 찾음) * 선택 정렬의 장/단점 [장점] - 알고리즘이 단순함 - 정렬을 위한 비교 횟수는 많지만, 교환 횟수가 버블 정렬에 비해 적어 많은 교환이 일어나야 하는 자료에서 효율적임 - 다른 메모리 공간 필요하지 않음..
[한빛아카데미] 자바로 배우는 쉬운 자료구조 책으로 학습한 내용을 정리한 것입니다. * 그래프(Graph) - 연결되어 있는 원소간의 관계를 표현하는 자료구조 - 정점(Node) : 연결할 객체, 위치 - 간선(Edge) : 객체를 연결하는 선 , 관계 - G = (V,E) : V는 그래프에 있는 정점들의 집합을 의미하며, E는 정점을 연결하는 간선들의 집합을 의미함 [그래프의 구조] * 그래프의 종류 1) 무방향 그래프(Undirected Graph) - 두 정점을 연결하는 간선에 방향이 없는 그래프 - (Vi, Vj) : 정점 Vi, Vj을 연결하는 간선을 표현 2) 방향 그래프(Directed Graph) - 간선에 방향이 있는 그래프 - 다이그래프(Digraph)라고도 함 - : 점 Vi, Vj을..
[한빛아카데미] 자바로 배우는 쉬운 자료구조 책으로 학습한 내용을 정리한 것입니다. * 트리(Tree) - 비선형 자료구조 중에서 자료들 간에 계층관계를 가진 계층형 자료구조(Hierarchical Data Structure) [트리의 구조] * 트리 용어 - 노드(Node) : 트리를 구성하는 원소(자료) - 간선(Edge) : 노드를 연결하는 선 - 루트 노드(Root Node) : 트리의 시작 노드, Level 0 - 형제 노드(Sibling Node) : 같은 부모 노드의 자식 노드들 - 서브 트리(Subtree) : 자식 노드들은 각각 독립하여 새로운 트리를 구성할 수 있으며, 각 노드는 자식노드 수만큼의 수를 가짐 - 노드의 높이(=레벨) : 루트에서 그 노드에 이르는 경로에 있는 간선의 수 ..