(OS) 운영체제와 메모리👨🏻💻 programming/◽ 운영체제2022. 7. 29. 18:23
Table of Contents
728x90
운영체제 OS(Operating System)는 컴퓨터 시스템의 자원들을 효율적으로 관리하여 성능을 높이고, 사용자에게 컴퓨터 사용의 편의성을 제공 하는 여러 프로그램의 집합입니다. 대표적인 운영체제는 Window, ios, Linux 가 있습니다.

GUI (grapic user interface) | 사용자가 전자장치와 상호 작용할 수 있도록 하는 사용자 인터페이스의 한 형태, 단순 명령어 창이 아닌 아이콘을 마우스로 클릭하는 단순한 동작으로 컴퓨터와 상호작용할 수 있도록 해준다. |
시스템콜 (system call) - 추상화 계층 - |
운영체제는 커널모드(Kernel Mode)와 사용자 모드(User Mode)로 나뉘는데 이를 연결하는 역할을 한다. 커널은 사용자나 응용프로그램으로부터 컴퓨터 자원을 보호하기 위해 자원에 직접 접근하는 것을 차단한다. 다시말해, 커널이 자신을 보호하며 커널에 접근하기 위한 인터페이스이다. ![]() |
커널(kernel) | 시스템의 모든 것을 완전히 통제한다. * 보안 - 컴퓨터 하드웨어와 프로세스의 보안 * 자원 관리 - 프로세스에 처리기를 할당하는 것이 스케줄링 * 추상화 - 운영체제의 복잡한 내부를 감추고 깔끔하고 일관성 있는 인터페이스를 하드웨어에 제공하기 위해 몇 가지 하드웨어 추상화들로 구현됨. |
드라이버 | 하드웨어를 제어하기 위한 소프트웨어 |

컴퓨터의 요소
CPU (Central Processing Unit) = 중앙처리장치 = Processor ![]() |
연산을 담당. | (구성: 산술논리연산장치(ALU: Arithmetic and Logic Unit), 제어장치(CU: Control Unit), 레지스터 Register) * 인터럽트(interrupt)에 의해 메모리에 저장된 명령어를 읽어 해석하고 수행하는 주체 * 명령어 사이클(Fetch/Exeution)을 반복해 프로그램을 실행 * OS의 커널이 프로그램을 메모리에 올려 프로세스로 만들면 CPU가 처리 |
메모리 (Memory) | 기억을 담당. | |
I/O (Input/Output) |
입/출력을 담당. |
(1) 중앙 처리 장치 (CPU: Central Processing Unit)
래지스터 | * 레지스터(register) CPU안에 있는 매우 빠른 임시기억장치를 가르킨다. CPU와 직접연결이 되어 있어 연산 속도가 메모리 보다 매우 빠르다. CPU는 자체적으로 데이터를 저장할 방법이 없기 때문에 레지스터를 거쳐 데이터를 전달한다. |
산술논리연산자 (ALU, Arithmetic Logic Unit) |
덧셈, 뺄셈 같은 두숫자의 산술 연산과 배타적 논리합, 곱 같은논리 연산을 계산하는 디지털 회로이다. |
제어 장치 (control unit) |
프로세서의 조작을 지시하는 중앙 처리 장치의 한 부품이다. |
(2). 메모리 (Memory)

캐시 (cahce) |
자주 사용되는 내용을 일시적으로 저장하여 프로그램 실행 속도를 향상시키기 위해 사용하는 메모리 데이터를 미리 복사한다. <캐시 용어> * 캐시히트: 캐시에서 원하는 데이터를 찾음. (CPU내부 버스를 기반으로 동작해서 빠름) * 캐시미스: 해당 데이터가 캐시에 없다면 주 메모리로 가서 데이터를 찾아옴. (시스템 버스 기반으로 동작해서 느림) * 캐시매핑: 캐시 히트되기 위해 매핑하는 방법을 말하며 CPU의 레지스터와 주 메모리(RAM)간에 데이터를 주고받을 떄를 기반으로 설명함. - directed mapping 직접 - associative mapping 연관 - set associative mapping 집합 연관 * 쿠키: 만료기한이 있는 키-값 저장소 * 로컬 스토리지: 만료기한이 없는 키-값 저장소 * 세션 스토리지: 만료기한이 없는 키-값 저장소. 탭 단위로 세션 스토리지를 생성하며, 탭을 닫을 때 해당데이터가 삭제됨. |
주기억장치 (Main Memory) |
프로그램 수행을 위해 필요한 정보에 비해 '레지스터'의 용량은 너무 작다. 따라서 주기억장치는 정보를 저장해 두었다가 필요할 때 읽어 들이는 저장소로 이용된다. -> 명령어와 데이터를 저장 < 주 기억 장치의 종류 -> RAM(Random Access Memory) + ROM(Read Only Memory) > 주소(address)를 통해 자료의 위치를 지정 - 8/16/32/64비트 단위로 읽고 씀 -> 워드(word) - 읽기/쓰기/연산 단위인 워드의 길이에 따라 성능이 달라짐 - 접근시간(Access time):읽고 쓰는데 걸리는 시간 * RAM (Random Access Memory) - 전원이 끊어지면 내용이 지워진다 * 보조 저장 장치가 반드시 필요함 - CPU에 직접 접근이 가능한 유일한 저장 장치 - RAM의 크기는 프로그램의 수행 속도에 영향을 줌 * SRAM (static RAM) - 리프레쉬가 필요없음 * 충전된 전하를 정기적으로 재충전 - 전력 소모가 적다. 비싸다 * DRAM (Dynamic RAM) - 리프레쉬가 필요 - SRAM보다 저가, 많이 사용됨 - SRAM(synchronous DRAM), DDR(Double Data Rate), SDRAM, RDRAM(Rambus DRAM) * ROM (Read Only Memory) - 대부분 읽을 수만 있는 장치 - 전원이 끊겨도 내용이 보존됨. 컴퓨터 부팅시 자동으로 수행되는 명령어 저장 * PROM(Programmable ROM) - 한번 프로그램 가능 * EPROM (Erasable PROM) - 내용 변경 가능 |
보조기억장치 | - 프로그램이나 자료를 영구적으로 기억할 수 있는 기억장치 - 주기억장치에 비해 기억된 애용을 읽는 속도는 느리지만 대용량 기억이 가능 - 현재 사용하지 않는 프로그램은 보조 기억 장치에 저장 - 작업이 수행될 때, 보조 기억 장치에서 주 기억 장치로 정보를 이동함(program loading) - 보조기억장치 종류: FDD, HDD, CD, DVD USB, CF(compact flash), SSD(solid state drive) |
※ 참고 문헌: 위키백과, (도서) 면접을 위한 CS 전공지식 노트
728x90
'👨🏻💻 programming > ◽ 운영체제' 카테고리의 다른 글
(OS) CPU 스케줄링 (0) | 2022.12.13 |
---|---|
(OS) TCP/IP, UDP 계층구조, OSI (2) | 2022.09.20 |
(OS) 네트워크 기초 (0) | 2022.09.07 |
(OS) 프로세스와 스레드 (1) | 2022.08.03 |
(OS) 자료형, 데이터 크기 및 정수 제한 <limits> (1) | 2022.07.06 |
@핑크코냥 :: 핑크코냥
안 하는 것 보다 낫겠지
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!