728x90 Computer Science19 [Algorithm] 알고리즘의 개념과 자료구조 알고리즘이란? 주어진 문제 해결 및 문제 해결에 필요한 절차와 방법을 알고리즘이라고 합니다. 여기서 절차란 어떠한 문제 해결을 위해 정해진 일련의 절차이며 계산 실행을 위한 단계적 절차를 의미하기도 합니다. 즉, 문제 풀이에 필요한 계산절차 또는 처리과정의 순서를 뜻하는 단어입니다. 효율적인 알고리즘을 선택하기 위해선 먼저 자료구조에 대한 이해가 필요합니다. 자료구조 자료구조는 데이터 사이의 논리적 관계를 표현, 조직화하는 방법입니다. 좋은 프로그램을 위해서는 적절한 자료구조와 적절한 알고리즘이 필요합니다. 기본적인 자료구조는 선형(linear)자료구조와 비선형(non-linear) 자료구조로 나뉘게 됩니다. 선형 자료구조는 이름 그대로 선, 즉 한 줄로 나열할 수 있는 자료구조입니다. 반대로 비선형은 .. 2023. 3. 6. [OS] 프로세스 관리와 쓰레드 프로세스와 운영체제 운영체제, 다른 말로 프로세스 관리자는 이름 그대로 프로세스를 관리하는 역할을 합니다. 아래 세가지 역할을 수행합니다. 프로세스의 생성 및 종료 프로세스의 실행을 위한 스케줄링 작업 프로세스의 상태 관리 프로세스의 생성과 종료 프로세스의 생성 프로세스 생성 방법은 크게 두 가지입니다. 1. 사용자가 프로그램을 직접 실행 2. 한 프로세스가 다른 프로세스 생성 (프로세스 생성 시스템 호출 이용) 시스템 호출은 사용자모드에서 자원 할당이 필요하여 커널모드로 변경 시 사용되는 호출이라고 설명한 적이 있습니다. 두 번째 상황에서 시스템 호출을 하는 프로세스를 부모 프로세스, 시스템 호출을 통해 새로 만들어진 프로세스를 자식 프로세스라고 합니다. 부모프로세스도 부모프로세스가 존재할 수 있습니다.. 2023. 3. 5. [OS] 프로세스란? 프로세스(Process)란? process는 실행 중인 프로그램을 의미합니다. 프로세스를 눈으로 확인해 볼까요? 윈도우의 경우 작업관리자를 확인하면 현재 실행 중인 프로그램, 즉 프로세스들을 확인할 수 있습니다. 프로그램과 프로세스 그럼 프로그램과 프로세스의 차이점은 무엇일까요? 아래와 같이 구분할 수 있습니다. 프로그램 : 동작을 하지 않는 정적 개체 프로세스 : 동작을 하는 능동적인 개체 다시 작업 관리자 창을 확인해 보겠습니다. 저의 경우 메모장이 실행 중인데요. 해당 프로세스를 클릭하면 아래처럼 Notepad.exe라는 실행파일을 확인할 수 있습니다. 우리는 저 실행 파일을 더블 클릭해 프로그램을 실행하게 됩니다. 프로그램이 프로세스로 동작하기 위해서는 운영체제로부터 필요한 자원을 할당받아야 합니.. 2023. 3. 5. [DB] 데이터 베이스의 특징 지난 포스팅에서 파일처리 시스템의 문제점에 대하여 알아보았습니다. 그럼 그럼 데이터베이스는 어떤 특징이 있길래 파일시스템을 대체하게 된 걸까요? 데이터베이스의 특징 기존 파일시스템에서 응용프로그램별로 파일을 관리했다면, 현재는 데이터베이스를 통해 데이터를 관리하고 있습니다. 그럼 이러한 데이터베이스는 어떠한 특징이 있을까요? 1. 데이터의 사용과 관리의 영역 분리 2. 자기 기술성 3. 프로그램과 데이터의 격리 및 추상화 4. 다중 뷰 제공 5. 데이터 공유와 다수 사용자 트랜잭션 처리 위와 같은 특징들을 조금 더 자세히 알아보겠습니다. 데이터의 사용과 관리의 영역 분리 데이터 베이스의 중요한 포인트는 바로 데이터의 사용과 관리의 영역을 분리했다는 것입니다. 초록 선을 기준으로 아래쪽은 데이터 관리의 영.. 2023. 3. 1. 이전 1 2 3 4 5 다음 728x90