CS(76)
-
[CS] 운영체제 예에 대한 나름의 이해
유닉스 - 오픈소스로 공개된 운영체제 - c언어로 만들어짐 c언어는 이 운영체제를 만들기 위해서 만들어짐 - 기계어로 만들어진 것이 아니기 때문에 이식성이 좋음 - 최소한의 커널을 가지기 때문에 확장이 용이하다 - 확장성과 오픈소스라는 장점은 다른 운영체제가 만들어지는데 기여하였다 - 개인용 컴퓨터가 아닌 서버용 컴퓨터를 위한 운영체제이다 Dos - 싱글 태스크를 위해 만들어진 운영체제 - 개인용 컴퓨터를 위한 운영체제이다 이후 ms window나 handheld를 위한 os 등 다양하게 발전해나가고 있다 Referencehttps://core.ewha.ac.kr/publicview/C0101020140307151724641842?vmode=f
2023.10.10 -
[CS] 프로세스 상태에 대한 나름의 이해
프로세스의 상태는 다음과 같다. 생성, 준비, 실행, 대기, 종료 생성(new): 프로세스가 PCB를 가지지만 OS로부터 다른 자원이 준비되어야지만 준비 단계로 갈 수 있다. 준비(ready): OS의 승인을 받으면 ready queue 안으로 들어간다. 실행(running): 준비 상태에서 우선 순위에 따라 실행이 된다. 이를 디스패치라고 한다. 만약 가다가 timeout이 발생하면 다시 준비 상태로 돌아간다. (ready queue 안으로 들어간다) 대기(waiting): 입출력이나 이벤트가 발생하면 대기 상태로 간다. 끝나면 다시 준비 상태로 돌아간다. 종료(exit): 작업이 끝난 프로세스가 종료된다. 종료 되기 까지 준비, 실행, 대기 사이클을 돌게 된다.(대기는 없을 수도 있다) Referen..
2023.10.09 -
[CS] 멀티프로그램밍에 대한 유사한 명칭에 대한 나름의 이해
Multiprogramming Multiprocess Multitasking Time sharing 등은 다 유사한 개념으로 강조하는 바가 조금씩 다르다. Multiprogramming은 프로그램이 여러개가 실행될 수 있다는 것이고 Multiprocess는 이와 유사하게 프로세스가 여러 개 있을 수 있다는 것이고 Multitasking은 한번에 여러 작업을 할 수 있다는 것이고(동시에 하는 것처럼 보이게) Time sharing은 시간을 나누어서 CPU를 쓴다는 CPU에 초점을 맞춘 것이다. 다만 Multiprocessor는 하나의 컴퓨터에 프로세서(CPU)가 여러개 달려 있다는 의미로 다르다. 여러 개의 CPU로도 위의 개념들을 할 수 있지만 하나의 CPU로도 위의 개념들을 수행할 수 있다. Refer..
2023.10.09 -
[CS] 프로세스에 대한 나름의 이해
프로세스는 프로그램이 메모리에 로드된 상태를 의미한다. 프로세스는 코드, 스택, 데이터, 힙이라는 공간으로 구성된다. 프로세스의 제어를 위해 프로세스의 상태를 가지고 있는 PCB가 존재한다. fork()는 새로운 프로세스를 복제해서 만드는 함수이고 리턴값으로 부모 프로세스이면 자식 프로세스의 PID를 자식 프로세스이면 0을 준다. fork를 하면 코드 영역은 공유된다. 프로그램은 명령어의 집합이다. 프로세스에서 실제로 실행되는 흐름의 단위를 쓰레드라고 한다. 쓰레드는 하나의 프로세스에서 여러 개가 존재할 수 있다. 쓰레드는 각각의 스택을 가지지만 힙은 공유한다. 쓰레드는 사용자가 관리하냐 커널이 관리하냐에 따라서 사용자 레벨 쓰레드와 커널 레벨 쓰레드와 나누어진다. Reference https://www..
2023.10.08 -
[CS] 운영체제의 분류 정리
1. 동시 작업 가능 여부 - 싱글 태스킹: 한번에 하나의 프로세스만 처리(엘리베이터) - 멀티 태스킹: 한번에 여러 프로세스 처리 가능 2. 사용자 수 - 단일 사용자: 한명만 사용가능 - 다중 사용자: 여러 계정으로 나누어 각각의 계정이 하나의 컴퓨터를 동시에 사용 가능 3. 처리 방식 - 일괄 처리 방식(배치 프로세싱): 해야할 일들을 모아서 한번에 처리 그게 효율적이기 때문 - 시분할 방식: 오늘날의 컴퓨터. 시간을 나누어서 여러 프로세스를 처리 - 실시간 방식: 정해진 시간이 있어서 꼭 그 시간을 지키도록 엄격하게 설계 hard realtime system(미사일 제어. 엄격해야함 아니면 치명적임), soft realtime system(영화 재생. 시간별로 엄격하면 좋지만 결과가 치명적이지는 ..
2023.10.08 -
[파이썬] Pypy에 대한 짧은 이해
pypy는 rpthonr과 jit와 관련이 있다. Reference https://www.slideshare.net/YunWonJeong/pypyrpython-20-jit 알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터 알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터 - Download as a PDF or view online for free www.slideshare.net https://edykim.com/ko/post/writing-an-interpreter-with-pypy/ PyPy와 함께 인터프리터 작성하기 PyPy는 들을 때마다 호기심을 자극하는 프로젝트 중 하나인데 Python으로 Python을 작성한다는 간단히 이해..
2023.10.08