์ ์ฒด ๊ธ214 [6์ฃผ์ฐจ] Virtual Memory: Paging system Virtual Memory: Paging system Paging System โ ํ๋ก๊ทธ๋จ์ ๊ฐ์ ํฌ๊ธฐ์ ๋ธ๋ก์ผ๋ก ๋ถํ (Pages) โ Terminologies Page: ํ๋ก๊ทธ๋จ์ ๋ถํ ๋ block Page frame: ๋ฉ๋ชจ๋ฆฌ์ ๋ถํ ์์ญ(Page์ ๊ฐ์ ํฌ๊ธฐ๋ก ๋ถํ ) ํน์ง โ ๋ ผ๋ฆฌ์ ๋ถํ ์ด ์๋(ํฌ๊ธฐ์ ๋ฐ๋ฅธ ๋ถํ ) Page ๊ณต์ (sharing) ๋ฐ ๋ณดํธ(protection) ๊ณผ์ ์ด ๋น๊ต์ ๋ณต์ก โ Simple and Efficient Segmentation ๋๋น โ No external fragmentation Internal fragmentation ๋ฐ์ ๊ฐ๋ฅ Address Mapping โ Virtual address: v = (p, d) p: page number d: displacement(o.. 2023. 1. 11. ๋น ์๋ช ์ฃผ๊ธฐ ์ฝ๋ฐฑ ๋น ์๋ช ์ฃผ๊ธฐ ์ฝ๋ฐฑ 1. ๋น ์๋ช ์ฃผ๊ธฐ ์ฝ๋ฐฑ ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ปค๋ฅ์ ํ, ๋คํธ์ํฌ ์์ผ ๋ฑ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์์ ์ ํ์ํ ์ฐ๊ฒฐ์ ๋ฏธ๋ฆฌ ํด๋๊ณ , ์ข ๋ฃ ์์ ์ ์ฐ๊ฒฐ์ ๋ชจ๋ ์ข ๋ฃํ๋ ์์ ์ ์งํํ๋ ค๋ฉด ๊ฐ์ฒด์ ์ด๊ธฐํ์ ์ข ๋ฃ ์์ ์ด ํ์ํ๋ค ์์ ์ฝ๋ // NetworkClient.java public class NetworkClient { private String url; public NetworkClient() { System.out.println("์์ฑ์ ํธ์ถ, url = " + url); connect(); call("์ด๊ธฐํ ์ฐ๊ฒฐ ๋ฉ์์ง"); } public void setUrl(String url) { this.url = url; } // ์๋น์ค ์์์ ํธ์ถ public void connect() { .. 2023. 1. 10. ์์กด๊ด๊ณ ์๋ ์ฃผ์ ์์กด๊ด๊ณ ์๋ ์ฃผ์ 1. ๋ค์ํ ์์กด๊ด๊ณ ์ฃผ์ ๋ฐฉ๋ฒ ์์ฑ์ ์ฃผ์ (constructor) โ ์์ ์ ์ฃผ์ (setter) ํ๋ ์ฃผ์ ์ผ๋ฐ ๋ฉ์๋ ์ฃผ์ 1. ์์ฑ์ ์ฃผ์ ์์ฑ์ ํธ์ถ ์์ ์ ๋ฑ 1๋ฒ๋ง ํธ์ถ๋๋ ๊ฒ ๋ณด์ฅ โ ๋ถ๋ณ, ํ์ ์์กด๊ด๊ณ์ ์ฌ์ฉ // OrderServiceImpl.java @Component public class OrderServiceImpl implements OrderService{ // final -> ๋ฐ๋์ ๊ฐ์ ํ ๋นํด์ค์ผํ๋ค.(ํ์, ๋ถ๋ณ) private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowired // ์์ฑ์๊ฐ ํ ๊ฐ๋ง ์์ ๊ฒฝ์ฐ ์๋ตํด๋ ๋๋ค. p.. 2023. 1. 9. [6์ฃผ์ฐจ] Virtual Memory: Non-continuous allocation Virtual Memory: Non-continuous allocation Virtual Storage(Memory) โ Non-continuous allocation โ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ ๊ฐ์ block์ผ๋ก ๋ถํ โ ์คํ ์, ํ์ํ block๋ค๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ ๋๋จธ์ง block๋ค์ swap device์ ์กด์ฌ โ ๊ธฐ๋ฒ paging system segmentation system Hybrid paging/segmentation system Address mapping Continuous allocation โ Relative address (์๋ ์ฃผ์) ํ๋ก๊ทธ๋จ์ ์์ ์ฃผ์๋ฅผ 0์ผ๋ก ๊ฐ์ ํ ์ฃผ์ โ Reloacation (์ฌ๋ฐฐ์น) ๋ฉ๋ชจ๋ฆฌ ํ ๋น ํ, ํ ๋น๋ ์ฃผ์(allocation address)์.. 2023. 1. 8. ComponentScan ์ปดํฌ๋ํธ ์ค์บ ์ปดํฌ๋ํธ ์ค์บ & ์์กด๊ด๊ณ ์๋์ฃผ์ ๋งค๋ฒ @Bean์ด๋ XML ํ์ผ๋ก ์คํ๋ง ๋น์ ์ง์ ๋ฑ๋กํด์ฃผ๋ฉด ๋งค์ฐ ๋ฒ๊ฑฐ๋ก์ โ ์ปดํฌ๋ํธ ์ค์บ: ์ค์ ์ ๋ณด๊ฐ ์์ด๋ ์๋์ผ๋ก ์คํ๋ง๋น์ ๋ฑ๋กํด์ฃผ๋ ๊ธฐ๋ฅ โ ์์กด ๊ด๊ณ ์๋ ์ฃผ์ : @Autowired package hello.core; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.FilterType; @Configuration @ComponentScan( excludeFilters = @ComponentS.. 2023. 1. 7. Singleton Container Singleton Container ์น ์ ํ๋ฆฌ์ผ์ด์ & ์ฑ๊ธํค ์ผ๋ฐ์ ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ๋ฌ ๊ณ ๊ฐ์ด ๋์์ ์์ฒญ์ ํ๋ค! ์คํ๋ง ์๋ ์์ํ DI์ปจํ ์ด๋ public class SingletonTest { @Test @DisplayName("์คํ๋ง ์๋ ์์ํ DI์ปจํ ์ด๋") void pureContainer() { AppConfig appConfig = new AppConfig(); // 1. ์กฐํ: ํธ์ถ ํ ๋๋ง๋ค ๊ฐ์ฒด ์์ฑ MemberService memberService1 = appConfig.memberService(); // 2. ์กฐํ: ํธ์ถ ํ ๋๋ง๋ค ๊ฐ์ฒด ์์ฑ MemberService memberService2 = appConfig.memberService(); // ์ฐธ์กฐ๊ฐ์ด ๋ค๋ฅด๋ค //.. 2023. 1. 6. ์ด์ 1 ยทยทยท 8 9 10 11 12 13 14 ยทยทยท 36 ๋ค์