[운영체제] 운영체제의 시작과 발전
1. 운영체제 개념 1) 운영체제 정의 운영체제 : 컴퓨터 사용자와 컴퓨터 하드웨어 사이에서 중계 역할을 하면서, 프로그램 실행을 관리하고 제어하는 시스템 소프트웨어 컴퓨터가 켜질 때 처음으로 적재되어 나머지 모든 프로그램의 실행을 제어하고 사용자의 요청을 처리하는 소프트웨어 컴퓨터의 자원을 독점적으로 관리하는 특별한 소프트웨어 2) 운영체제의 목적과 기능 운영체제의 목적 컴퓨터 사용의 편리성 컴퓨터 자원관리의 효율성 운영체제의 기능 CPU/프로세스 관리 메모리 관리 파일 시스템 관리 장치 관리 네트워크 관리 보안 관리 기타 관리 (사용자 계정 관리, 통계, 오류 발견 및 대응, 부팅) 3) 운영체제와 응용소프트웨어 운영체제 응용소프트웨어 목적 컴퓨터 하드우어나 응용소프트웨어 등 자원 관리 컴퓨터 사용자..
- Computer Science/Operating System
- · 2023. 7. 7.
다이나믹 프로그래밍 (2) - P/NP,플로이드-워셜 알고리즘
1. P와 NP 입력 데이터 크기가 증가함에 따라 문제 해결의 복잡도가 어느 정도까지 향상되는지 파악 P 문제 : 다항 시간내에 해답을 구할 수 있음을 의미 시간 복잡도가 $O(n), O(n^2), O(log n)$ NP 문제 : 비결정적 다항 시간문제 주어진 문제의 솔루션을 검증하는 것은 쉬우나 실제 솔루션을 만드는 일은 매우 어려움 NP의 많은 문제들은 NP-완전으로 알려져 있음 특별한 특성을 공유 다항 시간처럼 효율적으로 해결하는 솔루션이 발견 → 다른 문제에도 적용 가능 2. 부분집합의 합 문제 다시보기 특정 부분집합에 대한 유효성 검증은 각 부분집합의 원소를 모두 더하여 목표치와 같은지를 검사하는 방식 검증에 대한 복잡도는 부분집합 크기에 대해 선형 관계 만족 부분집합의 합 문제를 O(n*m) ..
- Computer Science/Data Structure & Algorithm
- · 2023. 7. 6.
다이나믹 프로그래밍 (1) - 부분집합의 합 / 문자열 시퀀스
0. 들어가며 분할 정복 패러다임 개념을 확장 매우 복합적이며 창의력과 인내심, 추상적 개념을 시각화하는 능력을 요구하는 경우가 많음 다이나믹 프로그래밍이 자주 사용되는 몇 가지 예 조합 (특정 기준을 만족하는 시퀀스의 조합 또는 순열의 개수 구하기) 문자열과 시퀀스 (편집 거리, 최장 공통 부분 시퀀스, 최장 증가 부분 시퀀스) 그래프 (최단 경로 문제) 머신러닝 (음성/얼굴인식) 1. 동적 계획법(Dynamic programming)이란? 피보나치 수열을 통한 동적 계획법 설명 피보나치의 재귀조건 : $F(n) = F(n-1) + F(n-2)$ 피보나치의 기저조건 : $F(0) , F(1)$ 하향식 방법 : 재귀 트리의 맨 꼭대기서 시작하여 기저 조건에 닿을 때까지 이동 피보나치의 경우 여러 개의 부..
- Computer Science/Data Structure & Algorithm
- · 2023. 7. 5.