λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

전체 κΈ€135

4 Process Outline (+Kernel Space) ν”„λ‘œμ„ΈμŠ€λŠ” 컴퓨터 κ³Όν•™μ—μ„œ μ€‘μš”ν•œ κ°œλ…μœΌλ‘œ, μ‹€ν–‰ 쀑인 ν”„λ‘œκ·Έλž¨μ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€. ν”„λ‘œμ„ΈμŠ€λŠ” 운영 μ²΄μ œμ—μ„œ κ΄€λ¦¬λ˜λ©°, 각각 λ…λ¦½μ μœΌλ‘œ μ‹€ν–‰λ˜λŠ” ν”„λ‘œκ·Έλž¨μ˜ μΈμŠ€ν„΄μŠ€λΌκ³  생각할 수 μžˆμŠ΅λ‹ˆλ‹€. λ‹€μ–‘ν•œ 운영 μ²΄μ œμ—μ„œλŠ” ν”„λ‘œμ„ΈμŠ€λ₯Ό 생성, 관리, μŠ€μΌ€μ€„λ§ν•˜κ³  μžμ›μ„ ν• λ‹Ήν•˜λŠ”λ° μ‚¬μš©λ˜λŠ” μ—¬λŸ¬ λ©”μ»€λ‹ˆμ¦˜μ΄ μžˆμŠ΅λ‹ˆλ‹€. ν¬κ·ΈλΌμš΄λ“œ ν”„λ‘œμ„ΈμŠ€ (Foreground Process) ν¬κ·ΈλΌμš΄λ“œ ν”„λ‘œμ„ΈμŠ€λŠ” ν˜„μž¬ μ‚¬μš©μžμ™€ 직접 μƒν˜Έ μž‘μš©ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. μ‚¬μš©μžκ°€ μ‹€ν–‰ν•œ ν”„λ‘œκ·Έλž¨μ΄λ‚˜ λͺ…령이 ν¬κ·ΈλΌμš΄λ“œμ—μ„œ μ‹€ν–‰λ˜λ©΄ ν•΄λ‹Ή μž‘μ—…μ΄ μ™„λ£Œλ  λ•ŒκΉŒμ§€ μ œμ–΄λ₯Ό 계속 μœ μ§€ν•˜λ©°, μ‚¬μš©μžλŠ” κ·Έ 진행 상황을 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. 주둜 터미널 μ°½μ—μ„œ μ‹€ν–‰λœ ν”„λ‘œμ„ΈμŠ€κ°€ ν¬κ·ΈλΌμš΄λ“œμ—μ„œ λ™μž‘ν•©λ‹ˆλ‹€. λ°±κ·ΈλΌμš΄λ“œ ν”„λ‘œμ„ΈμŠ€ (Background Process) λ°±κ·Έ.. 2023. 12. 23.
7 Instruction Cycle & Interrupt (λͺ…λ Ήμ–΄ 사이클과 μΈν„°λŸ½νŠΈ) CPUλŠ” λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜κ³  데이터λ₯Ό μ²˜λ¦¬ν•˜λŠ” 역할을 μˆ˜ν–‰ν•©λ‹ˆλ‹€. μ—¬κΈ°μ„œ λͺ…λ Ήμ–΄ 사이클과 μΈν„°λŸ½νŠΈμ— λŒ€ν•΄ κ°„λ‹¨νžˆ μ„€λͺ…ν•˜κ² μŠ΅λ‹ˆλ‹€. CPUλŠ” 정해진 νλ¦„λŒ€λ‘œ λͺ…λ Ήμ–΄λ₯Ό μ²˜λ¦¬ν•©λ‹ˆλ‹€. 집을 μ§“λŠ” μž‘μ—…μžλ“€μ΄ μ§‘μ˜ ν† λŒ€λ₯Ό μ •ν•˜κ³  벽을 μŒ“μ•„ 지뢕을 μ˜¬λ¦¬λŠ” μˆœμ„œκ°€ μžˆλ“―μ΄ CPU도 λ©”λͺ¨λ¦¬μ™€ λŠμž„μ—†μ΄ ꡐλ₯˜ν•˜λ©° 일을 ν•©λ‹ˆλ‹€. 쑰금 더 ꡬ체적으둜 μ•Œμ•„λ΄…μ‹œλ‹€. λͺ…λ Ήμ–΄ 사이클 (Instruction Cycle): λͺ…λ Ήμ–΄ 사이클(Instruction Cycle)은 CPUκ°€ ν•˜λ‚˜μ˜ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜λŠ” 데 ν•„μš”ν•œ 기본적인 λ‹¨κ³„λ“€μ˜ μ—°μ†μž…λ‹ˆλ‹€. 이 사이클은 CPU의 λ™μž‘ 원리λ₯Ό μ΄ν•΄ν•˜κ³  λͺ…λ Ήμ–΄λ₯Ό μ²˜λ¦¬ν•˜λŠ” 방식을 μ„€λͺ…ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€. λͺ…λ Ήμ–΄ 사이클은 일반적으둜 λ‹€μŒμ˜ λ‹¨κ³„λ‘œ κ΅¬μ„±λ©λ‹ˆλ‹€: 1) ν”„λ‘œκ·Έλž¨ μΉ΄μš΄ν„° (Program Counter).. 2023. 12. 23.
3 Run level (+μžλ™ μ™„μ„±) λ¦¬λˆ…μŠ€ μ‹œμŠ€ν…œμ—μ„œ λŸ°λ ˆλ²¨μ€ μ‹œμŠ€ν…œμ˜ 운영 μƒνƒœλ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. λŸ°λ ˆλ²¨μ€ νŠΉμ • μ‹œμŠ€ν…œ μ„œλΉ„μŠ€μ™€ ν”„λ‘œμ„ΈμŠ€λ“€μ΄ μ‹€ν–‰λ˜λŠ” μƒνƒœλ₯Ό μ§€μ •ν•˜λ©°, 특히 λ¦¬λˆ…μŠ€μ—μ„œλŠ” μ΄ˆκΈ°ν™” ν”„λ‘œμ„ΈμŠ€(init ν”„λ‘œμ„ΈμŠ€)κ°€ νŠΉμ • λŸ°λ ˆλ²¨μ— 따라 μ‹€ν–‰ν•  μ„œλΉ„μŠ€λ“€μ„ μ„€μ •ν•©λ‹ˆλ‹€. μš°λΆ„νˆ¬ 및 기타 λ§Žμ€ λ¦¬λˆ…μŠ€ λ°°ν¬νŒμ—μ„œ, λŸ°λ ˆλ²¨μ€ λ‹€μŒκ³Ό 같이 λ‚˜λˆ μ§‘λ‹ˆλ‹€: - 런레벨 0 (halt): μ‹œμŠ€ν…œμ„ μ’…λ£Œν•˜κ³  전원을 λ„λŠ” μƒνƒœμž…λ‹ˆλ‹€. - 런레벨 1 (single user mode λ˜λŠ” rescue mode): μ΅œμ†Œν•œμ˜ μ„œλΉ„μŠ€λ§Œ μ‹€ν–‰λ˜λŠ” μƒνƒœλ‘œ, 주둜 μ‹œμŠ€ν…œ 볡ꡬ μž‘μ—…μ„ μœ„ν•΄ μ‚¬μš©λ©λ‹ˆλ‹€. - 런레벨 2-5 (multi-user mode): λ‹€μ–‘ν•œ 닀쀑 μ‚¬μš©μž λͺ¨λ“œμž…λ‹ˆλ‹€. νŠΉμ • λ°°ν¬νŒμ—μ„œλŠ” 런레벨 2, 3, 4, 5κ°€ λͺ¨λ‘ λ™μΌν•œ 닀쀑 μ‚¬μš©μž λͺ¨λ“œλ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€... 2023. 12. 22.
2 Data Model 데이터 λͺ¨λΈμ€ 데이터듀을 μ²΄κ³„μ μœΌλ‘œ μ •μ˜ν•˜κ³  κ΅¬μ‘°ν™”ν•˜μ—¬ ν‘œν˜„ν•˜κΈ° μœ„ν•΄μ„œ λ§Œλ“€μ–΄μ§„ κ°œλ…μž…λ‹ˆλ‹€. μ—¬λŸ¬ 가지 λͺ©μ μ— 따라 λ‹€μ–‘ν•œ ν˜•νƒœμ˜ 데이터 λͺ¨λΈμ΄ μ‚¬μš©λ˜λ©°, μ΄λŸ¬ν•œ λͺ¨λΈμ€ 데이터 관리와 ν™œμš©μ˜ νš¨μœ¨μ„±μ„ μ¦μ§„μ‹œν‚€λ©°, 정보 μ‹œμŠ€ν…œμ„ μ„€κ³„ν•˜κ³  μš΄μ˜ν•˜λŠ” 데 ν•„μˆ˜μ μΈ λ„κ΅¬λ‘œ μ‚¬μš©λ©λ‹ˆλ‹€. 1) Conceptual Data Model (Entity-Relationship Model) Conceptual Data Model은 λΉ„μ¦ˆλ‹ˆμŠ€ μš”κ΅¬μ‚¬ν•­μ„ λ‚˜νƒ€λ‚΄κΈ° μœ„ν•œ κ³ μˆ˜μ€€μ˜ 데이터 ν‘œν˜„μœΌλ‘œ, 업무 ν”„λ‘œμ„ΈμŠ€μ™€ μ—”ν„°ν‹° κ°„μ˜ 관계λ₯Ό μ€‘μ‹¬μœΌλ‘œ μ„€κ³„λœ λͺ¨λΈμž…λ‹ˆλ‹€. 이 λͺ¨λΈμ€ λΉ„μ¦ˆλ‹ˆμŠ€ μš©μ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ λ°μ΄ν„°μ˜ μ˜λ―Έμ™€ 관계λ₯Ό μΆ”μƒμ μœΌλ‘œ ν‘œν˜„ν•˜λ©°, ꡬ체적인 λ°μ΄ν„°λ² μ΄μŠ€ 섀계에 μ§μ ‘μ μœΌλ‘œ μ˜μ‘΄ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 일반 μ‚¬μš©μžλ“€μ΄ μ‰½κ²Œ 이해할 수 있.. 2023. 12. 22.
1 Data, Database, DBMS Data λ°μ΄ν„°λŠ” μ–΄λ– ν•œ 값을 ν¬ν•¨ν•˜κ³  μžˆλŠ” κ°€κ³΅λ˜μ§€ μ•Šμ€ 1μ°¨ 자료둜 μ •λ³΄μ˜ ν˜•νƒœλ‘œ ν‘œν˜„λ  수 μžˆλŠ” λͺ¨λ“  것을 λ‚˜νƒ€λƒ…λ‹ˆλ‹€. λ°μ΄ν„°λŠ” 뢄석, 해석, μ €μž₯, 전솑 λ“± λ‹€μ–‘ν•œ λͺ©μ μ„ μœ„ν•΄ κ°€κ³΅λ˜μ–΄ 정보(Information)둜 λ³€ν™˜λ˜λŠ” 과정을 κ±°μΉ©λ‹ˆλ‹€. 컴퓨터 μ„Έκ³„μ—μ„œ λ°μ΄ν„°λŠ” μ΄μ§„μˆ˜λ‘œ ν‘œν˜„λ˜μ–΄ μ €μž₯λ©λ‹ˆλ‹€. 즉, λ°μ΄ν„°λŠ” μ •λ³΄μ˜ μ›μ²œμ΄λ©°, 이λ₯Ό 효과적으둜 μˆ˜μ§‘, μ €μž₯, μ²˜λ¦¬ν•˜κ³  λΆ„μ„ν•¨μœΌλ‘œμ¨ κ°€μΉ˜ μžˆλŠ” 톡찰λ ₯을 얻을 수 μžˆμŠ΅λ‹ˆλ‹€. 또 ν•œ, λ°μ΄ν„°λŠ” ν˜„λŒ€ μ‚¬νšŒμ—μ„œ κΈ°μ—…, μ •λΆ€, ν•™λ¬Έ, μ˜ν•™, 기술 λ“± λ‹€μ–‘ν•œ λΆ„μ•Όμ—μ„œ 핡심 μžμ›μœΌλ‘œ μΈμ‹λ˜μ–΄ ν™œμš©λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€. Database λ°μ΄ν„°λ² μ΄μŠ€(Database)λŠ” μ „μžμ μœΌλ‘œ μ²΄κ³„μ μœΌλ‘œ 쑰직된 κ΄€λ ¨μžˆλŠ” λ°μ΄ν„°λ“€μ˜ 집합이며, 데이터듀을 효과적으둜 검색, μ €μž₯ 및 관리할 수.. 2023. 12. 22.
10 데이터 링크 계측 - Data Link Layer + MAC Address 데이터 링크 계측은 OSI(Open Systems Interconnection) λͺ¨λΈμ—μ„œ 두 μž₯치 κ°„μ˜ 직접 톡신을 λ‹΄λ‹Ήν•˜λŠ” 두 번째 κ³„μΈ΅μž…λ‹ˆλ‹€. 데이터 링크 계측은 λ„€νŠΈμ›Œν¬ μž₯λΉ„ 간에 μ‹ ν˜Έλ₯Ό μ£Όκ³ λ°›λŠ” κ·œμΉ™μ„ μ •ν•˜λŠ” κ³„μΈ΅μž…λ‹ˆλ‹€. 이 λ•Œ, μ‚¬μš©λ˜λŠ” κ·œμΉ™(ν”„λ‘œν† μ½œ)이 '이더넷(Ethernet)' μž…λ‹ˆλ‹€. 이더넷은 λžœμ—μ„œ 데이터λ₯Ό μ •μƒμ μœΌλ‘œ μ£Όκ³ λ°›κΈ° μœ„ν•΄ ν•„μš”ν•œ κ·œμΉ™μœΌλ‘œ 컴퓨터 λ„€νŠΈμ›Œν¬ 기술 쀑 ν•˜λ‚˜λ‘œ μ „ 세계 μ‚¬λ¬΄μ‹€μ΄λ‚˜ κ°€μ •μ—μ„œ κ°€μž₯ 많이 ν™œμš©λ˜λŠ” 기술 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€. 이더넷은 데이터 링크 κ³„μΈ΅μ—μ„œ κ°€μž₯ 널리 μ‚¬μš©λ˜λŠ” ν”„λ‘œν† μ½œ 쀑 ν•˜λ‚˜λ‘œ, 둜컬 μ˜μ—­ λ„€νŠΈμ›Œν¬(LAN)μ—μ„œ 주둜 μ‚¬μš©λ©λ‹ˆλ‹€. 그런데 μ—¬λŸ¬ 컴퓨터가 νŠΉμ •ν•œ λͺ©μ μ§€λ‘œ λ™μ‹œμ— 데이터λ₯Ό μ†‘μ‹ ν•˜λ©΄ 좩돌(Collision)이 일어날 수 μžˆμŠ΅λ‹ˆλ‹€. λ°μ΄ν„°μ˜ .. 2023. 12. 21.
3 Dual Mode (User & Kernel mode) + System Call μš΄μ˜μ²΄μ œμ—μ„œλŠ” 주둜 μ‚¬μš©μž λͺ¨λ“œ(User Mode)와 컀널 λͺ¨λ“œ(Kernel Mode)λΌλŠ” 두 가지 μ‹€ν–‰ λͺ¨λ“œλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. 이λ₯Ό 이쀑 λͺ¨λ“œ(Dual Mode)라고도 ν•©λ‹ˆλ‹€. 즉, 이쀑 λͺ¨λ“œλž€ CPUκ°€ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜λŠ” λͺ¨λ“œλ₯Ό 크게 μ‚¬μš©μž λͺ¨λ“œμ™€ 컀널λͺ¨λ“œλ‘œ κ΅¬λΆ„ν•˜λŠ” 방식을 μ˜λ―Έν•©λ‹ˆλ‹€. μ™œ 두 가지 λͺ¨λ“œκ°€ μžˆμ„κΉŒμš”? 일반적으둜 λ‹€μ–‘ν•œ μ‘μš© ν”„λ‘œκ·Έλž¨λ“€μ΄ ν•˜λ“œμ›¨μ–΄μ— λ¬΄μ°¨λ³„μ μœΌλ‘œ μ ‘κ·Όν•˜λ©΄ μœ„ν—˜ν•  수 있기 λ•Œλ¬Έμ— μš΄μ˜μ²΄μ œλŠ” 이λ₯Ό 이쀑 λͺ¨λ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ ν•΄κ²°ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ‚¬μš©μž λͺ¨λ“œ (User Mode) μ‚¬μš©μž λͺ¨λ“œλŠ” 운영체제 μ„œλΉ„μŠ€μ˜ 제곡 없이 μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ μ‹€ν–‰λ˜λŠ” ν™˜κ²½μž…λ‹ˆλ‹€. μ‘μš© ν”„λ‘œκ·Έλž¨μ€ μ‚¬μš©μž λͺ¨λ“œμ—μ„œ μ‹€ν–‰λ˜λ©°, μ œν•œλœ μžμ›κ³Ό κΆŒν•œμ— μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ‚¬μš©μž λͺ¨λ“œμ—μ„œλŠ” μ§μ ‘μ μœΌλ‘œ μ‹œμŠ€ν…œ μžμ›μ— μ ‘κ·Ό.. 2023. 12. 21.
2 컀널 (Kernel) 컀널은 운영체제의 핡심이며, ν•˜λ“œμ›¨μ–΄μ™€ μ†Œν”„νŠΈμ›¨μ–΄ κ°„μ˜ μƒν˜Έ μž‘μš©μ„ κ΄€λ¦¬ν•˜κ³  μ œμ–΄ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€. λ‹€μ–‘ν•œ μš΄μ˜μ²΄μ œλ“€μ΄ λ‹€μ–‘ν•œ 컀널을 μ‚¬μš©ν•˜λ©°, 각각의 컀널은 νŠΉμ • μš΄μ˜μ²΄μ œμ— μ΅œμ ν™”λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. μœ„μ˜ κ·Έλ¦Όκ³Ό 같이 μš΄μ˜μ²΄μ œλŠ” ν”„λ‘œμ„ΈμŠ€(μ‘μš© ν”„λ‘œκ·Έλž¨)듀이 μžμ›μ— μ ‘κ·Όν•˜λ € ν•  λ•Œ 였직 μžμ‹ (컀널)λ§Œμ„ ν†΅ν•΄μ„œ μ ‘κ·Όν•˜λ„λ‘ ν•©λ‹ˆλ‹€. μ»€λ„μ˜ νŠΉμ§• 1) ν”„λ‘œμ„ΈμŠ€ 관리: 컀널은 ν”„λ‘œμ„ΈμŠ€λ₯Ό μƒμ„±ν•˜κ³  μŠ€μΌ€μ€„λ§ν•˜μ—¬ 각각의 ν”„λ‘œμ„ΈμŠ€μ— CPU μ‹œκ°„μ„ ν• λ‹Ήν•©λ‹ˆλ‹€. λ˜ν•œ ν”„λ‘œμ„ΈμŠ€ κ°„μ˜ 톡신과 동기화λ₯Ό κ΄€λ¦¬ν•©λ‹ˆλ‹€. 2) λ©”λͺ¨λ¦¬ 관리: 컀널은 μ‹œμŠ€ν…œμ˜ λ©”λͺ¨λ¦¬λ₯Ό 효과적으둜 κ΄€λ¦¬ν•˜λ©°, ν”„λ‘œμ„ΈμŠ€μ— ν•„μš”ν•œ λ©”λͺ¨λ¦¬λ₯Ό ν• λ‹Ήν•˜κ³  νšŒμˆ˜ν•©λ‹ˆλ‹€. λ˜ν•œ 가상 λ©”λͺ¨λ¦¬λ₯Ό μ‚¬μš©ν•˜μ—¬ 물리적 λ©”λͺ¨λ¦¬μ˜ ν•œκ³„λ₯Ό κ·Ήλ³΅ν•©λ‹ˆλ‹€. 3) 파일 μ‹œμŠ€ν…œ 관리: 컀널은 파일 및.. 2023. 12. 21.
6 CPU - Register (λ ˆμ§€μŠ€ν„°) μ»΄ν“¨ν„°μ˜ 쀑앙 처리 μž₯치(CPU) λ‚΄μ—μ„œ μ£Όμš” 데이터λ₯Ό μ €μž₯ν•˜κ³  μ²˜λ¦¬ν•˜λŠ” μž‘μ€ κΈ°μ–΅ 곡간인 λ ˆμ§€μŠ€ν„°μ— λŒ€ν•΄ μ•Œμ•„λ³΄λ €κ³  ν•©λ‹ˆλ‹€. λ ˆμ§€μŠ€ν„°λŠ” CPU 내뢀에 μœ„μΉ˜ν•œ 고속 κΈ°μ–΅ μž₯치둜, λͺ…λ Ήμ–΄λ‚˜ 데이터λ₯Ό μΌμ‹œμ μœΌλ‘œ μ €μž₯ν•˜κ³  μ²˜λ¦¬ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€. 이 μž‘μ€ κΈ°μ–΅ 곡간은 CPUκ°€ λΉ λ₯΄κ²Œ 데이터에 μ ‘κ·Όν•˜κ³  μ‘°μž‘ν•  수 있게 λ•μŠ΅λ‹ˆλ‹€. λ ˆμ§€μŠ€ν„°λŠ” λ‹€λ₯Έ μ£ΌκΈ°μ–΅μž₯μΉ˜μ— λΉ„ν•΄ λΉ λ₯Έ μ†λ„λ‘œ 데이터에 μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” CPUκ°€ 연산을 λΉ λ₯΄κ²Œ μ²˜λ¦¬ν•˜κ³  ν”„λ‘œκ·Έλž¨μ˜ μ‹€ν–‰ 속도λ₯Ό ν–₯μƒμ‹œν‚¬ 수 μžˆλŠ” μ€‘μš”ν•œ νŠΉμ§•μž…λ‹ˆλ‹€. λ ˆμ§€μŠ€ν„°μ˜ μ’…λ₯˜ λ ˆμ§€μŠ€ν„°λŠ” λ‹€μ–‘ν•œ μ’…λ₯˜κ°€ 있으며, 주둜 데이터λ₯Ό μ €μž₯ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€. λ˜ν•œ λͺ…λ Ήμ–΄λ₯Ό ν•΄μ„ν•˜κ³  μ‹€ν–‰ν•˜λŠ” 데 ν•„μš”ν•œ μž„μ‹œ 데이터λ₯Ό μ €μž₯ν•˜λŠ” λ ˆμ§€μŠ€ν„°μ™€, μ£Όμ†Œλ₯Ό κ΄€λ¦¬ν•˜λŠ” λ ˆμ§€μŠ€ν„° 등이 μžˆμŠ΅λ‹ˆλ‹€. 1... 2023. 12. 21.