본문 바로가기

728x90
반응형

한권떼기/운영체제(Operating System Concepts)

(7)
[한권떼기] 운영체제 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. 프로세서가 다음에 수행할 명령어로 이동 운영체제는 위과 같은 프로그램 동작, 프로그램간의 메모리 공유, 디바이스 간의 상호작용 등을 가능하게 하여, -> ..

728x90
반응형