Study/혼자 공부하는 컴퓨터구조+운영체제 정리 13

데스크탑 삐삐삐삐 소리와 무한부팅 될때 왕초보도 시도해볼만한 해결법

무한 부팅으로 고장난 줄 알았던 데스크탑을 다시 살려보았다. 데스크탑 나이도 많아서 새로 사야하나 했는데, 생각보다 쉽게 해결되었다. 행복한 마음에 나와 같은 어려움에 처해있는 사람들이 있을 것 같아 글을 쓴다. 이 방법을 시도해보고 돈과 시간을 아껴보자. 해결이 된 이후에 글을 쓰는거라 컴퓨터가 고장났던 영상은 찍지 못했지만 다음과 같은 증상이였다. 증상: 컴퓨터 전원버튼을 누르면 컴퓨터가 켜질때 들리는 '삐' 소리가 한번 들리고 모니터가 켜져야하는데, 비프음이 계속 '삐''삐''삐''삐''삐' 들리면서 모니터가 켜지는 과정으로 넘어가지 않고 혼자서 계속 꺼졌다 켜졌다 반복하며 무한부팅 됨. 해결 : RAM을 한번 뺐다가 다시 끼움 컴퓨터를 한번도 열어보지 않은사람도 겁먹지 말고 아래와 같이 시도해보자..

(혼공컴운) 혼공학습단을 마치며...

개발 관련 전공을 했고 개발 일을 하고있지만, 운영체제를 제대로 배운 적이 없는 나는 이 책을 알기 전 CS 기술 면접등에서 운영체제에 대한 지식에 어려움을 많이 느꼈었다. 기술면접 키워드를 검색으로 배우더라도 그때그때 어찌저찌 대답만 할 수 있을 정도로 얕은 지식만 늘어갈 뿐, 전체적인 컴퓨터 구조와 운영체제를 알 수 있는 기반과 뼈대가 부족했던 것 같다. 그러나 저번 겨울, 취업 스터디를 통해 기술면접에 대한 인사이트가 많은 스터디원분이 정말 감사하게도 이 책을 처음 알려주셨다. 이 책을 통해서라면 쉽게 입문할 수 있고 그림도 많이 있어 이해가 쏙쏙 바로바로 된다고 하셔서 바로 이 책을 구매했고, 그 말처럼 정말 이해가 바로바로 되고 운영체제와 컴퓨터 구조에 대해 내가 부족했던 갈증을 말끔히 해결시켜..

14. 가상메모리

14-1) 연속 메모리 할당 프로세스에 연속적으로 메모리 공간을 할당하는 방식 - 연속 메모리 할당 방식 연속적으로 메모리를 할당 할 때, 어떤 문제가 발생하는가? 1) 스와핑 스와핑: 현재 실행되지 않는 프로세스를 임시로 보조기억 장치 일부로 쫓아내고 그렇게 생긴 빈 공간에 또 다른 프로세스를 적재하여 실행하는 방식 프로세스들이 쫓겨나는 보조기억장치의 일부 영역 = 스왑영역 현재 실행되지 않는 프로세스가 메모리에서 스왑영역으로 옮겨지는 것 = 스왑아웃 스왑영역에 있던 프로세스가 다시 메모리로 옮겨오는 것 = 스왑 인 스와핑을 통해 프로세스들이 요구하는 메모리 주소 공간의 크기가 실제 메모리보다 큰 경우에도 프로세스 동시 실행 가능 2) 메모리 할당 최초 적합 - 운영체제가 메모리 내의 빈 공간을 순서대..

13장. 교착상태

여러 프로세스는 각자가 필요한 자원을 할당받아 실행되는데, 이 과정에서 무한히 자원을 할당 받지 못하고 기다리다가 정지해버리는 교착상태가 발생할 수 있다. 13-1. 교착상태란 1) 식사하는 철학자 문제 원형 식탁에 앉아있는 철학자들의 앞에는 포크 두개로 먹을 수 있는 각자의 음식이 있고 각자 오른쪽에 포크 하나가 있을 때, 두개의 포크를 들기 전까지 철학자는 생각하는 시간을 가지며 기다려야 한다면 모든 철학자가 동시에 포크를 들어 식사를 할 때 어떤 철학자도 식사를 할 수 없는 상황 이렇게 일어나지 않을 사건을 기다리며 진행이 멈추는 현상을 교착상태(DeadLock)이라고 한다. 식사하는 철학자 문제에서 철학자 =프로세스 or 스레드 포크 = 자원, 임계구역 생각하는 행위 = 자원을 기다리는 것 으로 ..

12장 프로세스 동기화

12-1. 동기화란 동시다발적으로 실행되는 프로세스들은 서로 협력하며 영향을 주고받는다. 이때 실행 순서와 자원의 일관성을 보장해야하는데, 이 과정을 동기화라고 한다. 1) 동기화의 의미 협력적으로 동시에 실행되는 프로세스와 스레드는 올바른 실행을 위해 동기화가 필수적이다. 프로세스 동기화란 프로세스들 사이 수행 시기를 맞추는 것. 동기화 종류 (1) 실행순서 제어: 프로세스를 올바른 순서로 실행하기 (2) 상호 배제: 동시에 접근해서는 안되는 자원에 하나의 프로세스만 접근하게 하기 1_실행 순서 제어를 위한 동기화 : 동시에 실행되는 프로세스를 올바른 순서대로 실행하는 것. ex) 빈 종이에 쓴 다음에 읽을 수 있는 것 처럼 write 값이 있을 때 read수행 2_상호 배제를 위한 동기화 : 공유 불..

