본문 바로가기

CS14

[OS] CPU 가상화 메커니즘 (Limited Direct Execution) - 1부 이전 글 https://codingmon.tistory.com/37 [OS] Processes: Process, Process States, Process API Program 소스프로그램에서 컴파일에서 얻은 실행 파일을 말하고, 이것은 HDD, SDD 저장장치에 저장됩니다. 저장장치에 저장되어있던 프로그램이 실행되려면 메인 메모리로 loading되어야합니다. 어째 codingmon.tistory.com 오늘 다룰 주제는 CPU의 가상화입니다. 운영체제는 여러 프로세스들이 동시에 실행되는 것처럼 보이도록 하기 위해 물리적인 CPU를 공유하도록 지원합니다. 바로 Time Sharing(시분할) 방법을 통해서 말이죠. Time sharing이란 간단하게 말해서 일정 시간 동안 어떤 프로세스한테 CPU를 사용.. 2023. 10. 31.
[OS] OS Overview (CPU가상화, 메모리 가상화, Concurrency, Persistence) Virtualizing CPU 오늘날 하나의 컴퓨터에서 돌아가는 프로그램은 매우 많습니다. 지금 당장 이 글을 쓰면서 제 노트북에는 Xcode, Chrome, Notion, Discord, 카카오톡 등등 정말 수 많은 프로그램들이 실행되고 있습니다. 하지만 이런 프로세스들을 실행시킬 CPU는 물리적으로 하나입니다. 정말 좋은 컴퓨터들이 많으면 CPU가 1,2개 더 있을 수 있지만 보통 1개입니다. 보통 물리적인 CPU는 한개지만, 멀티 코어라는 개념을 통해서 멀티스레딩의 효용을 우리는 겪고 있습니다. 그럼에도 오늘날 우리가 실행하고 있는 프로그램들에 비해 CPU의 개수가 부족한 것은 사실입니다. 이것이 "CPU의 가상화"를 하게된 계기입니다. 마치 CPU가 여러개 있어서 여러개 프로그램들이 동시에 실행되.. 2023. 10. 23.
Arithmetic instructions Arithmetic instructions 위로 갈수록 사람에게 친화적, 아래로 갈 수록 기계에게 친화적. 한줄당 instruction 하나. 메모리에 저장되어있음. 컴퓨터구조의 큰그림 컴퓨터의 4가지 핵심 부품 CPU (Central Processing Unit) Main Memory (주기억장치, 이하 메모리) Secondary Storage (HDD, SSD 등) Input/Output IO Device (입출력장치) 아직 추가되어야할 게 더 있지만 대략적으로 그린다면 왼쪽과 같은 느낌. (혼공컴운 책 참조) 시스템 버스는 컴퓨터의 4가지 핵심 부품이 서로 정보를 주고받는 통로입니다. 주소 버스 데이터 버스 제어 버스 processor는 CPU의 다른말. 운체에서의 프로세스와 혼용X ! 프로세서(C.. 2023. 9. 5.
LinkedList 정리 (Single, Double, Circular) Linked List List의 종류 배열(Array) 기반 연결(Link) 기반 배열 기반 리스트 장점 특정 위치의 데이터 조회가 빠르다 단점 데이터의 추가, 삭제 비용이 크다 (다 뒤로 밀거나 앞으로 당기거나..) 크기가 고정되어 있다. 맨 앞에도 쉽게 넣고 싶고, 맨 뒤에도 쉽게 넣고 싶은데..? 그럴 때 사용할 수 있는게 연결 기반 (linked) 리스트 ! 연결 기반 리스트의 종류 단방향 연결 리스트 (Linked List라고 하면 기본으로 이것) 양방향 연결 리스트 (Double Linked List) Circular Linked List (원형 혹은 순환 연결 리스트) Circular single Circular Double 연결 기반 리스트 Node Node는 데이터(Item)과 포인터(P.. 2023. 8. 9.