๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ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.