운영체제가 하는 일 컴퓨터 시스템은 대개 하드웨어, 운영체제, 응용프로그램 및 사용자의 네 가지 구성요소로 구분된다. 운영체제는 사용자와 다양한 응용프로그램 간의 하드웨어 사용을 제어하고 조정한다. 즉, 실행중인 응용 프로그램들이 작업 수행에 필요한 CPU, 메모리, 입출력 장치 등의 하드웨어 자원을 할당하는 것을 제어한다. 컴퓨터에 대한 사용자의 관점은 사용되는 인터페이스에 따라 달라진다. 이러한 시스템은 한 사용자가 자원을 독점하도록 설계되었으며 목표는 사용자가 수행하는 작업을 최대화하는 것이다. 사용자 관점에서 운영체제는 대부분 사용의 편의성을 위해 설계된다. 그러나 일부 컴퓨터는 사용자의 개입 없이 작동하도록 설계되기도 한다. 시스템 관점에서 운영체제는 하드웨어와 가장 밀접하게 연관된 프로그램으로..
그래프란? : 정점(Vertex)와 간선(Edge)을 모아둔 것 그래프 G = (V, E) V = V(G) = {v1, v2, v3, v4} E = E(G) = {(v1, v2), (v2, v3), (v1, v3), (v3, v4)} // 방향 그래프의 경우에 각각의 간선은 순서쌍으로 들어 있다. {(v1, v2), (v2, v1), (v2, v3), (v3, v2), (v1, v3), (v3, v1), (v3, v4), (v4, v3)} // 무 방향 그래프의 경우에 양쪽으로 순서쌍을 가진다. 관련 용어 무방향 그래프 방향 그래프 완전 그래프 부분 그래프 Clique 차수 경로 DAG Tree graph 그래프의 표현 인접 행렬 인접 리스트 무방향 그래프 (v1, v2) = (v2, v1) 방향 그래프..
Xcode 단축키 정리 프로젝트 네비게이터 표시 / 숨기기 네비게이터 바꾸기 오른쪽에 에디터 추가 현재 커서 에디터 닫기 다음 에디터로 커서 이동 파일 빠르게 열기 찾는 메서드로 점프하기 코드 1줄 재정렬 (↓↑) 코드 호출 구조 찾기 프로젝트 네비게이터 표시 / 숨기기: CMD 0 네비게이터 바꾸기: CMD 1 ~ 9 오른쪽 에디터 추가: Control + CMD + T 현재 커서 에디터 닫기: Control + Option + Command + W 다음 에디터로 커서 이동: Control + ` 파일 빠르게 열기: Shift + Command + O 찾는 메서드로 점프하기: Control + 6 코드 1줄 재정렬(↓↑): Option + Command + [ Option + Command + ] 코드..