본문 바로가기

강의노트

(52)
[운영체제] Term project: Nachos 교육용 운영체제 윈도우 위에서 Application처럼 돌아가지만 내부적으로는 Application-OS-H/W로 구성됨 MIPS Processor 상에서 돌아감 -> C 프로그램을 짜면 MIPS로 Cross complie 해줌 근데 C 프로그램 짜서 돌려보고 이런 건 안 할 거임 (시간 없음) Java package 다 $nachos$ 패키지의 subpackage machine: 하드웨어 vm: Virtual memory threads: Nachos의 기본단위는 thread -> 그거랑 관련된 거 여기 많이 봐야 됨 각 프로젝트 디렉토리는 $nachos.conf$를 갖는다. 그냥 configuration 파일이라 수정할 일은 잘 없음 Scheduler 종류를 바꿀 수도 있는데 그 때는 이 파일을 건드려..
[거시경제학] 4주차: 총수요 저번주: 무엇이 생산을 결정하는가? 그 생산은 자본가와 노동자에게 어떻게 분배되는가? 이번주: 생산은 어떻게 사용되는가? 총 수요의 구성요소 $C$: 재화와 용역에 대한 소비자 수요 (= 소비) $I$: 투자재에 대한 수요(= 투자) $G$: 재화와 용역에 대한 정부 수요(= 정부 구입) $NX$ = $EX - IM$: 순수출 - 폐쇄경제를 가정할 경우 이 수치는 0이 된다. 소비($C$, Consumption) 보통 이게 제일 많은 비중을 차지한다. 가처분소득(Disposable income) 소비에 영향을 주는 가장 중요한 요소 (총소득) - (총조세) = $Y-T$ 소비함수 $C = C(Y-T)$ $\therefore\;\; C \propto (Y-T)$ 한계소비성향: MPC(Marginal Pro..
[미시경제학] 4주차: 수요 현시선호 소비자가 하나의 장바구니를 선택하고, 그것이 다른 장바구니보다 비싸다면 소비자는 그 장바구니를 더 선호해야 한다. 한계효용(MU) 한계대체율(MRS) $X$ 재화를 늘릴 때 $Y$ 재화를 얼마나 줄일 수 있는가? = 무차별곡선의 미분계수 = $Y$ 재화 단위로 표시된 $X$ 재화의 한계 효용 = $X$ 재화를 하나 늘릴 때 늘어난 효용을 $Y$재화로 표현한 것 무차별 곡선 위에 있다 = $Y$가 줄고 $X$가 늘어도 효용 수준은 동일하다. $0 = MU_F(\Delta F) + MU_C(\Delta C)$ $\therefore\;\; MRS_{XY} = \frac{MU_X}{MU_Y}$: $Y$ 재화 단위로 표시된 $X$ 재화의 한계 효용 $(X^*, Y^*)$에서 효용이 극대화된다고 하자. (..
[알고리듬] 4주차: Divide-and-Conquer Recursion - Simplify and Delegate - Reduction - 종료 조건: Base case Correctness: Induction으로 증명 Time complexity analysis: 점화식부터 구한다 Divide-and-Conquer 나누고(Divide) 정복한다(Conquer) -> 분할정복 Recursion 활용 Ex) Mergesort, Quicksort Pattern 분할정복은 일반적으로 다음의 세 단계로 진행된다. ① Divide 문제를 나눈다.(Mergesort에서는 2개) 같은 문제의 더 작은 instance로 나눈다. ② Delegate (Conquer) 각각의 더 작은 instance에 대해 재귀호출을 한다. ③ Combine Mergesort의 Merge에..
[인공지능] 4주차: 탐색 Problem-Solving Agents 입력: Percept(Sensing의 결과물) low-level의 sensing data와는 다르다. if $seq$ is empty 행동의 sequence(행동의 계획)이 없다면 $goal$ = Formulate-Goal($state$) Agent가 현재 상황에 맞게 스스로 세운 목표 목표도 여러 수준이 있으며, 높은 수준의 목표는 보통 인간이 준다. Goal을 달성하기 위한 Subgoal을 세우는 건 가능 그래서 스스로 목표를 세웠다고 보기 어려운 경우가 많다는 게 일반적인 의견 $problem$ = Formulate-problem($state$, $goal$) 목표를 문제화함 = 현재 상태와 Goal 상태가 다르다는 가정 지금 문제가 없다면 Goal이 달성된..
[운영체제] 3주차: Thread Thread Process: 운영체제가 관리하는 기본 단위 Thread: CPU를 활용하는 기본 단위 모든 프로세스는 하나 이상의 Thread로 구성된다. 기본적으로 프로세스처럼 ID, PC, Register, stack 등을 갖는다. 다만 프로세스와 달리 Code section이나 Data section 등이 같은 프로세스 내의 모든 thread가 공유할 수 있다. 프로세스보다 더 가볍다는 장점이 있다. 어떤 작업을 여러 스레드로 나눠서 구현할 경우 관리가 더 용이하다. Ex) Multithreaded server Single thread라면 여러 client가 동시에 요청했을 때 먼저 요청된 것부터 하나씩 처리하므로 response time이 길어진다. Multithread라면 서버가 직접 요청을 처..
[운영체제] 3주차: Review (2) 3장: 본격적인 내용 Process: Program in execution -> Active entity Program: passive entity 프로그램을 클릭하면 그게 프로세스가 되어 메모리에 올라가고 Stack, Heap, Data, Text로 구성됨 I/O-bound process: I/O 작업을 많이 하는 프로세스 CPU-bound process: CPU 작업을 많이 하는 프로세스 프로세스 상태 전이: NEW, READY, WATING, RUNNING, TERMINATED (Process lifecycle) NEW: 프로세스 생성 시 READY: CPU 할당 대기 RUNNING: CPU 할당 받음 WATING: RUNNING에서 I/O 요청 받음, I/O 끝나면 READY로 돌아감 TERMIN..
[운영체제] 3주차: Review (1) Chapter 1 운영체제의 정의, 구성 요소, 작업 교수님 피셜) 거의 컴퓨터구조론 내용에 대한 review, 그냥 교양 느낌으로 봐라 OS는 resource allocator: H/W, S/W 등의 자원을 배분하는 역할을 한다. control program: 시스템에 치명적인 영향을 줄 수 있는 작업을 방지한다. Ex) 무한루프 -> 자원을 무한정 사용, 운영체제나 다른 프로세스의 메모리 영역 침범 Trap: Software interrupt - syscall과 관련이 있다. Multiprocess 여러 개의 프로세스가 있다. 각 프로세스에는 독자적인 Register와 Cache가 있다. Memory는 System bus를 통해 공유한다. -> 바틀랙? 바틀랩?? 몇 번을 들어도 뭔지 모르겠다. 중요..