일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- leetcode
- 알고리즘
- 백준
- 정렬
- 1차면접
- 카카오
- 마곡속눈썹연장
- 추석트래픽
- 삼성SW역량테스트
- level2
- 삼성 SW역량테스트 기출
- 다시보기
- Java
- 삼성
- 등촌동속눈썹펌
- 리트코드
- 등촌동속눈썹연장
- 코딩테스트
- 운영체제
- ai/bigdata
- OS
- 직무면접
- 포스코
- 마곡속눈썹펌
- 투포인터
- BOJ
- 프로그래머스
- 시뮬레이션
- 딥러닝
- 수학
- Today
- Total
목록운영체제 (6)
기록하는 습관을 들이자
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dFopQ8/btqHVmOuZV0/paqIHKySO8v1MoLbm6yJLK/img.jpg)
※ 해당 포스팅은 이화여대 반효경 교수님 저서 [운영체제와 정보기술의 원리] 책 내용을 기반으로 작성되었습니다. 우리가 사는 집마다 고유의 주소가 있듯이 메모리 역시 주소를 통해 접근하는 저장장치이다. 우리가 사용하는 컴퓨터 시스템은 흔히 32비트 혹은 64비트 주소 체계를 사용한다. -> 32비트 주소 체계를 사용할 경우 2^32가지 서로 다른 메모리 위치를 구분할 수 있으며, 컴퓨터에서는 byte 단위로 메모리 주소를 부여하기 때문에 2^32 바이트만큼의 메모리 공간에 서로 다른 주소를 할당할 수 있다! 1. 주소 바인딩 앞 장에서 살펴보았듯이 프로그램이 실행을 위해 메모리에 적재되면 그 프로세스를 위한 독자적인 주소 공간이 생성된다. 이 주소를 논리적 주소(logical address) 혹은 가상 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cbfYoR/btqH3yGSfnv/nwjpafQa0mIU14oCk3bI91/img.jpg)
※ 해당 포스팅은 이화여대 반효경 교수님 저서 [운영체제와 정보기술의 원리] 책 내용을 기반으로 작성되었습니다. CPU는 프로그램의 기계어 명령을 실제로 수행하는 컴퓨터 내의 중앙처리장치이다. 기계어 명령은 크게 CPU 내에서 수행되는 명령, 메모리 접근을 필요로 하는 명령, 입출력을 동반하는 명령으로 나눌 수 있다. CPU 내에서 수행되는 명령의 예: ADD 명령(레지스터 값들 더함) - 속도 빠름 메모리 접근을 수행하는 명령의 예: LOAD, STORE 명령(메모리에 있는 데이터를 읽고 쓴다) - CPU 내 명령보다는 시간이 소요되지만 비교적 빠른 시간에 수행 가능 입출력을 동반하는 명령: 특권 명령 - 운영체제가 대행 by 시스템 콜 이처럼, 사용자 프로그램이 실행되는 과정은 CPU 작업과 I/O ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bZ41YJ/btqHO0FCIlb/vcMkwzHk6tu5DoHQZ7hMWk/img.jpg)
※ 해당 포스팅은 이화여대 반효경 교수님 저서 [운영체제와 정보기술의 원리] 책 내용을 기반으로 작성되었습니다. 1. 프로세스의 개념 프로세스란 실행 중인 프로그램을 뜻한다. (program in execution) 프로세스가 시작해서 종료할 때까지 CPU에서 명령을 한꺼번에 수행하면 좋겠지만, 현대의 운영체제는 여러 프로세스가 함께 수행되는 시분할 시스템이다. 따라서 타이머 인터럽트에 의해 짧은 시간 동안 CPU를 사용한 후 빼앗기는 상황이 반복되기에 이전에 어느 명령까지 수행했는지 정확한 상태를 재현할 필요가 있다. -> 이 때 필요한 정보가 바로 프로세스의 문맥(context)! 보통 프로세스의 문맥(context)는 커널의 PCB에 저장된다. 2. 프로세스의 상태 프로세스의 상태는 실행(runni..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/HMIPK/btqHUbzpxca/XPSrPSRWuZ15qc3m8J97GK/img.jpg)
※ 해당 포스팅은 이화여대 반효경 교수님 저서 [운영체제와 정보기술의 원리] 책 내용을 기반으로 작성되었습니다. 1. 프로그램의 구조와 인터럽트 우리가 사용하는 컴퓨터 프로그램의 내부 구조는 함수들로 구성된다. 프로그램이 CPU에서 명령을 수행하려면 해당 명령을 담은 프로그램의 주소 영역이 메모리에 올라가 있어야 하며, 그 주소 영역은 크게 코드(code), 데이터(data), 스택(stack) 영역으로 구분된다. ※ 코드 영역 : 프로그래머가 작성한 프로그램 함수들의 코드가 기계어 형태로 변환되어 저장되는 부분 데이터 영역 : 전역 변수 등 프로그램이 사용하는 데이터를 저장하는 부분 스택 영역 : 함수가 호출될 때 호출된 함수의 수행을 마치고 복귀할 주소 및 데이터를 임시 저장하는 부분 일반적으로 프로..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bKfJ5Z/btqHYIDdpxX/UGpS2KYaIPbcT2epKDA4GK/img.jpg)
※ 해당 포스팅은 이화여대 반효경 교수님 저서 [운영체제와 정보기술의 원리] 책 내용을 기반으로 작성되었습니다. 1. 컴퓨터 시스템의 구조 컴퓨터 시스템의 구조는 컴퓨터 내부장치인 CPU, 메모리와 컴퓨터 외부장치인 디스크, 키보드, 프린터 등의 장치로 구성된다. 메모리 및 각종 입출력장치 등의 하드웨어 장치에는 각 장치에 관한 업무를 처리해주는 CPU인 컨트롤러가 존재. 2. CPU 연산과 I/O 연산 CPU 연산과 I/O 연산은 수행되는 곳이 서로 다르기 때문에 동시에 수행될 수 있다. I/O 연산은 입출력 장치에 붙어있는 컨트롤러가 해당 입출력 장치로부터 데이터를 읽어와 컨트롤러에 내장된 로컬 버퍼에 데이터를 임시로 저장하는 일이고, CPU 연산은 CPU가 주어진 작업을 수행하는 일이므로 독립적인 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/NUiOf/btqHNwR9ti6/rZn4nikXjnlTms0hh0ZHJK/img.jpg)
※ 해당 포스팅은 이화여대 반효경 교수님 저서 [운영체제와 정보기술의 원리] 책 내용을 기반으로 작성되었습니다. 운영체제란 컴퓨터 시스템의 가장 기초적인 소프트웨어라고 볼 수 있다. 컴퓨터 시스템 내의 모든 하드웨어와 소프트웨어를 효율적으로 관리해주는 역할을 하며, 일부 프로그램이 자원 할당과 관련하여 차별받지 않도록 형평성 측면까지 고려하여 의사결정을 하는 소프트웨어라고 볼 수 있다. -> 따라서, 운영체제의 의사결정 원리를 이해하는 것은 우리 사회의 통치 개념을 이해하는 것과 같은 맥락이 될 수 있으며, 그 기반은 효율성과 형평성이다. 튜링 머신 튜링 머신은 오늘날 컴퓨터의 근간이 되는 이론적 모델이라고 할 수 있다. 현실 속 문제를 수학 및 논리적 문제로 표현하고 이를 특정 알고리즘을 이용하여 해결..