분류 전체보기(619)
-
운영체제(5), CPU Scheduling
CPU Scheduling 복습 context switching을 할 때는 실제 프로세스보다 작은 단위인 쓰레드가 선택된다. Process Execution 프로세스를 실행하는 것은 명령어를 실행하는 것이다. 명령어를 수행하다가 read from file이나 write from file이 등장하면 실제 해당 작업은 I/O 장치가 수행된다. 이때 명령어들의 집합을 수행하는 구간을 CPU burst, I/O가 끝나기를 기다리는 구간이 I/O burst이다. CPU burst vs I/O burst CPU-bound process CPU burst가 길고 I/O burst가 짧은 구간 일반적으로 사용자와 인터렉티브하지 않은 프로세스 ex) 딥러닝, 과학 계산, 시뮬레이션 프로그램 등등 일반 사용자들이 쉽게 사..
2022.12.18 -
운영체제(4), Threads & Concurrency
Threads & Concurrency 3장 내용 복습 Process: 프로그램을 실행하는 주체(단위) 프로그램은 하나지만 프로세스는 여러개일 수 있다. 예를 들어 HWP 프로그램은 하나지만 파일을 여러개 열고 있으면 프로세스가 여러개 사용될 수 있다. 구글의 크롬 브라우저는 Renderer, Plug in, Browser process가 존재해 브라우저를 열어준다. 운영체제가 이 프로세스를 관리하기 위해 PCB를 사용한다. 프로세스는 ready, running, waiting의 상태를 번갈아가며 실행된다. 레디 큐에 있는 프로세스를 선택하는 것을 스케줄링, 이를 cpu에 올리는 작업을 디스패치라 한다. 스케줄링과 디스패치를 하나의 큰 틀에서 스케줄링이라고 한다. 디스패치를 한다는 것은 cpu의 레지스터..
2022.12.18 -
운영체제(3), Processes
Processes 프로그램과 프로세스 프로그램 파일 시스템에 저장된 실행파일로 파일을 실행하면 메모리에 로딩돼서 실행된다. 프로세스 프로그램을 실행하는 주체로, cpu는 프로세스의 실행 순서를 결정하는 스케줄링의 작업도 진행한다. 프로세스 ID(PID)가 정수 숫자로 붙여진다. 이때 스케줄링은 어떤 순서로 작업을 해야 가장 효율적인지를 감안하여 알고리즘을 짠다. 프로세스는 프로그램의 실체인 인스턴스가 된다. 유닉스가 처음 등장했을 때의 가장 작은 실행 및 스케줄링 단위가 프로세스였다. 지금은 쓰레드가 가장 작은 단위이다. 메인 프레임 시절에는 프로세스라는 이름 대신 job이라고 불렀다. 최초의 OS는 IBM에서 만들었는데 이 당시에는 task라고 불렀다. 유닉스에서는 프로세스라고 이름을 정의한 것에서 이..
2022.12.18 -
운영체제(2), Operating System Structures
Operating System Structures OP Service 시스템 콜이 제일 중요하다. 소프트웨어들이 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공하는 것이 System Call이다. OS의 기능이라 해도 크게 다르지 않다. PC로 오면서 GUI가 이뤄져서 User Interface도 OS의 일부이다. 커널은 항상 수행 중인 프로그램이고, 운영체제는 커널과 시스템 프로그램을 합친 개념이다. 시스템 프로그램은 커널을 활용하기 위한 도구이다. 이 프로그램은 커널을 설치할 때 같이 설치되는 프로그램이다. OS를 크게 보면 사용자에게 쉽게 사용할 수 있는 인터페이스를 제공하는 것과 운영체제를 사용할 수 있는 프로그램으로 구성되어있다. 리눅스와 유닉스의 User Interface는 CLI(커멘드 ..
2022.12.18 -
데이터베이스(9), 물리적 데이터베이스 설계
물리적 데이터베이스 설계 물리적 데이터 베이스 설계란? 1. 보조 기억 장치 블록은 저장 장치와 메인 메모리 사이에서 데이터를 주고받는 단위를 의미한다. 전형적인 블록 크기는 시대에 따라 달라진다. 최근에는 4kb, 16kb, 32kb를 사용하기도 한다. cf) 캐릭터 장치(문자 장치): 이는 한문자마다 데이터를 전송하는 장치를 의미한다. 대표적으로 키보드가 있다. 저장 장치의 계층 구조 cpu는 디스크에 있는 데이터를 직접 쓰거나 읽을 수 없다. 디스크에 있는 블럭 단위의 데이터를 주기억 장치와 주고받는 식으로 진행한다. 따라서 read, update, write하는 순서로 데이터를 작성한다. 백업을 위해선 싼 가격의 저장 장치인 자기테이프를 사용해 이를 저장한다. 자기디스크 자기 물질: 마그네틱 물질..
2022.12.14 -
데이터베이스(8), 데이터베이스 설계와 ER 모델
데이터베이스 설계와 ER 모델 1. 데이터베이스 설계의 개요 1) 데이터 베이스 설계의 종류 (1) 개념적 데이터베이스 설계 실제로 데이터 베이스를 어떻게 구현할 것인가와는 독립적으로 정보 사용의 모델을 개발하는 과정 조직체의 엔티티, 관계, 프로세스, 무결성 제약조건 등을 나타내는 추상화 모델을 구축한다. 엔티티: 서로 구분되면서 조직체에서 데이터베이스에 나타내려는 객체(사람, 장소, 사물 등등) 관계: 두 개 이상의 엔티티들 간의 연관 프로세스: 관련된 활동 무결성 제약조건: 데이터의 정확성과 비즈니스 규칙 특정 데이터 모델과 독립적으로 응용 세계를 모델링할 수 있도록 한다. 데이터베이스 구조나 스키마를 하향식으로 개발할 수 있기 위한 틀(framework)을 제공 엔티티 관계 데이터 모델이 가장 인..
2022.12.13