Computer Sciences

Dynamic Programming

Jeffrey Yoon
Dynamic Programming 동적 프로그래밍이란 문제의 크기가 작은 소문제에 대한 해를 저장해 놓고, 이를 이용하여 크기가 보다 큰 문제의 해를 점진적으로 만들어가는 상향식 접근 방법이다. 각각의 소문제는 원래의 문제와 동일하지만 입력의 크기에 줄어듦 입력 크기가 아주 작은 단순한 문제가 되면 쉽게 해를 구할 수 있고, 이런 소문제의 해는 다시 사용될 수 있으므로 테이블에 저장 해당 소문제의 해가 필요할 때마다 테이블에서 결과를 바로 이용한다. 유형:

운영체제: 프로세스

Jeffrey Yoon
프로세스 (Process) In computing, a process is the instance of a computer program that is being executed by one or many threads. It contains the program code and its activity. Depending on the operating system (OS), a process may be made up of multiple threads of execution that execute instructions concurrently. 프로세스(process)는 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다. 종종 스케줄링의 대상이 되는 작업(task)이라는 용어와 거의 같은 의미로 쓰인다.

운영체제: Introduction

Jeffrey Yoon
방통대 운영체제 공부하면서 작성한 글 입니다. 강의를 들으면서 공룡책으로 공부할 예정 입니다. 작성 임시단계이니 많은 참고는 하지말아주세요! 부족한 글 입니다. Operating System: Introduction 운영체제란? 운영체제는 컴퓨터 시스템의 자원을 관리하고 컴퓨터 프로그램이 동작하기 위한 서비스를 제공하는 시스템 소프트웨어이다. 운영체제 시스템 소프트웨어가 없던 시절에는 프로그래머가 하드웨어의 자원을 잘 알아야했고, 여러 응용 프로그램이 하드웨어의 자원을 공유하는 경우 자원을 각 운영체제에게 분할하는 경우가 어려웠다고 한다. 운영체제의 역사 1940년대: 초기 전자식 디지털 컴퓨터, 운영체제가 존재하지 않음, 기계적 스위치에 의해 작동 1950년대: 단순 순차처리 및 단일흐름 일괄처리: 한번에 오직 하나의 작업만을 수행, 최초의 운영체제(IBM) 1960년대: 멀티프로그래밍, 시분할 처리개념, 다중 대화식 사용자 지원 1970년대: 멀티모드 시분할 일괄처리, 시분할 처리, 실시간 처리를 지원하는 멀티모드 시분할의 보편화 근거리 지역 네트워크(LAB)의 실용화 정보보호 및 보안문제의 증대로 암호화의 중요성 대두 1980년대: 분산 네트워크 운영체제 기능이 하드웨어 자체에 포함된 펌웨어 개념의 대두 2개 이상의 프로세서를 이용하는 멀티 프로세서 환경의 대두 네트워크의 대두와 함께 클라이언트 / 서버 모델 확산 1990년대: 병렬 처리 및 분산처리 순차처리를 벗어나 분산 및 병렬 처리 발전 그래픽 사용자 인터페이스(GUI)의 강화 선점형 멀티태스킹, 멀티 스레딩, 가상 메모리의 보편화 2000년대 이후: 모바일 및 임베디드 운영체제 시스템은 고속화, 고기능화, 경량화 방향으로 발전 다양한 통신망의 확대와 개방형 시스템의 발달 운영체제는 다양한 기능 지원, 확장성과 호환성 극대화, 사용자 편의성 높임 네트워크 기반의 분산 및 병렬 운영체제의 보편화 클라우드 환경의 운영체제 64비트 CPU에 호환되는 64비트용 운영체제 PDA, PMP, 스마트폰, 태블릿 등의 모바일 장치 대중화로 모바일 운영체제 보편화 가전 제품을 위한 임베디드 운영체제의 보편화 CPU 동작모드 슈퍼바이저 모드(커널 모드) 하드웨어를 직접 제어할 수 있는 CPU 명령어를 사용하지 못한다.

Data structure and Python: STACK

Jeffrey Yoon
STACK Stack is a linear data structure which follows a particular order in which the operations are performed. The order may be LIFO(Last In First Out) or FILO(First In Last Out). Stack 자료구조는 선형 자료구조이며, LIFO, 즉 후입선출의 데이터 플로우를 가진 자료구조이다. 구현에 따라서 다양하게 디자인을 할 수 있지만 기본적인 동작 방식은 후입선출의 자료구조이다. 함수의 콜스택, 재귀 프로그램의 순서 제어 및 후위 표기법으로 표현된 산술식 연산 등에서도 사용된다고 한다.