본문 바로가기

728x90
반응형

한권떼기

(14)
[한권떼기] 운영체제 06번째. Address Space와 Segmentation, Paging **본 글의 일부분은 서적 'Operating Systems: Three Easy Pieces by Remzi H.Arpaci-Dusseau, Andrea C.Arpaci-Dusseau', 'Operation System Concepts Abraham Silberschatz 외 2' 내의 이미지와 내용을 포함하고 있습니다 Address Space Memory virtualization 물리적인 메모리는 한개이지만, 마치 프로세스들이 각자 하나씩 들고 있는 것처럼 함 여러 개의 프로세스를 구동하기 위해서는 프로세스에 대한 데이터가 Physical Memory에 올라가 있어야 함 따라서 프로세스 하나하나에 physical memory를 추상화한 모습을 가진 address space를 부여하고, address..
[한권떼기] 운영체제 08번째. Thread와 Lock, Semaphore **본 글의 일부분은 서적 'Operating Systems: Three Easy Pieces by Remzi H.Arpaci-Dusseau, Andrea C.Arpaci-Dusseau', 'Operation System Concepts Abraham Silberschatz 외 2' 내의 이미지와 내용을 포함하고 있습니다 Thread CPU utilization의 기본 단위이며, 하나의 프로세스가 여러 개의 쓰레드를 가질 수 있음 100개의 요청이 들어온다고 가정할 때, 프로세스가 하나만 있다면 1개의 요청을 처리하기 위해서 99개의 요청이 대기해야 함 이를 해결하기 위해서 100개의 프로세스를 만들 수 있다면 좋겟지만, 메모리 공간이 많이 필요하고 프로세스 생성에 걸리는 시간때문에 비효율적임 따라서 c..
[한권떼기] 운영체제 08번째. 메모리 스와핑과 페이지 교체 알고리즘 **본 글의 일부분은 서적 'Operating Systems: Three Easy Pieces by Remzi H.Arpaci-Dusseau, Andrea C.Arpaci-Dusseau', 'Operation System Concepts Abraham Silberschatz 외 2' 내의 이미지와 내용을 포함하고 있습니다 Swapping 매커니즘 우리가 사용하는 메모리는 Mass Storage(HDD, SDD..) -> Main Memory -> Cache(CPU내에 존재) -> Registers 순으로 크기가 작고, 속도가 빠름 따라서 Main Memory(physical memory)에 모든 페이지를 다 넣을 수 없기 때문에 페이지 중 일부는 memory에서 삭제되어 disk에서 조회해야 함 Page..
[한권떼기] 운영체제 05번째. 멀티프로세서 스케쥴링 **본 글의 일부분은 서적 'Operating Systems: Three Easy Pieces by Remzi H.Arpaci-Dusseau, Andrea C.Arpaci-Dusseau', 'Operation System Concepts Abraham Silberschatz 외 2' 내의 이미지와 내용을 포함하고 있습니다 멀티프로세서 스케쥴링 멀티코어란 하나의 칩에 여러 개의 CPU(=프로세서)가 있는 것 단순히 멀티코어를 사용했다고 해서 성능이 향상되지는 않으며, 프로그램단에서 쓰레드를 이용해 병렬처리를 해야 성능이 좋아짐 캐시의 통일성(coherence) 문제 멀티코어 환경에서 캐시 불일치 문제가 아래와 같이 생길 수 있음 CPU0이 메모리에서 A를 읽어 캐시에 저장 -> 메모리에서 A가 A'로 바뀜..
[한권떼기] 운영체제 04번째. CPU 스케쥴링 **본 글의 일부분은 서적 'Operating Systems: Three Easy Pieces by Remzi H.Arpaci-Dusseau, Andrea C.Arpaci-Dusseau', 'Operation System Concepts Abraham Silberschatz 외 2' 내의 이미지와 내용을 포함하고 있습니다 CPU 스케쥴링 CPU 스케쥴링은 실행하고자 대기하고 있는 프로세스들 중에서 어떤 프로세스에게 CPU 자원을 줘서 실행시킬지 정하는 것 프로세스는 항상 CPU만 사용하는 것이 아니라 I/O 작업도 같이 함 (ex. 계산기는 CPU를 한번 가져오면 오래 쓰지만, 에디터는 CPU를 쓰는 시간이 짧고 빈도가 높음) 프로세스가 자발적으로 I/O를 호출하거나, 종료될 때 (non-preempti..
[한권떼기] 운영체제 02번째. 프로세스와 프로세스 API **본 글의 일부분은 서적 'Operating Systems: Three Easy Pieces by Remzi H.Arpaci-Dusseau, Andrea C.Arpaci-Dusseau', 'Operation System Concepts Abraham Silberschatz 외 2' 내의 이미지와 내용을 포함하고 있습니다. 프로세스 메모리 공간을 가지고 실행중인 프로그램을 의미 ( 프로그램: 디스크 저장 공간에 저장된 데이터) 프로세스는 다음의 자원이 필요 1. 메모리(address space): 코드 데이터 (전역변수 ..) 스택 (지역변수, 함수 매개변수, 리턴 주소.. ) 힙 (동작으로 필요한 공간을 할당할 곳, malloc()... ) 2. 레지스터: PC카운터, 스택포인터 프로세스의 동작 순서 ..
[한권떼기] 운영체제 01번째. 인트로 **본 글의 일부분은 서적 'Operating Systems: Three Easy Pieces by Remzi H.Arpaci-Dusseau, Andrea C.Arpaci-Dusseau', 'Operation System Concepts Abraham Silberschatz 외 2' 내의 이미지와 내용을 포함하고 있습니다 운영체제 프로그램의 동작 방식 1. fetch: 프로세스가 메모리로부터 instruction을 가져옴 2. decode: 가져온 instruction이 뭔지 분석함 3. execute: instruction에 해당하는 명령 수행 4. 프로세서가 다음에 수행할 명령어로 이동 운영체제는 위과 같은 프로그램 동작, 프로그램간의 메모리 공유, 디바이스 간의 상호작용 등을 가능하게 하여, -> ..
[한권떼기] 자바의정석 챕터12. 제네릭스, 열거형, 어노테이션 **자바의 정석(남궁성 저)를 읽고 정리한 글입니다. 제네릭스 제네릭스는 다양한 타입의 객체들을 다루는 메소드나 클래스에 컴파일 시 타입 체크를 해주는 기능 장점 의도하지 않는 타입이 저장되고, 꺼내지는 것을 방지하여 항변환 오류가 줄어듦 -> 타입 안정성 제공 타입체크와 형변환을 생략할 수 있어 코드가 간결해짐 제네릭 타입 제네릭 타입은 , , 등으로 사용되며 클래스와 메소드에 선언할 수 있음 , ... 등 모두 기호의 종류만 다른 것이며, T, K 각각은 임의의 참조형 타입을 의미함 제네릭의 용어 class Hello {} 를 예시로 들면 Hello는 제네릭 클래스, T는 타입 변수, Hello는 원시 타입임 Box b = new Box에서 가 이 되면서 String이 대입된 타입이 되었음 와일드카드..
[한권떼기] 자바의정석 챕터11. 컬렉션 프레임워크 **자바의 정석(남궁성 저)를 읽고 정리한 글입니다. 컬렉션 프레임워크 데이터 군을 저장하는 클래스들을 표준화한 설계 Vector, Set과 같이 다수의 데이터를 저장할 수 있는 클래스를 컬렉션 클래스라고 함  컬렉션 프레임워크에서는 List, Set, Map이 있는데 이 때 List와 Set은 Collection 클래스를 상속받았으나 Map은 상속받지 않았음 List: 순서O, 중복O ex. 대기자 명단 -> 구현클래스: ArrayList, LinkedList, Stack, Vector ... Set: 순서X, 중복X ex. 정수집합 -> 구현클래스: HashSet, TreeSet ... Map: 키와 값의 쌍으로 이루어짐. 순서X, 키는 중복X 값은 중복O -> 구현클래스: HashMap, Tree..
[한권떼기] 자바의정석 챕터07. 객체지향프로그래밍 심화개념 **자바의 정석(남궁성 저)를 읽고 정리한 글입니다. 상속이란? 상속은 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것으로, 코드의 재사용성과 유지보수가 쉬워짐 클래스는 상속 관계에 따라서 조상 클래스, 자손 클래스로 나눌 수 있는데, 상속해주는 클래스가 조상클래스, 상속받는 클래스가 자손클래스임 이 때 조상클래스의 생성자와 초기화 블럭은 상속되지 않고, 멤버만 자손클래스에게 상속됨 따라서 자손클래스는 부모에게서 물려받은 멤버+자신의 멤버 의 구성으로 클래스를 사용하게 됨 인스턴스 또한 조상 클래스의 멤버+자손 클래스의 멤버인 하나의 인스턴스가 생성됨 private 또는 default여도 자손 클래스에게 상속될까? 상속됩니다. 정확하게 말하면 상속되지만, 자손 클래스에서 접근할 수 없습니다. 상속..

728x90
반응형