0. 기본 요소 이해하기
컴퓨터 구조에서 가장 핵심이 되는 요소
CPU가 있고 MEMORY, 이 내용들을 저장하는 Disk가 있다.
그리고 이것들을 화면으로 보여주는
- 디스플레이 장치(모니터)
- 입력할 수 있는 장치 입력(키보드)
가 기본 구조다
이런 CPU, Memory, Disk의 동작 원리 이런걸 배우는 것.
CPU 내부에서 무슨 일이 일어나냐? 같은 내용을 배운다
이런 내용을 배우면(물리적인 동작 관련 내용을 배우면)
함께 동작하는 운영체제를 배운다.
Disk의 내용이 Memory로 올라가고, 이 내용이 CPU에서 계산된다.
이렇게 운영시키는 것이 운영체제
window, renux unix같은 것이 있다.
CUP나 메모리, disk만 있다고 해서 실행되는 것이 아니라, 이들은 다 운영체제 위에서 실행이 된다.
프로그램(저장되어 있는 것) => 프로세스(실행되는 것 - 현재 떠있는 프로그램) * 프로세서는 CPU!(동작시키는 애)
여기서 이 프로세스를 운영시켜주는 애들이 운영체제.
1. 기본 설명
프로그램 하나가 뜬다 => 디스크에 있는 파일 일부가 메모리로 올라온다
하지만 큰 파일 전체를 바로 cpu에서 다 계산시킬 수 없다. memory에도 모든 내용을 다 올릴 수도 없음.
disk에 있는 파일을 메모리에 올려서 cpu가 계산을 해서 동작하는 것으로 보여지는데..!
- 이 행위를 할 때 disk에 저장된 모든 파일이 올라가는 것이 아니고 일부만 memory에 올라간다.
- memory에 있는 파일도 모두 cpu에 올라가 계산이 되는 것이 아니라 일부가 cpu의 캐시 메모리로 이동된다(여기서 대기)
- cpu가 여기에 엄청 빠르게 엑세스하면서 계산을 수행한다
여기서 이 Memory는 휘발성 메모리다. => 임시적인 공간이다 (캐시메모리 또한)
Disk는 반영구적인 메모리. 하드디스크. 껐다 켜도 유지된다.
cpu와 메모리, disk 사이에는 버스가 있는데 운영체제는 이 사이사이에서 메모리를 보내주는 등의 동작을 시켜준다
또한 어떤 데이터를 먼저 올릴 것인가, 어떤 데이터를 먼저 내보낼 것인가 를 고민한다
=> 그래야지 성능을 좋게 운영할 수 있기 때문에
2. 개념들
프로세스 / 스레드
프로세스는 실행중인 프로그램, 스레드는 이를 돌리는 것
CPU 스케쥴링
원코어라고 봤을 때(옛날 CPU) 시분할 / 실행 횟수, 이런것들을 스케쥴하는 것
스레드 동기화
프로세스 일부가 memory에 올라간다. 그렇게 되면 스레드라고 해서 이 프로그램을 실행하는 얘들이 있다.
프로그램 내에서 스레드를 또 돌리는 경우가 있다.
그 떄 스레드 A,B가 같은 자원에 접근하려 할 때 문제가 발생한다.
A가 점유하면 B는 기다려야 하고.. 이런 식.
그래서 동기화가 필요하다.
waiting을 하지 않으면 원치 않은 값을 이용해버릴수도 있다.
가상메모리
디스크와 메모리 사이에서 조금 더 중간 역할을 하는 것.
마치 메모리인것처럼 잡아놓는 특별한 구성을 disk상에 만든다.
메모리에 맵핑을 시켜서 필요한 데이터를 미리 가지고 기다리는 것. 대기실 같은 것이라 생각하면 된다.
그래서 버츄얼메모리(가상메모리)를 잡아놓으면 속도가 향상된다
데이터 흐름 개선을 통한 시스템 성능 향상
- 가상기억장치관리기법
- 디스크 스케쥴링
- rpm. 자동차 바퀴처럼 얼마나 빠르게 도냐가 중요했었는데 SSD로 바뀌면서 조금 달라짐
- 하드디스크가 빠르다는 개념과 memory에서 빠르다는 개념이랑 차원이 다르다RAID의 개요저렴한 구간을 찾고 그 디스크를 여러개 모아서 대용량을 제공하려고 한 것
어떻게 구성되었는지에 따라서 방식이 여러 개 있다.스토리지 통합관리디스크는 파일개념으로 저장되다 보니까 계속 차오른다.
스토리 관리가 잘 들어가야 한다.
- IP-SAN
스토리지도 요즘은 클라우드가 대체할 수 있기는 함.
하지만 높은 안정성이나 기밀 보안을 위해서는 스토리지 관리가 필요하다분산처리 시스템과 클러스트링서로 많은 컴퓨터를 연계, 캐시서버같은거FT/HAFT : 장애에 대해 얼마나 견딜 수 있나
HA : 얼마나 높은 성능을 낼 수 있냐ASPsass. 소프트웨어를 서비스처럼 하는것, slack.DRS장애 복구 시스템유틸리티 컴퓨팅쓴만큼 돈을 낸다P2P연결은 제공하지만 파일은 자기 컴퓨터에 저장그리드 컴퓨팅P2P랑 비슷한데 연구나 대규모 분석, 데이터를 돌려볼 때 필요클라우드 컴퓨팅비용 : 초기비용이 굉장히 저렴하다
유틸리티 개념 : 대박빠름
🙇♀️ 강의 출처
(컴퓨터구조 운영체제 클라우드 안쉬고 처음부터 끝까지 30분동안 설명하기. 컴퓨터 구조 처음 공부하실 때 참고하세요.)[https://www.youtube.com/watch?v=uMyKBYF48nY]
큰 도움이 되었습니다 감사합니다 🌱
'👨💻 CS지식' 카테고리의 다른 글
[ SNU 강의 ] 운영체제의 기초 | 쉽게 배우는 운영체제 5주차 (0) | 2022.07.11 |
---|---|
📢 공지 (0) | 2022.07.07 |
[ 네트워크 ] TCP/IP 네트워크 기초 상식 (0) | 2022.07.07 |
[ SNU 강의 ] 운영체제의 기초 | 쉽게 배우는 운영체제 4주차 (0) | 2022.07.05 |
[ SNU 강의 ] 운영체제의 기초 | 쉽게 배우는 운영체제 1주차 (0) | 2022.07.02 |