Operating System
-
프로세스와 스레드를 아라보자Operating System 2023. 12. 20. 05:23
프로세스란? 컴퓨터에서 실행 중인 프로그램을 프로세스라고 합니다. 실행 파일이 메모리에 적재될 때, 프로그램이 프로세스로 바뀝니다. 3-1. 프로세스의 특징을 설명하시오 프로세스는 각각 독립된 메모리 영역(Stack, Heap, Data, Code)을 할당받는다. 프로세스당 최소 1개의 스레드를 가지고 있다. 각 프로세스는 별도의 주소 공간에서 실행되며, 다른 프로세스의 변수나 자료구조에 접근할 수 없다. 만약 접근하기 위해서는 IPC를 사용해야 한다. ※ Process State 프로세스는 진행되면서 그 상태가 변한다. new: 프로세스가 생성 중이다 ready: 프로세스가 프로세서에 할당되기를 기다리고 있는 상태. 프로세스는 ready 큐에서 실행을 준비하고 있다. running: ready 큐에 있..
-
페이징을 아라보자Operating System 2023. 12. 2. 03:23
1. 페이징(Paging) 외부 단편화로 인한 메모리 낭비는 매우 심하다. Compaction을 사용하면 외부 단편화는 해결할 수 있지만, 그로 인해 발생하는 오버헤드와 비효율적인 성능으로 사용하기는 어렵다. 그 이후에 연구를 통해 나온 것이 페이징이다. 페이징은 hole을 가지고 해결하려 한 것이 아니라 프로세스를 작은 크기로 나눠서 외부 단편화를 해결하려고 하였다. 페이징은 프로세스를 일정한 작은 크기로 나누는데, 프로세스뿐아니라 hole도 같은 크기로 나눈다. 이러한 작은 조각들의 크기를 맞춰서 메모리에 할당한다. 하지만, 하나의 프로세스는 연속적인 동작을 수행하는데 이를 작은 조각으로 나누어서 여기저기 흩어진다면 프로세스가 정상적으로 동작할까? 메모리상에 여러 곳에 흩어진 프로세스를 수행하기 위해..
-
부동소수점을 아라보자Operating System 2023. 11. 29. 23:25
컴퓨터에서 숫자를 표현하는 방법은? 사람은 10진법으로 숫자를 표현하지만, 컴퓨터는 2진법으로 숫자를 표현한다. 즉, 1, 0으로 모든 것을 받아 들인다. 왜냐하면 컴퓨터는 전기 신호로 모든 데이터를 처리한다. 전기 신호가 on이면 1으로, 전기 신호가 off이면 0으로 표현한다. 소수점은 어떻게 표현할까? 10진법의 숫자를 2진법으로 표현할 때 가장 문제가 되는 부분이 실수이다. 실수, 즉 0.1, 2.1과 같은 소수점을 2진법으로 정확하게 나타낼 수가 없다. 263 => 100000111 0.3 => 0.01001100110011........ (무한 반복....) 즉, 2진수로 표현하지 못하는 소수는 가장 근사치의 값으로 저장이 된다. 소수점을 저장하기 위한 방법 고정 소수점 정수를 표현하는 비트 ..