11. CPU스케쥴링

11-1) CPU스케쥴링 개요 CPU 스케쥴링 : 운영체제가 프로세스들에게 공정하고 합리적으로 CPU자원을 배분하는 것 1) 프로세스 우선순위 프로세스 우선순위에 따라 각각의 상황에 맞게 CPU를 배분한다. 프로세스마다 PCB에 우선순위를 부여하여 CPU가 먼저 처리할 프로세스를 결정함. 2) 스케쥴링 큐 운영체제는 메모리로 적재되고 싶은 프로세스들을 줄세우고, 이 줄을 스케쥴링 큐라고 한다. 운영체제가 관리하는 줄, 즉 큐에는 준비 큐(CPU를 이용하고 싶은 프로세스들이 서는 줄), 대기 큐(입출력장치를 이용하기 위해 대기상태에 접어든 프로세스들이 서는 줄)가 있음. 운영체제는 PCB들이 큐에 삽입된 순서대로 프로세스를 하나씩 꺼내 실행하되, 그 중 우선순위가 높은것을 먼저 실행한다. 3) 선점형과 비..

10장. 프로세스와 스레드

10-1) 프로세스 개요 프로세스란 실행중인 프로그램. 더 자세히 말하면 보조기억 장치에 저장된 프로그램을 메모리에 적재하고 실행하는 순간 그 프로그램은 프로세스가 된다!!! 1) 프로세스 확인하기 컴퓨터에서 작업관리자를 보면 현재 실행중인 프로그램들을 볼 수 있는데, 이를 프로세스라 한다. 프로세스에는 사용자가 보는 앞에서 실행되는 포그라운드 프로세스와 사용자가 보지 못하는 뒤편에서 실행되는 백그라운드 프로세스가 있다. 2) 프로세스 제어 블록 (PCB) 운영체제는 빠르게 번갈아가며 실행되는 프로세스들의 순서를 관리하고 자원을 배분하기 위해 프로세스 제어블록(Process Control Block)을 사용한다. 이는 옷에 달린 태그와 같이 프로세스와 관련된 정보를 저장하는 자료구조이며 프로세스 제어블록..

9장. 운영체제 시작하기

9-1) 운영체제를 알아야 하는 이유 1) 운영체제란 운영체제 : 실행할 프로그램에 필요한 자원을 할당하고 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램 운영체제는 특별한 프로그램이기 때문에 특별한 메모리 영역인 커널영역에 따로 보관되고, 응용 프로그램이 적재되는 영역은 사용자 영역이라고 한다. 운영체제는 실행할 프로그램을 메모리에 적재하고 더이상 실행되지 않는 프로그램을 메모리에서 삭제하며 지속적으로 메모리자원을 관리하며 최대한 공정하게 여러 프로그램에 CPU자원을 할당하고 응용 프로그램이 올바르게 실행되도록 관리하는 역할을 맡는다. 2) 운영체제를 알아야하는 이유 우리가 만든 프로그램은 결국 하드웨어에서 실행되고 그 하드웨어를 조작하는 프로그램이 운영체제 운영체제를 잘 알면 프로그램 개발을 할 ..

7장. 보조 기억 장치

7-1) 다양한 보조기억장치 하드 디스크 하드 디스크는 자기적 방식으로 데이터를 저장하는 보조기억장치 자기디스크의 일종. 플레터에 실질적으로 데이터가 저장되고, 플레터를 회전시키는 스핀들이 분당 RPM을 가지고 돌아가며 데이터를 읽고 쓴다. 플래터를 대상으로 읽고 쓰는 부품은 헤드라고 부르며, 디스크 암에 부착되어 원하는 위치의 데이터를 읽고 씀 플레터는 하나의 원을 트랙이라고 하며 그것을 나눈 것을 섹터라고 하여 플래터는 트랙과 섹터로 나뉘고 같은 트랙이 모여 실린더를 이룸 하드 디스크가 데이터에 접근하는 시간은 데이터가 저장된 트랙까지 헤드를 이동시키는 탐색 시간, 헤드가 있는 곳으로 플래터를 회전시키는 회전 지연, 하드 디스크와 컴퓨터 간에 데이터를 전송하는 전송시간으로 나뉜다. 탐색시간을 줄이기 ..

6장. 메모리와 캐시 메모리

6-1) RAM의 특징과 종류 '메모리'라는 용어로 지칭하는 RAM이란 무엇인가? - RAM에는 실행할 프로그램의 데이터와 명령어가 저장 됨 - RAM은 전원을 끄면 저장된 내용이 날아가는 휘발성 저장장치 보조기억장치는 전원을 꺼도 내용이 남아있는 비 휘발성 저장장치 CPU는 휘발성 저장장치에 접근하여 프로그램을 실행한다. 그리하여 일반적으로 휘발성 저장장치에는 실행할 대상을 저장하고, 비 휘발성 저장장치에는 보관할 대상을 저장한다. 그렇다면, RAM의 용량은 컴퓨터 성능에 어떤 영향을 미칠까? - RAM용량이 크면 많은 프로그램을 동시에 빠르게 실행하는데에 유리함 보조기억장치까지 가는 시간을 줄여주기 때문. 하지만 RAM용량이 어느정도만 커도 된다. 무지막지하게 커도 처리 속도가 따라가지 못하면 속도는..