컴퓨터 구조 및 운영체제에 대한 강의를 보며 이해가 잘 안 되거나 중요하다 생각되는 부분을 따로 정리해 보았다.
자료의 전반적인 내용은 세부적이기보다 큰 틀의 개념적인 부분만 정리했다고 보면 될 거 같다.
강의 출처
https://www.youtube.com/watch?v=LBqJwmFMQHI
1. 컴퓨터 구조
컴퓨터가 이해하는 정보
1) 데이터 : 숫자, 문자, 이미지, 동영상과 같은 정적인 정보
2) 명령어 : 명령어를 처리하는 기계, 컴퓨터를 움직이는 정보
컴퓨터의 핵심 부품
1) CPU(중앙처리장치) : 메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행하는 부품
- ALU(산술논리연산장치) : 계산 처리
- 레지스터 : CPU 내부의 작은 저장장치로 여러 개 존재
- 제어장치 : 제어 신호를 내보내고 명령어를 해석하는 장치
2) 메모리
- 주기억장치 : RAM, ROM
- 보조기억장치
- 입출력장치 : 키보드, 마우스, 프린터
CPU 내 제어장치는 메모리에 담겨 있는 정보를 제어신호를 통해서 읽어온다. 그리고 읽어온 메모리 내 데이터 정보를
레지스터에 저장한다. 메모리에서 가져온 데이터는 명령어일 수도 있고 데이터일 수도 있는데 명령어일 경우 이 명령어에
따라 계산을 처리할 수 있다. 이때 계산은 ALU에 따라 이루어진다. 마지막으로 제어신호에 따라 처리된 연산 결과를
제어 신호에 따라 메모리에 저장하는 것이 가능하다.
보조기억장치와 RAM의 차이점?
RAM(주기억장치)은 보조기억장치에 비해 비싸고 전원이 꺼지면 내용을 읽는다.
즉, 보조기억장치의 전원이 꺼져도 데이터를 저장할 수 있고 용량이 크고 가격이 비교적 싸서 효율성이 좋다.
위와 같은 컴퓨터 내부 장치들을 연결시켜 줄 수 있는 것에는 대표적으로 두 가지가 있다.
1) 메인보드
2) 시스템 버스(System bus) : 핵심 부품을 연결
위 장치들은 시스템 버스를 통해 정보를 주고받는다. 시스템 버스의 내부 구성은 3가지가 있으며 다음과 같다.
시스템 버스의 내부 구성
1) 주소 버스 : 데이터의 전송을 위한 주소 전달 (단방향)
2) 데이터 버스 : 데이터 전달 통로 (양방향)
3) 제어 버스 : 주소 버스와 데이터 버스를 제어 (양방향)
(제어신호를 통해 저장할 주소에 저장할 데이터를 입력)
2. 운영체제
운영체제란? 우리가 흔히 알고 있는 윈도, 맥, 리눅스와 같은 것이다.
컴퓨터 프로그램이 실행되기 위해서는 마땅히 필요한 자원(Resource)이 있는데 운영체제는 이러한 자원을 관리한다.
또한 운영체제는 메모리에 저장되어 있으며 커널 영역과 사용자 영역으로 분리되어 있다.
커널 영역에는 운영체제가, 사용자 영역에는 인터넷 브라우저, 워드 프로세서와 같은 응용 프로그램이 있다.
운영체제의 기능
1) 자원 관리하는 특별 프로그램
2) 실행 중인 프로그램(프로세스) 관리
사용자 영역에 프로그램을 적재하는 것은 누구일까?
사용자가 어떠한 프로그램을 저장하려고 하면 저장되기 전에 운영체제가 먼저 프로그램의 저장 위치를 지정한다.
그 후 저장된 위치에서 실행되고 종료된 프로그램은 운영체제가 메모리 상에서 지워줌으로써 인해 메모리 관리가 된다.
그런데 만약 물리적인 메모리 크기(정해진 메모리 크기) 보다 프로그램의 용량이 더 크다면 적재할 수 없을까?
물론 이것도 운영체제 덕분에 가능하다. 다만 이 부분에 대해서는 페이징과 스와핑 기법을 자세히 알아야 한다.
이러한 기능 외에도 운영체제를 통해 프로세스의 실행 순서 관리(CPU 스케줄링), 자원 접근 보호 등 여러 기능을 얻을 수 있다.
Reference
- https://ko.wikipedia.org/wiki/%EC%A4%91%EC%95%99_%EC%B2%98%EB%A6%AC_%EC%9E%A5%EC%B9%98
- https://github.com/gyoogle/tech-interview-for-developer/blob/master/Computer%20Science/Computer%20Architecture/%EC%BB%B4%ED%93%A8%ED%84%B0%EC%9D%98%20%EA%B5%AC%EC%84%B1.md
'study > cs' 카테고리의 다른 글
[운영체제] 시스템 호출(System Call) (0) | 2024.10.30 |
---|
댓글