CS/면접을 위한 CS 전공 지식 노트

프로세스(process) 컴퓨터에서 실행되고 있는 프로그램 CPU 스케줄링의 대상이 되는 작업(task)와 거의 동일한 의미로 사용됨. 스레드(thread) 프로세스 내 작업의 흐름 프로그램이 메모리에 올라가면 프로세스가 되는 인스턴스화가 일어나고, 이후 운영체제의 CPU 스케줄러에 따라 CPU가 프로세스를 실행 1. 프로세스와 컴파일 과정 프로세스 → 프로그램이 메모리에 올라가 인스턴스화 된 것. ex) 프로그램은 구글 크롬 프로그램과 같은 실행 파일, 더블클릭 시 구글 크롬 프로세스로 변환되는 것. 전처리 소스 코드의 주석을 제거하고 #include 등 헤더 파일을 병합하여 매크로를 치환 컴파일러 오류 처리, 코드 최적화 작업을 하며 어셈블리어로 변환. 어셈블러 어셈블리어는 목적 코드 (object ..
1. 컴퓨터 시스템의 네 가지 구성요소 사용자 (User) 응용프로그램 (system and application system) 운영체제 (Operating System) 워드 프로세서, 스프레드 시트, 컴파일러, 웹 브라우저 등 사용자의 계산 문제를 해결하기 위해 이들 자원이 어떻게 사용될지를 정의 하드웨어 (Hardware) 중앙 처리 장치, 메모리 및 입출력 장치로 구성 기본 계산용 자원 제공 ❶ 사용자가 쉽게 사용할 수 있도록 ❷ 하드웨어가 효율적으로 사용할 수 있도록 운영체제가 중재하는 역할. 컴퓨터가 무엇이냐에 따라 ❶ 또는 ❷가 강조 된다. 운영체제는 개인의 사용 편이성과 자원이용 간에 적절한 조화를 이루도록 설계된다. 컴퓨터 시스템 구성 CPU Central Processing Unit 산..
디자인 패턴이란? 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 규약 형태로 만들어 놓은 것. 디자인패턴 분류 23가지의 디자인 패턴이 존재한다. 각각의 디자인 패턴은 생성(Creational), 구조(Structural), 행위(Behavioral) 3가지로 패턴으로 분류된다. 생성 패턴 (Creational pattern) 객체 생성에 관련된 패턴이다. 객체의 생성과 조합을 캡슐화해 특정 객체가 생성되거나 변경되어도 프로그램 구조에 영향을 크게 받지 않도록 유연성을 제공한다. 구조 패턴 (Structural pattern) 클래스나 객체를 조합해 더 큰 구조를 만드는 패턴이다. 예를 들어 서로 다른 인터페이스를 지닌 2개의 객체를 묶어 단일 인터..
짛
'CS/면접을 위한 CS 전공 지식 노트' 카테고리의 글 목록